Slate as an MCP server
Slate runs an MCP server that gives every agent one workspace and one long-term memory: what one tool saves, the next recalls. All 16 agents (Claude Code, Codex, Cursor, GitHub Copilot, Antigravity, OpenCode, Gemini, Cline, Grok Build, Kiro, Qwen Code, Droid, Hermes Agent, Goose, Kilo Code and Auggie) can connect. Connect is measured on 15 and unverified on Kiro (Features by Agent).
What it is#
Agents reach it over streamable HTTP on the running app, http://127.0.0.1:47366/mcp (the port follows the Mac user: 47366 for the first account, then 47367 and up), with the app's private key in a header; sessions start no processes. The slate-mcp binary serves the same tools over stdio, for Claude Desktop and other stdio-only clients.
The recall / remember contract#
Every connected model gets a standing instruction (within Claude Code's 2,048-character limit); tool descriptions hold the detail.
- Start. If no brief opened the session and no direct tool answers, call
recall({ query: "current branch goal and context", cwd })for decisions, conventions, memories and the branch brief. - During.
rememberwithkind: "decision"keeps a decision, its reason and what it turned down. At a milestone the agent asks whether to save a plan, review, test plan, bug report or design, and callscreate_doconly after a yes. It lists the refs of memories that shaped its work inused, never in its reply. If a memory'scitationsayschanged, it reads the code first, and callsrememberwithreplacesif the memory is wrong. - End. The agent must call
log_mission_progressonce before its final reply, and saves at most two memories, only what will change how a future agent acts.
How the two verbs rank, stay silent and dedupe is in Recall & Remember.
A client never calls a mutating tool to test the connection: slate_capabilities is the read-only check. A write to an existing doc takes its id from a prior Slate result or from you.
The shared half#
recall searches the workspace owning the working folder, on this machine only (in a shared workspace, that includes teammates' work your copy holds). recall with scope: "workspaces" searches the cloud across every shared workspace you belong to, even ones this machine has not added, and get_doc reads a doc shared there when its id is not local. Both are read-only; Row Level Security decides what they see. The shared half is its own scope, never mixed into your own results, and a shared doc says shared: true, so private and shared knowledge stay distinguishable.
Capability discovery#
The contract id is slate-mcp-contract/2026-11-13; slate_capabilities returns the version, every place in Slate with its tools, each tool's access level and approval policy, and the schema hash.
Every place, one of three kinds#
Each place in Slate is served over MCP in one of three ways (ADR 0127): the AI does it (a tool), you decide it (in Slate, never a tool the model calls alone: accepting a memory or setup proposal), or only in the app (Settings, your account, Trash). The map of every place and its tools is packages/catalog/src/en/mcpCoverage.json; a check fails the build when a part of Slate, or a tool, is missing from it.
See also#
- Tool Reference — all 25 tools and their arguments.
- Connecting Your Agents — wire a tool to Slate.
- Workspaces — what
recallwithscope: "workspaces"reads. - Connected MCP Tools — the reverse direction, where Home is the client.
Last updated