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.
https://api.joripspace.com/mcpcodex mcp add joripspace --url https://api.joripspace.com/mcp
codex mcp login joripspaceclaude mcp add --transport http joripspace --scope user https://api.joripspace.com/mcpIn 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.
{
"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
{
"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}
| Input | Type | Required |
|---|---|---|
token_id | string | Yes |
get_realtime_v2
CLI: joripspace realtime-v2 status
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/realtime-v2
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
manage_realtime_v2
CLI: joripspace realtime-v2 activate
Authentication: Project access · project.secrets.generate
API: POST /v1/projects/{project_id}/realtime-v2/activate
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
action | string · activate / rotate / disable / revoke-key | Yes |
kid | string | No |
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
| Input | Type | Required |
|---|---|---|
code | string | Yes |
search_knowledge
CLI: joripspace knowledge search
Authentication: No sign-in needed
API: GET /v1/knowledge/search
| Input | Type | Required |
|---|---|---|
query | string | Yes |
limit | number | No |
start_project_session
CLI: joripspace start
Authentication: Project access · project.read
API: GET /v1/me/projects
| Input | Type | Required |
|---|---|---|
project_id | string | No |
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}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
list_templates
CLI: joripspace template list
Authentication: Project access · project.read
API: GET /v1/templates
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
cursor | string | No |
prepare_project_workspace
CLI: joripspace link
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
deploy_code
CLI: joripspace deploy
Authentication: Project access · project.deploy
API: POST /v1/projects/{project_id}/deploy
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
label | string | Yes |
entrypoint | string | Yes |
files | object | Yes |
deployment_verification | object | Yes |
get_project
CLI: joripspace get
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
create_project
CLI: joripspace create
Authentication: Account sign-in
API: POST /v1/projects
| Input | Type | Required |
|---|---|---|
name | string | Yes |
plan | string · free | No |
confirmed | boolean | No |
free_project_noncommercial_agreement | boolean | No |
billing_agreement | boolean | No |
free_project_retention_agreement | boolean | No |
prepare_github_workflow
CLI: joripspace github prepare
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
entrypoint | string | Yes |
package_build | boolean | No |
describe_db
CLI: joripspace db schema
Authentication: Project access · project.db.read
API: GET /v1/projects/{project_id}/db/schema
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
query_db
CLI: joripspace db query
Authentication: Project access · project.db.read
API: POST /v1/projects/{project_id}/db/query
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
sql | string | Yes |
run_db_migration
CLI: joripspace db migrate
Authentication: Project access · project.db.write
API: POST /v1/projects/{project_id}/db/migrations
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
name | string | No |
sql | string | Yes |
list_storage_objects
CLI: joripspace storage list
Authentication: Project access · project.storage.read
API: GET /v1/projects/{project_id}/storage/objects
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
prefix | string | No |
cursor | string | No |
limit | number | No |
read_storage_object
CLI: joripspace storage get
Authentication: Project access · project.storage.read
API: GET /v1/projects/{project_id}/storage/objects/{key}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
key | string | Yes |
write_storage_object
CLI: joripspace storage put
Authentication: Project access · project.storage.write
API: PUT /v1/projects/{project_id}/storage/objects/{key}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
key | string | Yes |
text | string | No |
base64 | string | No |
content_type | string | No |
delete_storage_object
CLI: joripspace storage delete
Authentication: Project access · project.storage.write
API: DELETE /v1/projects/{project_id}/storage/objects/{key}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
key | string | Yes |
list_deployments
CLI: joripspace deployments
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/deployments
| Input | Type | Required |
|---|---|---|
include_failure_details | boolean | No |
project_id | string | Yes |
limit | number | No |
get_deployment_source
CLI: joripspace deployment pull
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/deployments/{deployment_id}/source
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
deployment_id | string | Yes |
rollback_deployment
CLI: joripspace rollback
Authentication: Project access · project.rollback
API: POST /v1/projects/{project_id}/deployments/{deployment_id}/rollback
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
deployment_id | string | Yes |
create_checkpoint
CLI: joripspace checkpoint save
Authentication: Project access · project.checkpoint.write
API: POST /v1/projects/{project_id}/checkpoint-uploads
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
label | string | Yes |
source_type | string · manual / agent / restore_safety | No |
idempotency_key | string | No |
list_checkpoints
CLI: joripspace checkpoint list
Authentication: Project access · project.checkpoint.read
API: GET /v1/projects/{project_id}/checkpoints
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
limit | number | No |
cursor | string | No |
get_checkpoint
CLI: joripspace checkpoint get
Authentication: Project access · project.checkpoint.read
API: GET /v1/projects/{project_id}/checkpoints/{checkpoint_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
checkpoint_id | string | Yes |
restore_checkpoint
CLI: joripspace checkpoint restore
Authentication: Project access · project.checkpoint.read
API: GET /v1/projects/{project_id}/checkpoints/{checkpoint_id}/restore-plan
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
checkpoint_id | string | Yes |
deploy_checkpoint
CLI: joripspace checkpoint deploy
Authentication: Project access · project.checkpoint.deploy
API: POST /v1/projects/{project_id}/checkpoints/{checkpoint_id}/deploy
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
checkpoint_id | string | Yes |
deployment_verification | object | Yes |
update_checkpoint
CLI: joripspace checkpoint update
Authentication: Project access · project.checkpoint.write
API: PATCH /v1/projects/{project_id}/checkpoints/{checkpoint_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
checkpoint_id | string | Yes |
label | string,null | No |
pinned | boolean | No |
delete_checkpoint
CLI: joripspace checkpoint delete
Authentication: Project access · project.checkpoint.delete
API: DELETE /v1/projects/{project_id}/checkpoints/{checkpoint_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
checkpoint_id | string | Yes |
generate_project_secret
CLI: joripspace secret generate
Authentication: Project access · project.secrets.generate
API: POST /v1/projects/{project_id}/secrets/generate
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
name | string | Yes |
get_usage_summary
CLI: joripspace usage-summary
Authentication: Project access · usage.read
API: GET /v1/projects/{project_id}/usage/summary
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
from | string | No |
to | string | No |
get_usage_breakdown
CLI: joripspace usage-breakdown
Authentication: Project access · usage.read
API: GET /v1/projects/{project_id}/usage/breakdown
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
from | string | No |
to | string | No |
group_by | string · hour / day | No |
list_secrets
CLI: joripspace secret list
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/secrets
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
list_runtime_events
CLI: joripspace events
Authentication: Project access · logs.read
API: GET /v1/projects/{project_id}/runtime-events
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
event_type | string · request / error | No |
limit | number | No |
list_crons
CLI: joripspace crons
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/crons
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
create_cron
CLI: joripspace cron create
Authentication: Project access · project.crons.write
API: POST /v1/projects/{project_id}/crons
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
name | string | No |
schedule | string | Yes |
method | string · GET / POST | No |
path | string | Yes |
run_cron
CLI: joripspace cron run
Authentication: Project access · project.crons.write
API: POST /v1/projects/{project_id}/crons/{cron_id}/run
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
cron_id | string | Yes |
delete_cron
CLI: joripspace cron delete
Authentication: Project access · project.crons.write
API: DELETE /v1/projects/{project_id}/crons/{cron_id}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
cron_id | string | Yes |
list_domains
CLI: joripspace domains
Authentication: Project access · project.read
API: GET /v1/projects/{project_id}/domains
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
cursor | string | No |
limit | number | No |
create_domain
CLI: joripspace domain create
Authentication: Project access · project.domains.write
API: POST /v1/projects/{project_id}/domains
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
hostname | string | Yes |
verify_domain
CLI: joripspace domain verify
Authentication: Project access · project.domains.write
API: POST /v1/projects/{project_id}/domains/{hostname}/verify
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
hostname | string | Yes |
delete_domain
CLI: joripspace domain delete
Authentication: Project access · project.domains.write
API: DELETE /v1/projects/{project_id}/domains/{hostname}
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
hostname | string | Yes |
connect_mail
CLI: joripspace mail connect
Authentication: Project access · project.mail.read
API: GET /v1/projects/{project_id}/mail/status
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
get_mail_status
CLI: joripspace mail status
Authentication: Project access · project.mail.read
API: GET /v1/projects/{project_id}/mail/status
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
send_test_mail
CLI: joripspace mail test
Authentication: Project access · project.mail.send
API: POST /v1/projects/{project_id}/mail/test
| Input | Type | Required |
|---|---|---|
project_id | string | Yes |
to | string | No |
subject | string | No |
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.
{
"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.