Skip to content

MCP integration

Skep exposes a Model Context Protocol stdio server so your LLM CLI can query the live index mid-coding session. The LLM calls MCP tools to fetch the symbols, call graphs, and task state it needs; Skep answers from the SQLite index maintained by the daemon.

A stdio JSON-RPC protocol that lets an LLM client (currently Claude Code — see Changelog) discover and invoke tools hosted by a local process.

Terminal window
skep mcp install

This merges an entry into ~/.claude/settings.json, preserving any other MCP servers you already have. Flags:

Terminal window
skep mcp install --name backend # install under a custom key
skep mcp install --force # overwrite an existing entry
~/.claude/settings.json
{
"mcpServers": {
"skep": { "command": "skep", "args": ["mcp"] }
}
}

To pin the server to a specific repo regardless of cwd:

{
"mcpServers": {
"skep-backend": {
"command": "skep",
"args": ["mcp", "--repo", "/home/you/code/my-project/backend"]
}
}
}

See MCP tools reference for the full input schemas and return shapes. At a glance:

ToolPurpose
get_overviewarchitecture, top symbols, active tasks
search_symbolsFTS5 search over the index
get_call_graphcallers + callees of a symbol
get_file_contextall symbols in a file, signatures only
list_taskspending / active / completed tasks
create_taskcreate a task in this repo
dedup_taskcheck whether a proposed task duplicates an existing one, without creating it
create_remote_taskcreate a task in a peer repo (blocks until classify + plan)
get_remote_taskread current state of a remote task, including clarification questions when pending
approve_remote_taskapprove a pending task in a peer repo
wait_remote_taskblock until a peer task reaches a terminal state

The MCP server reads the SQLite index directly. You don’t need the daemon running to call get_overview or search_symbols. The daemon is only required for task execution and cross-repo routing — the read-only tools work as long as .skep/index.db exists.