Keel — Claude Code MCP server: features and setup
Keel turns product events into a tenant-specific context graph that agents can share. Use it when several agents need to read and update the same context.
claude mcp add --env KEEL_DB=<KEEL_DB> --env KEEL_AGENT=<KEEL_AGENT> --transport stdio keel -- uvx keel-contextWhat Keel does
Keel builds a context graph for each tenant from structured product events. A tenant can represent a customer, household, or team. Facts retain their source and time details; agents access context, history, search, relationships, and annotations through five MCP tools.
A cartridge describes the domain, including its ontology, event catalog, and memory policies. You can run the server with uvx keel-context; setup takes values for KEEL_DB and KEEL_AGENT. Without those values, the installation command lacks its database and agent configuration.
What it helps with
- share product context across multiple agents
- inspect how a fact changed over time
- find entities by text, attributes, or meaning
- trace connections between entities up to three hops
- store an agent's conclusion with evidence and scope
Example prompts for the agent
- Show the current context for
unit:MXK-4821. - Find how information about
unit:MXK-4821changed and when it was recorded. - Save this conclusion with its evidence and scope.
How to install Keel
Platform CLI
claude mcp add --env KEEL_DB=<KEEL_DB> --env KEEL_AGENT=<KEEL_AGENT> --transport stdio keel -- uvx keel-contextReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from keel-context <command>
Platform CLI
codex mcp add keel --env KEEL_DB=<KEEL_DB> --env KEEL_AGENT=<KEEL_AGENT> -- uvx keel-contextReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from keel-context <command>
Config file
{
"mcpServers": {
"keel": {
"command": "uvx",
"args": [
"keel-context"
],
"env": {
"KEEL_DB": "<KEEL_DB>",
"KEEL_AGENT": "<KEEL_AGENT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from keel-context <command>
Config file
{
"servers": {
"keel": {
"type": "stdio",
"command": "uvx",
"args": [
"keel-context"
],
"env": {
"KEEL_DB": "<KEEL_DB>",
"KEEL_AGENT": "<KEEL_AGENT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from keel-context <command>
Platform CLI
gemini mcp add -e KEEL_DB=<KEEL_DB> -e KEEL_AGENT=<KEEL_AGENT> keel uvx keel-contextReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from keel-context <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Keel
How do I install Keel in Claude Code?
Set values for KEEL_DB and KEEL_AGENT, then run claude mcp add --env KEEL_DB=<KEEL_DB> --env KEEL_AGENT=<KEEL_AGENT> --transport stdio keel -- uvx keel-context. This registers Keel as an MCP server in Claude Code.
What does Keel do?
It builds a context graph for each tenant from product events. Agents use five MCP tools to read and update that shared context.
What configuration does Keel need?
For the Claude Code setup, provide KEEL_DB and KEEL_AGENT. A cartridge defines the domain and its memory policies.