Getting started
This is the quickstart for the public /mcp endpoint. By the end you’ll have listed the available tools and run a search against your indexed workspace.
Prerequisites: a Canvas account (sign up at app.canvasx.ai) and a terminal with curl. That’s it for the managed path — no install.
1. Create a workspace
Section titled “1. Create a workspace”Managed sandbox (open self-serve — sign up and go):
- Sign in at app.canvasx.ai.
- Create or join a workspace.
- Open Settings.
- Go to MCP access.
Self-hosted:
- Deploy Sketch.
- Open the web UI.
- Complete onboarding to create the first admin account.
- Open Settings.
- Go to MCP access.
2. Create an API token
Section titled “2. Create an API token”In Settings → MCP access:
- Enter a token name, for example
Claude CodeorCursor. - Click Create token.
- Copy the plaintext token immediately — it is only shown once.
- Copy the MCP URL. It should look like:
https://<your-connectors-host>/mcpSet both values in your shell:
export CONNECTORS_MCP_URL="https://<your-connectors-host>/mcp"export CONNECTORS_API_KEY="skp_..."The server stores only a hash and a short display prefix for personal access tokens. You can revoke tokens later from the same Settings page.
3. Verify the connection
Section titled “3. Verify the connection”Call the MCP tools/list method:
curl -s "$CONNECTORS_MCP_URL" \ -H "Authorization: Bearer $CONNECTORS_API_KEY" \ -H "Accept: application/json, text/event-stream" \ -H "Content-Type: application/json" \ -H "Mcp-Protocol-Version: 2025-03-26" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Expected result: a JSON-RPC response whose tools include sketch_search, sketch_search_entities, sketch_get_entity_context, and sketch_get_file_content.
4. Make your first call
Section titled “4. Make your first call”Search indexed knowledge:
curl -s "$CONNECTORS_MCP_URL" \ -H "Authorization: Bearer $CONNECTORS_API_KEY" \ -H "Accept: application/json, text/event-stream" \ -H "Content-Type: application/json" \ -H "Mcp-Protocol-Version: 2025-03-26" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "sketch_search", "arguments": { "query": "latest Linear launch blockers", "kind": "task", "sortBy": "recency", "limit": 5 } } }'If the workspace has matching indexed content that your user is allowed to see, the response returns text results with sketchId, providerId, source, URL when available, and a summary or snippet.
- Connect over MCP — wire this into Claude Code or Cursor.
- Public MCP tools — every tool, with inputs and outputs.
- App integrations — get your apps indexed so there’s something to search.