Cursor and Claude Desktopyour space, inside the tools you already use.
Connect Cursor, Claude Desktop or any other MCP client to a Wakato Space, and control which tools the client sees.
Wakato's MCP server, space-mcp, gives any MCP client the tools of one Space:
contacts, tables, pages, forms, mail, social, tasks, apps, automations and more.
It speaks JSON-RPC over HTTP POST (the streamable HTTP transport, answered in
the POST body) and authenticates with a Space API key.
| Server URL | https://api.wakato.io/functions/v1/space-mcp |
| Auth | Authorization: Bearer wks_live_… (or x-api-key: wks_live_…) |
Make a key first: Space → Settings → API Keys → New API key. See Keys and scopes for what to tick. For Claude Code, see Use with Claude Code.
Cursor
Cursor connects to an HTTP MCP server directly. Add it to the project's
.cursor/mcp.json (or your global ~/.cursor/mcp.json):
{
"mcpServers": {
"wakato": {
"url": "https://api.wakato.io/functions/v1/space-mcp",
"headers": { "Authorization": "Bearer ${env:WAKATO_SPACE_KEY}" }
}
}
}Export WAKATO_SPACE_KEY in the shell Cursor starts from, so the token stays
out of the file. Open Settings → MCP to check the server is green and to
see its tools.
Claude Desktop
Claude Desktop starts local MCP servers from its config file, so it reaches a
remote server through the mcp-remote bridge (it needs Node.js). Open
Settings → Developer → Edit Config and add:
{
"mcpServers": {
"wakato": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.wakato.io/functions/v1/space-mcp",
"--header",
"Authorization:${WAKATO_AUTH}"
],
"env": { "WAKATO_AUTH": "Bearer wks_live_YOUR_TOKEN" }
}
}
}Restart Claude Desktop. The tools appear under the tools menu in a new chat.
Why the header is split
Writing Authorization:${WAKATO_AUTH} with no space and putting Bearer … in
env avoids a known problem where some clients split arguments at spaces.
The shorter form, "--header", "Authorization: Bearer wks_live_…", works
where that is not an issue.
Any other MCP client
Any client that can reach an HTTP MCP server needs only the URL and the header.
Clients that only start local processes use the same mcp-remote command as
Claude Desktop. If your client tries the old SSE transport first, add
"--transport", "http-only" to the mcp-remote arguments: the server answers
POST only, and a GET gets 405.
To check a key by hand:
curl -s https://api.wakato.io/functions/v1/space-mcp \
-H "Authorization: Bearer $WAKATO_SPACE_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'What the client sees
The list is filtered by scope. tools/list returns only tools the key may
call. A tool behind a scope you did not grant is not listed, and nothing says
it is missing. If the client "can't" do something, edit the key's scopes; the
token does not change.
Related tools are grouped into families. To keep the list readable,
related tools are listed as one family tool with an action argument, for
example manage_job with { "action": "create", … }. Only the actions your key
may call are offered. The server turns a family call back into the single tool
before any check, so scopes, approvals and the activity log are exactly those of
that tool, and every tool stays callable by its own name too.
Two tools are always there:
search_toolssearches the Space's whole catalog by words and by meaning, and answers with matching tools and their input schemas. Tools outside the key's scopes come back marked as not yours, so you know they exist.call_toolcalls any tool by name:{ "name": "<tool>", "arguments": { … } }. Every check applies exactly as for a direct call.
Every tool or everyday tools
Each key has a tool catalog setting, under Edit on the key:
- Every tool (the default for keys you make): the client is handed every tool its scopes allow. Fine for a client that picks tools well with a long list.
- Everyday tools: the client gets a core set, plus tools it called in the
last 30 days, and finds the rest through
search_toolsandcall_tool. Permissions do not change. Agents pick tools more reliably from a short list, and it uses far fewer tokens per turn.
The Space's own agents always run in Everyday tools mode.
Tell the client what the Space is for
Most clients read a project rules file. A few lines save a lot of guessing:
The "wakato" MCP server is our Marketing Space.
Drafts are fine. Ask me before anything that goes live:
publishing a page, sending email or SMS, posting to social.
If a tool seems missing, use search_tools before saying it can't be done.When something goes wrong
| Symptom | Likely cause |
|---|---|
401 Invalid Space API key | Wrong token, or a stray space or quote in the header |
401 … has been revoked / has expired | Make a new key |
| A tool you expect is not listed | The key lacks that scope, or Everyday tools mode: try search_tools |
| A call answers with a refusal sentence | Read it: a missing scope or a rule of the Space |
Next: browse the MCP tools by category, or hear what happens in the Space.