문서 / MCP 연결과 도구 참조

MCP 연결과 도구 참조

AI 에이전트에 조립스페이스를 연결하고, 사용할 수 있는 도구와 필요한 입력 항목을 살펴보세요.

MCP 클라이언트 연결

MCP를 연결하면 AI 에이전트가 대화 중에 조립스페이스 프로젝트를 조회하고 필요한 도구를 사용할 수 있습니다. 원격 Streamable HTTP 연결을 지원하므로 클라이언트에 아래 URL을 등록하면 됩니다. 컴퓨터에 조립스페이스 MCP 패키지를 따로 설치할 필요는 없습니다.

에이전트가 터미널에서 명령을 설치하고 실행할 수 있는 환경이라면 CLI로 먼저 시작하세요. 원격 연결을 제공하는 클라이언트에서는 MCP를 사용할 수 있습니다.

MCP URL
https://api.joripspace.com/mcp
CLI
codex mcp add joripspace --url https://api.joripspace.com/mcp
codex mcp login joripspace
CLI
claude mcp add --transport http joripspace --scope user https://api.joripspace.com/mcp

Claude Code에서는 /mcp를 열어 조립스페이스에 로그인하세요. 다른 클라이언트는 서버 URL을 등록한 뒤 OAuth 또는 로그인 메뉴를 사용합니다. 서버를 등록하고 브라우저 승인까지 마치면 계정에 연결됩니다. CLI를 사용하고 있더라도 MCP 클라이언트에서는 별도로 로그인해야 합니다.

인증과 프로젝트 세션

로그인을 마쳤다면 에이전트에게 프로젝트 연결을 요청해 보세요. start_project_session에 프로젝트 이름을 전달하면 현재 상태를 확인할 수 있습니다. 아래 JSON-RPC 예제는 이 도구를 호출하는 요청입니다.

연결 코드를 사용하는 클라이언트라면 MCP 연결을 먼저 초기화하고 반환된 Mcp-Session-Id를 유지합니다. 5분 일회용 코드로 exchange_connection_code를 호출한 뒤 같은 세션에서 start_project_session을 실행하세요. 인증정보는 서버에서 관리하므로 응답에 API 토큰이 포함되지 않습니다.

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_project_session",
    "arguments": {
      "project_id": "PROJECT"
    }
  }
}

응답에는 프로젝트 선택과 작업 폴더 준비에 필요한 안내가 담깁니다. 에이전트는 기존 프로젝트 지침을 유지하면서 작업을 이어갈 수 있습니다. 나중에 CLI로 전환하려면 저장된 CLI 로그인을 사용하거나 joripspace login으로 연결하세요. MCP 클라이언트에서 인증정보를 복사할 필요는 없습니다.

필요한 도구와 안내 찾기

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

tools/list로 사용 가능한 도구를 볼 수 있습니다. 각 도구의 inputSchema에는 어떤 정보를 입력해야 하는지 설명되어 있습니다. 에이전트는 search_knowledge로 작업에 맞는 안내를 검색하고, resources/list에서 매뉴얼을 찾아 resources/read로 읽을 수도 있습니다.

예를 들어 manual://mcp/tools는 도구 사용법을, manual://debug/operations는 운영 점검 방법을 안내합니다. 이 리소스는 브라우저 대신 MCP 클라이언트에서 열어 보세요. 필요한 안내를 그때 찾아 읽을 수 있어 모든 도구 옵션을 AGENTS.md에 옮겨 적을 필요가 없습니다.

도구 참조

아래 도구를 펼치면 필요한 입력 항목과 권한, 관련 CLI 명령을 확인할 수 있습니다. 목록은 서버의 도구 정의에 맞춰 갱신됩니다. 현재 연결에서 사용할 수 있는 도구와 입력 항목은 MCP 클라이언트에서도 확인할 수 있습니다. 로그인을 마친 연결에서는 도구를 호출할 때마다 API 토큰을 입력할 필요가 없습니다.

get_current_api_token

CLI: joripspace tokens current

인증: 계정 로그인

API: GET /v1/me/tokens/current

추가로 입력할 항목이 없습니다.

revoke_api_token

CLI: joripspace tokens revoke

인증: 계정 로그인

API: DELETE /v1/me/tokens/{token_id}

입력 항목자료형필수 여부
token_idstring예
get_realtime_v2

CLI: joripspace realtime-v2 status

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/realtime-v2

입력 항목자료형필수 여부
project_idstring예
manage_realtime_v2

CLI: joripspace realtime-v2 activate

인증: 프로젝트 접근 권한 · project.secrets.generate

API: POST /v1/projects/{project_id}/realtime-v2/activate

입력 항목자료형필수 여부
project_idstring예
actionstring · activate / rotate / disable / revoke-key예
kidstring아니요
start_login

CLI: joripspace login

인증: 로그인 없이 사용

API: GET https://joripspace.com/connect/

추가로 입력할 항목이 없습니다.

browser_connect

CLI: joripspace login

인증: 로그인 없이 사용

API: GET https://joripspace.com/connect/

추가로 입력할 항목이 없습니다.

exchange_connection_code

CLI: joripspace login

인증: 로그인 없이 사용

API: POST /v1/auth/connection-code/exchange

입력 항목자료형필수 여부
codestring예
search_knowledge

CLI: joripspace knowledge search

인증: 로그인 없이 사용

API: GET /v1/knowledge/search

입력 항목자료형필수 여부
querystring예
limitnumber아니요
start_project_session

CLI: joripspace start

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/me/projects

입력 항목자료형필수 여부
project_idstring아니요
get_session_context

CLI: joripspace me

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/me/projects

추가로 입력할 항목이 없습니다.

list_my_projects

CLI: joripspace projects

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/me/projects

추가로 입력할 항목이 없습니다.

select_project

CLI: joripspace link

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}

입력 항목자료형필수 여부
project_idstring예
list_templates

CLI: joripspace template list

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/templates

입력 항목자료형필수 여부
project_idstring예
cursorstring아니요
prepare_project_workspace

CLI: joripspace link

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}

입력 항목자료형필수 여부
project_idstring예
deploy_code

CLI: joripspace deploy

인증: 프로젝트 접근 권한 · project.deploy

API: POST /v1/projects/{project_id}/deploy

입력 항목자료형필수 여부
project_idstring예
labelstring예
entrypointstring예
filesobject예
deployment_verificationobject예
get_project

CLI: joripspace get

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}

입력 항목자료형필수 여부
project_idstring예
create_project

CLI: joripspace create

인증: 계정 로그인

API: POST /v1/projects

입력 항목자료형필수 여부
namestring예
planstring · free아니요
confirmedboolean아니요
free_project_noncommercial_agreementboolean아니요
billing_agreementboolean아니요
free_project_retention_agreementboolean아니요
prepare_github_workflow

CLI: joripspace github prepare

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}

입력 항목자료형필수 여부
project_idstring예
entrypointstring예
package_buildboolean아니요
describe_db

CLI: joripspace db schema

인증: 프로젝트 접근 권한 · project.db.read

API: GET /v1/projects/{project_id}/db/schema

입력 항목자료형필수 여부
project_idstring예
query_db

CLI: joripspace db query

인증: 프로젝트 접근 권한 · project.db.read

API: POST /v1/projects/{project_id}/db/query

입력 항목자료형필수 여부
project_idstring예
sqlstring예
run_db_migration

CLI: joripspace db migrate

인증: 프로젝트 접근 권한 · project.db.write

API: POST /v1/projects/{project_id}/db/migrations

입력 항목자료형필수 여부
project_idstring예
namestring아니요
sqlstring예
list_storage_objects

CLI: joripspace storage list

인증: 프로젝트 접근 권한 · project.storage.read

API: GET /v1/projects/{project_id}/storage/objects

입력 항목자료형필수 여부
project_idstring예
prefixstring아니요
cursorstring아니요
limitnumber아니요
read_storage_object

CLI: joripspace storage get

인증: 프로젝트 접근 권한 · project.storage.read

API: GET /v1/projects/{project_id}/storage/objects/{key}

입력 항목자료형필수 여부
project_idstring예
keystring예
write_storage_object

CLI: joripspace storage put

인증: 프로젝트 접근 권한 · project.storage.write

API: PUT /v1/projects/{project_id}/storage/objects/{key}

입력 항목자료형필수 여부
project_idstring예
keystring예
textstring아니요
base64string아니요
content_typestring아니요
delete_storage_object

CLI: joripspace storage delete

인증: 프로젝트 접근 권한 · project.storage.write

API: DELETE /v1/projects/{project_id}/storage/objects/{key}

입력 항목자료형필수 여부
project_idstring예
keystring예
list_deployments

CLI: joripspace deployments

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/deployments

입력 항목자료형필수 여부
include_failure_detailsboolean아니요
project_idstring예
limitnumber아니요
get_deployment_source

CLI: joripspace deployment pull

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/deployments/{deployment_id}/source

입력 항목자료형필수 여부
project_idstring예
deployment_idstring예
rollback_deployment

CLI: joripspace rollback

인증: 프로젝트 접근 권한 · project.rollback

API: POST /v1/projects/{project_id}/deployments/{deployment_id}/rollback

입력 항목자료형필수 여부
project_idstring예
deployment_idstring예
create_checkpoint

CLI: joripspace checkpoint save

인증: 프로젝트 접근 권한 · project.checkpoint.write

API: POST /v1/projects/{project_id}/checkpoint-uploads

입력 항목자료형필수 여부
project_idstring예
labelstring예
source_typestring · manual / agent / restore_safety아니요
idempotency_keystring아니요
list_checkpoints

CLI: joripspace checkpoint list

인증: 프로젝트 접근 권한 · project.checkpoint.read

API: GET /v1/projects/{project_id}/checkpoints

입력 항목자료형필수 여부
project_idstring예
limitnumber아니요
cursorstring아니요
get_checkpoint

CLI: joripspace checkpoint get

인증: 프로젝트 접근 권한 · project.checkpoint.read

API: GET /v1/projects/{project_id}/checkpoints/{checkpoint_id}

입력 항목자료형필수 여부
project_idstring예
checkpoint_idstring예
restore_checkpoint

CLI: joripspace checkpoint restore

인증: 프로젝트 접근 권한 · project.checkpoint.read

API: GET /v1/projects/{project_id}/checkpoints/{checkpoint_id}/restore-plan

입력 항목자료형필수 여부
project_idstring예
checkpoint_idstring예
deploy_checkpoint

CLI: joripspace checkpoint deploy

인증: 프로젝트 접근 권한 · project.checkpoint.deploy

API: POST /v1/projects/{project_id}/checkpoints/{checkpoint_id}/deploy

입력 항목자료형필수 여부
project_idstring예
checkpoint_idstring예
deployment_verificationobject예
update_checkpoint

CLI: joripspace checkpoint update

인증: 프로젝트 접근 권한 · project.checkpoint.write

API: PATCH /v1/projects/{project_id}/checkpoints/{checkpoint_id}

입력 항목자료형필수 여부
project_idstring예
checkpoint_idstring예
labelstring,null아니요
pinnedboolean아니요
delete_checkpoint

CLI: joripspace checkpoint delete

인증: 프로젝트 접근 권한 · project.checkpoint.delete

API: DELETE /v1/projects/{project_id}/checkpoints/{checkpoint_id}

입력 항목자료형필수 여부
project_idstring예
checkpoint_idstring예
generate_project_secret

CLI: joripspace secret generate

인증: 프로젝트 접근 권한 · project.secrets.generate

API: POST /v1/projects/{project_id}/secrets/generate

입력 항목자료형필수 여부
project_idstring예
namestring예
get_usage_summary

CLI: joripspace usage-summary

인증: 프로젝트 접근 권한 · usage.read

API: GET /v1/projects/{project_id}/usage/summary

입력 항목자료형필수 여부
project_idstring예
fromstring아니요
tostring아니요
get_usage_breakdown

CLI: joripspace usage-breakdown

인증: 프로젝트 접근 권한 · usage.read

API: GET /v1/projects/{project_id}/usage/breakdown

입력 항목자료형필수 여부
project_idstring예
fromstring아니요
tostring아니요
group_bystring · hour / day아니요
list_secrets

CLI: joripspace secret list

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/secrets

입력 항목자료형필수 여부
project_idstring예
list_runtime_events

CLI: joripspace events

인증: 프로젝트 접근 권한 · logs.read

API: GET /v1/projects/{project_id}/runtime-events

입력 항목자료형필수 여부
project_idstring예
event_typestring · request / error아니요
limitnumber아니요
list_crons

CLI: joripspace crons

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/crons

입력 항목자료형필수 여부
project_idstring예
create_cron

CLI: joripspace cron create

인증: 프로젝트 접근 권한 · project.crons.write

API: POST /v1/projects/{project_id}/crons

입력 항목자료형필수 여부
project_idstring예
namestring아니요
schedulestring예
methodstring · GET / POST아니요
pathstring예
run_cron

CLI: joripspace cron run

인증: 프로젝트 접근 권한 · project.crons.write

API: POST /v1/projects/{project_id}/crons/{cron_id}/run

입력 항목자료형필수 여부
project_idstring예
cron_idstring예
delete_cron

CLI: joripspace cron delete

인증: 프로젝트 접근 권한 · project.crons.write

API: DELETE /v1/projects/{project_id}/crons/{cron_id}

입력 항목자료형필수 여부
project_idstring예
cron_idstring예
list_domains

CLI: joripspace domains

인증: 프로젝트 접근 권한 · project.read

API: GET /v1/projects/{project_id}/domains

입력 항목자료형필수 여부
project_idstring예
cursorstring아니요
limitnumber아니요
create_domain

CLI: joripspace domain create

인증: 프로젝트 접근 권한 · project.domains.write

API: POST /v1/projects/{project_id}/domains

입력 항목자료형필수 여부
project_idstring예
hostnamestring예
verify_domain

CLI: joripspace domain verify

인증: 프로젝트 접근 권한 · project.domains.write

API: POST /v1/projects/{project_id}/domains/{hostname}/verify

입력 항목자료형필수 여부
project_idstring예
hostnamestring예
delete_domain

CLI: joripspace domain delete

인증: 프로젝트 접근 권한 · project.domains.write

API: DELETE /v1/projects/{project_id}/domains/{hostname}

입력 항목자료형필수 여부
project_idstring예
hostnamestring예
connect_mail

CLI: joripspace mail connect

인증: 프로젝트 접근 권한 · project.mail.read

API: GET /v1/projects/{project_id}/mail/status

입력 항목자료형필수 여부
project_idstring예
get_mail_status

CLI: joripspace mail status

인증: 프로젝트 접근 권한 · project.mail.read

API: GET /v1/projects/{project_id}/mail/status

입력 항목자료형필수 여부
project_idstring예
send_test_mail

CLI: joripspace mail test

인증: 프로젝트 접근 권한 · project.mail.send

API: POST /v1/projects/{project_id}/mail/test

입력 항목자료형필수 여부
project_idstring예
tostring아니요
subjectstring아니요

프로젝트 권한과 연결 토큰

MCP 도구는 로그인한 계정의 프로젝트 권한으로 동작합니다. 프로젝트를 사용할 수 없다면 해당 계정의 접근 권한을 확인해 보세요. MCP에서는 비밀값을 표시하지 않고 Secret을 생성하거나 이름을 조회할 수 있습니다. 외부 서비스에서 발급한 키를 등록·교체하려면 CLI의 secret set --value-stdin 또는 프로젝트 비밀 키 화면을 사용하세요. 문제 신고나 개선 제안은 CLI의 report로 보낼 수 있습니다.

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "revoke_api_token",
    "arguments": {
      "token_id": "current"
    }
  }
}

위 예제는 현재 연결에 사용된 토큰을 폐기합니다. 토큰이 노출되는 등 연결을 사용 중지해야 할 때 실행하세요. 먼저 get_current_api_token으로 ID를 확인할 수 있습니다. 같은 계정의 다른 토큰을 폐기하려면 revoke_api_token에 current 대신 해당 토큰의 정확한 ID를 넣습니다.

현재 토큰을 폐기하면 연결이 끊기므로 새 코드로 다시 연결해야 합니다. 토큰 값은 대화·신고 내용·로그에 남기지 않도록 주의해 주세요.