Connect to the remote MCP server
Team memory with zero local install. One hosted endpoint, the same two tools (memory_query / memory_write), any HTTP-capable MCP client.
The endpoint
https://threadctx.dev/mcpTransport: Streamable HTTP. Auth: your team API key as a bearer token (Authorization: Bearer tctx_…) — the same key your team already uses for cloud mode. Requests without a valid key get a 401 and nothing else; memory is scoped to your team and never mixed across tenants.
Claude Code
claude mcp add --transport http threadctx https://threadctx.dev/mcp \
--header "Authorization: Bearer tctx_YOUR_KEY"Prefer working offline or per-repo? The npm package (npx threadctx-mcp) does the same job as a local process with a local-only mode — see the Claude Code guide.
Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"threadctx": {
"url": "https://threadctx.dev/mcp",
"headers": { "Authorization": "Bearer tctx_YOUR_KEY" }
}
}
}Any other MCP client
Anything that speaks Streamable HTTP and can send a custom header works the same way: point it at the endpoint, add the bearer header. Windsurf, Zed, LangGraph (via langchain-mcp-adapters), Microsoft Agent Framework, and custom in-house agents all qualify — see the enterprise guide for custom-stack details.
claude.ai and Claude Desktop connectors
The claude.ai connector UI requires OAuth rather than bearer headers. OAuth support (and a connectors-directory listing) is in the works — until then, Claude Desktop users can run the local package via the desktop extension, and Claude Code users can use the header setup above today.
Getting a key
Keys are issued when a team signs up — see pricing. Your key identifies your whole team: any teammate (or agent) using it reads and writes the same shared memory. What one agent learns, everyone's agents remember.