Docs / MCP connection and tool reference

MCP connection and tool reference

Connect your AI agent to JoripSpace and explore the available tools and their inputs.

Connect your MCP client

MCP connects your AI agent to JoripSpace so it can look up projects and use tools during your conversation. The server supports remote Streamable HTTP connections. Add the URL below to your client; there is no JoripSpace MCP package to install locally.

When your agent can install and run commands in a terminal, start with the CLI. You can use MCP in clients that provide a remote connection.

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

In Claude Code, open /mcp and sign in to JoripSpace. In other clients, add the server URL and choose the OAuth or sign-in option. After registering the server, finish browser authorization to give the client access to your account. If you already use the CLI, you will still need to sign in separately in the MCP client.

Authentication and project sessions

Once signed in, ask your agent to connect your project. It uses start_project_session with the project name to check the current state. The following JSON-RPC example shows that call.

If your client uses a connection code, initialize its MCP connection first and keep the returned Mcp-Session-Id. Exchange the five-minute code with exchange_connection_code, then call start_project_session in the same session. The server keeps the authentication details, so the response does not contain an API token.

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

The response guides you through project selection and workspace setup. Your agent can use it to continue existing work while keeping your project instructions. To switch to the CLI later, reuse a saved CLI login or run joripspace login. There is no need to copy credentials from the MCP client.

Find tools and relevant guidance

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

Use tools/list to see the available tools. Each tool includes an inputSchema describing the information it accepts. Your agent can also find task guidance with search_knowledge, browse manuals with resources/list and open a relevant manual with resources/read.

For example, manual://mcp/tools explains tool usage, while manual://debug/operations covers operational checks. Open these resources through your MCP client rather than a browser. This lets your agent look up the guidance it needs without copying every tool option into AGENTS.md.

Tool reference

Expand a tool below to see its inputs, required permissions and related CLI command. The list follows the server’s tool definitions. Your MCP client shows the tools available to your connection and their current inputs. Once signed in, you can use the connection without entering an API token for each call.

get_current_api_token

CLI: joripspace tokens current

Authentication: Account sign-in

API: GET /v1/me/tokens/current

No additional input is needed.

revoke_api_token

CLI: joripspace tokens revoke

Authentication: Account sign-in

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

InputTypeRequired
token_idstringYes
get_realtime_v2

CLI: joripspace realtime-v2 status

Authentication: Project access · project.read

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

InputTypeRequired
project_idstringYes
manage_realtime_v2

CLI: joripspace realtime-v2 activate

Authentication: Project access · project.secrets.generate

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

InputTypeRequired
project_idstringYes
actionstring · activate / rotate / disable / revoke-keyYes
kidstringNo
start_login

CLI: joripspace login

Authentication: No sign-in needed

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

No additional input is needed.

browser_connect

CLI: joripspace login

Authentication: No sign-in needed

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

No additional input is needed.

exchange_connection_code

CLI: joripspace login

Authentication: No sign-in needed

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

InputTypeRequired
codestringYes
search_knowledge

CLI: joripspace knowledge search

Authentication: No sign-in needed

API: GET /v1/knowledge/search

InputTypeRequired
querystringYes
limitnumberNo
start_project_session

CLI: joripspace start

Authentication: Project access · project.read

API: GET /v1/me/projects

InputTypeRequired
project_idstringNo
get_session_context

CLI: joripspace me

Authentication: Project access · project.read

API: GET /v1/me/projects

No additional input is needed.

list_my_projects

CLI: joripspace projects

Authentication: Project access · project.read

API: GET /v1/me/projects

No additional input is needed.

select_project

CLI: joripspace link

Authentication: Project access · project.read

API: GET /v1/projects/{project_id}

InputTypeRequired
project_idstringYes
list_templates

CLI: joripspace template list

Authentication: Project access · project.read

API: GET /v1/templates

InputTypeRequired
project_idstringYes
cursorstringNo
prepare_project_workspace

CLI: joripspace link

Authentication: Project access · project.read

API: GET /v1/projects/{project_id}

InputTypeRequired
project_idstringYes
deploy_code

CLI: joripspace deploy

Authentication: Project access · project.deploy

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

InputTypeRequired
project_idstringYes
labelstringYes
entrypointstringYes
filesobjectYes
deployment_verificationobjectYes
get_project

CLI: joripspace get

Authentication: Project access · project.read

API: GET /v1/projects/{project_id}

InputTypeRequired
project_idstringYes
create_project

CLI: joripspace create

Authentication: Account sign-in

API: POST /v1/projects

InputTypeRequired
namestringYes
planstring · freeNo
confirmedbooleanNo
free_project_noncommercial_agreementbooleanNo
billing_agreementbooleanNo
free_project_retention_agreementbooleanNo
prepare_github_workflow

CLI: joripspace github prepare

Authentication: Project access · project.read

API: GET /v1/projects/{project_id}

InputTypeRequired
project_idstringYes
entrypointstringYes
package_buildbooleanNo
describe_db

CLI: joripspace db schema

Authentication: Project access · project.db.read

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

InputTypeRequired
project_idstringYes
query_db

CLI: joripspace db query

Authentication: Project access · project.db.read

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

InputTypeRequired
project_idstringYes
sqlstringYes
run_db_migration

CLI: joripspace db migrate

Authentication: Project access · project.db.write

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

InputTypeRequired
project_idstringYes
namestringNo
sqlstringYes
list_storage_objects

CLI: joripspace storage list

Authentication: Project access · project.storage.read

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

InputTypeRequired
project_idstringYes
prefixstringNo
cursorstringNo
limitnumberNo
read_storage_object

CLI: joripspace storage get

Authentication: Project access · project.storage.read

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

InputTypeRequired
project_idstringYes
keystringYes
write_storage_object

CLI: joripspace storage put

Authentication: Project access · project.storage.write

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

InputTypeRequired
project_idstringYes
keystringYes
textstringNo
base64stringNo
content_typestringNo
delete_storage_object

CLI: joripspace storage delete

Authentication: Project access · project.storage.write

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

InputTypeRequired
project_idstringYes
keystringYes
list_deployments

CLI: joripspace deployments

Authentication: Project access · project.read

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

InputTypeRequired
include_failure_detailsbooleanNo
project_idstringYes
limitnumberNo
get_deployment_source

CLI: joripspace deployment pull

Authentication: Project access · project.read

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

InputTypeRequired
project_idstringYes
deployment_idstringYes
rollback_deployment

CLI: joripspace rollback

Authentication: Project access · project.rollback

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

InputTypeRequired
project_idstringYes
deployment_idstringYes
create_checkpoint

CLI: joripspace checkpoint save

Authentication: Project access · project.checkpoint.write

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

InputTypeRequired
project_idstringYes
labelstringYes
source_typestring · manual / agent / restore_safetyNo
idempotency_keystringNo
list_checkpoints

CLI: joripspace checkpoint list

Authentication: Project access · project.checkpoint.read

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

InputTypeRequired
project_idstringYes
limitnumberNo
cursorstringNo
get_checkpoint

CLI: joripspace checkpoint get

Authentication: Project access · project.checkpoint.read

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

InputTypeRequired
project_idstringYes
checkpoint_idstringYes
restore_checkpoint

CLI: joripspace checkpoint restore

Authentication: Project access · project.checkpoint.read

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

InputTypeRequired
project_idstringYes
checkpoint_idstringYes
deploy_checkpoint

CLI: joripspace checkpoint deploy

Authentication: Project access · project.checkpoint.deploy

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

InputTypeRequired
project_idstringYes
checkpoint_idstringYes
deployment_verificationobjectYes
update_checkpoint

CLI: joripspace checkpoint update

Authentication: Project access · project.checkpoint.write

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

InputTypeRequired
project_idstringYes
checkpoint_idstringYes
labelstring,nullNo
pinnedbooleanNo
delete_checkpoint

CLI: joripspace checkpoint delete

Authentication: Project access · project.checkpoint.delete

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

InputTypeRequired
project_idstringYes
checkpoint_idstringYes
generate_project_secret

CLI: joripspace secret generate

Authentication: Project access · project.secrets.generate

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

InputTypeRequired
project_idstringYes
namestringYes
get_usage_summary

CLI: joripspace usage-summary

Authentication: Project access · usage.read

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

InputTypeRequired
project_idstringYes
fromstringNo
tostringNo
get_usage_breakdown

CLI: joripspace usage-breakdown

Authentication: Project access · usage.read

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

InputTypeRequired
project_idstringYes
fromstringNo
tostringNo
group_bystring · hour / dayNo
list_secrets

CLI: joripspace secret list

Authentication: Project access · project.read

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

InputTypeRequired
project_idstringYes
list_runtime_events

CLI: joripspace events

Authentication: Project access · logs.read

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

InputTypeRequired
project_idstringYes
event_typestring · request / errorNo
limitnumberNo
list_crons

CLI: joripspace crons

Authentication: Project access · project.read

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

InputTypeRequired
project_idstringYes
create_cron

CLI: joripspace cron create

Authentication: Project access · project.crons.write

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

InputTypeRequired
project_idstringYes
namestringNo
schedulestringYes
methodstring · GET / POSTNo
pathstringYes
run_cron

CLI: joripspace cron run

Authentication: Project access · project.crons.write

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

InputTypeRequired
project_idstringYes
cron_idstringYes
delete_cron

CLI: joripspace cron delete

Authentication: Project access · project.crons.write

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

InputTypeRequired
project_idstringYes
cron_idstringYes
list_domains

CLI: joripspace domains

Authentication: Project access · project.read

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

InputTypeRequired
project_idstringYes
cursorstringNo
limitnumberNo
create_domain

CLI: joripspace domain create

Authentication: Project access · project.domains.write

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

InputTypeRequired
project_idstringYes
hostnamestringYes
verify_domain

CLI: joripspace domain verify

Authentication: Project access · project.domains.write

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

InputTypeRequired
project_idstringYes
hostnamestringYes
delete_domain

CLI: joripspace domain delete

Authentication: Project access · project.domains.write

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

InputTypeRequired
project_idstringYes
hostnamestringYes
connect_mail

CLI: joripspace mail connect

Authentication: Project access · project.mail.read

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

InputTypeRequired
project_idstringYes
get_mail_status

CLI: joripspace mail status

Authentication: Project access · project.mail.read

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

InputTypeRequired
project_idstringYes
send_test_mail

CLI: joripspace mail test

Authentication: Project access · project.mail.send

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

InputTypeRequired
project_idstringYes
tostringNo
subjectstringNo

Project access and connection tokens

MCP tools use the permissions of the account you signed in with. If a project is unavailable, check that account’s access to it. You can generate Secrets and view their names through MCP without displaying their values. To register or replace a provider-issued key, use secret set --value-stdin in the CLI or enter it on the project Secret page. To send a problem report or suggestion, use the CLI report command.

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

The example above revokes the token used by the current connection. Run it when you need to disable that connection, such as after a token exposure. You can first check the ID with get_current_api_token. To revoke another token in the same account, pass its exact ID to revoke_api_token instead of current.

Revoking the current token ends the connection, so use a new code to connect again. Keep token values out of conversations, reports and logs.