Run MCP tool calls through Runestone Gatekeeper — policy enforcement, human approval, audit.
Gatekeeper MCP server exists for a simple reason — assistants are far more useful when they can act on Gatekeeper directly instead of describing what you should do. Run MCP tool calls through Runestone Gatekeeper — policy enforcement, human approval, audit.
A policy-based gatekeeper service that sits between AI agents and real-world tools (shell, HTTP, filesystem), enforcing approvals, denials, USD budgets, and audit logging.
Installation goes through your MCP client rather than a global install: point it at @runestone-labs/gatekeeper-claude-code on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Once Gatekeeper is connected, these are the calls the assistant has available:
memory.upsert — Create/update entities (people, projects, concepts)memory.link — Create relationships between entitiesmemory.unlink — Remove relationships between entitiesmemory.query — Query entities (with full-text search) and traverse relationshipsmemory.episode — Log decisions, events, and observationsmemory.evidence — Attach evidence/provenance to entities or episodesRecording — The Recording tool exposed by this serverOutputs — The Outputs tool exposed by this serverConfiguration — The Configuration tool exposed by this serverGuides — The Guides tool exposed by this serverReference — The Reference tool exposed by this serverContributing — The Contributing tool exposed by this serverYou will need 8 environment variables: GATEKEEPER_URL, GATEKEEPER_ROLE, GATEKEEPER_SECRET, APPROVAL_PROVIDER, AUDIT_SINK, POLICY_SOURCE, SLACK_WEBHOOK_URL, GATEKEEPER_PORT. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Among the knowledge and memory options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Gatekeeper's toolset — memory.upsert, memory.link, memory.unlink and 9 more — is a fair guide to whether it matches your workflow. It is maintained by Runestone-Labs; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| memory.upsert | Create/update entities (people, projects, concepts) |
| memory.link | Create relationships between entities |
| memory.unlink | Remove relationships between entities |
| memory.query | Query entities (with full-text search) and traverse relationships |
| memory.episode | Log decisions, events, and observations |
| memory.evidence | Attach evidence/provenance to entities or episodes |
| Recording | The Recording tool exposed by this server. |
| Outputs | The Outputs tool exposed by this server. |
| Configuration | The Configuration tool exposed by this server. |
| Guides | The Guides tool exposed by this server. |
| Reference | The Reference tool exposed by this server. |
| Contributing | The Contributing tool exposed by this server. |
{
"mcpServers": {
"gatekeeper": {
"command": "npx",
"args": ["-y", "@runestone-labs/gatekeeper-mcp"],
"env": {
"GATEKEEPER_URL": "http://127.0.0.1:3847",
"GATEKEEPER_ROLE": "agent"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| GATEKEEPER_URL | Endpoint or connection string the server talks to. | Yes |
| GATEKEEPER_ROLE | Configuration value read at startup. | Optional |
| GATEKEEPER_SECRET | Credential the server authenticates with. | Yes |
| APPROVAL_PROVIDER | Configuration value read at startup. | Optional |
| AUDIT_SINK | Configuration value read at startup. | Optional |
| POLICY_SOURCE | Configuration value read at startup. | Optional |
| SLACK_WEBHOOK_URL | Endpoint or connection string the server talks to. | Yes |
| GATEKEEPER_PORT | Configuration value read at startup. | Optional |
A knowledge graph your assistant keeps between sessions — entities, relations and observations that persist.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
A structured scratchpad for hard problems — stepwise reasoning with revisions, branches and visible logic.
Symbol-level code navigation, refactoring and memory for coding agents — the IDE brain your assistant has been missing.
Chat with your second brain — search, read and write vault notes through the Local REST API.