Connect Claude Desktop via MCP
Step-by-step guide to connecting Claude Desktop or Cursor to your Saltare workspace using the Model Context Protocol
Claude Desktop, Cursor, and other MCP-aware hosts can talk directly to your Saltare workspace — searching tasks, posting messages, creating documents, and using every tool your in-app agents have access to. This tutorial gets you from zero to a working connection in under ten minutes.
For the full protocol reference, see the MCP docs.
How it works
Claude Desktop ──JSON-RPC──▶ POST /mcp ──▶ Saltare AI tools
▲
Bearer token
+ agent binding
The MCP endpoint at /mcp speaks JSON-RPC 2.0 over HTTPS. Claude Desktop sends tools/list to discover what's available, then tools/call to run them. Every tool call runs as the agent your API key is bound to.
Step 1: Create an agent (if you don't have one)
MCP requires an agent binding — tool calls are attributed to an agent, not a user. If you already have an agent you want to use, skip to Step 2.
- Go to your workspace and open Agents
- Click New Agent
- Name it something like
Desktop Assistant - Give it a short description: "My personal MCP bridge for Claude Desktop"
- Save it
Step 2: Create an API key with MCP scopes
- Go to Settings → API Keys
- Click Create API Key
- Name it:
claude-desktop-mcp - Select scopes:
mcp:tools:read— lets Claude list and call read-only tools (search, list, get)mcp:tools:write— lets Claude call tools that create or modify thingsmcp:resources:read— lets Claude read workspace resources (documents, tasks)- Optionally add
mcp:tools:destructiveif you want Claude to be able to delete things
- Bind to agent: select the agent from Step 1
- Click Create and copy the
sk_sal_…token
Step 3: Configure Claude Desktop
Open Claude Desktop's MCP configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add your Saltare server to the mcpServers block:
{
"mcpServers": {
"saltare": {
"url": "https://app.saltare.com/mcp",
"headers": {
"Authorization": "Bearer sk_sal_your_token_here"
}
}
}
}
Save the file and restart Claude Desktop.
Step 4: Verify the connection
In a new Claude Desktop conversation, you should see a hammer icon indicating MCP tools are available. Click it to see the list of tools from your Saltare workspace.
Try a simple query:
What tasks are currently open in my Saltare workspace?
Claude will call search_tasks behind the scenes and return a list of your open tasks. If this works, the connection is live.
Step 5: Try common operations
Search and read
Search my Saltare documents for anything about "API design"
What channels exist in my workspace?
Show me the details of the task "fix-login-bug"
Create and modify
Create a task in Saltare called "Review Q2 roadmap"
with a due date of next Friday
Post a message in #engineering saying "MCP bridge is live!"
Create a document called "Meeting Notes — April 16"
with a summary of what we just discussed
Agent memory
Save a memory in Saltare: "User prefers bullet-point
summaries over long paragraphs"
The memory is saved to the bound agent and will influence its future in-app responses too.
Configuring Cursor
Cursor also supports MCP. Add the same configuration in Cursor's settings:
- Open Cursor Settings (gear icon)
- Go to MCP Servers
- Add a new server:
- Name:
saltare - URL:
https://app.saltare.com/mcp - Headers:
Authorization: Bearer sk_sal_…
- Name:
Now you can reference Saltare workspace content directly from your editor — search tasks, look up documents, and create items without leaving Cursor.
Scope security guide
Choose scopes based on how much control you want to give the MCP host:
| Use case | Scopes |
|---|---|
| Read-only research | mcp:tools:read, mcp:resources:read |
| Read + create | Add mcp:tools:write |
| Full access | Add mcp:tools:destructive |
Start with read-only and add write scopes once you're comfortable. You can always edit the key's scopes in Settings → API Keys without creating a new one.
SSE streaming
For long-running tool calls, the MCP endpoint supports Server-Sent Events. Send Accept: text/event-stream with your request to receive streaming responses:
POST /mcp
Accept: text/event-stream
Authorization: Bearer sk_sal_...
Mcp-Session-Id: <session-id>
The server issues a session ID on the first initialize call. Include it in subsequent requests for session continuity. Sessions expire after 30 minutes of inactivity.
Troubleshooting
"No tools found"
- Check that your API key has
mcp:tools:readscope - Verify the URL ends with
/mcp, not/mcp/ - Restart Claude Desktop after editing the config file
"Agent binding required"
- Go to Settings → API Keys, edit your key, and bind it to an agent
- Every
tools/callrequest needs an agent binding —tools/listandresources/readwork without one
"401 Unauthorized"
- Verify your token hasn't been revoked or expired
- Make sure the header is
Authorization: Bearer sk_sal_…(note the space after Bearer) - Tokens are case-sensitive — copy-paste, don't retype
Rate limits
MCP shares the same 1200 requests/minute limit as the REST API, keyed by API key. Normal Claude Desktop usage won't approach this limit, but if you're running automated workflows through MCP, monitor the X-RateLimit-Remaining header.
Tips
- Create a dedicated agent for your MCP bridge so its memories and actions are separate from your in-app agents
- Use descriptive key names like
claude-desktop-homeandclaude-desktop-workif you use multiple machines - Set IP allowlists if your MCP client runs on a server with a stable IP
- Review the tool catalog — the MCP endpoint exposes the same 67 tools your in-app agents use, filtered by scope