Skip to content
Docs

MCP server

Connect an MCP client to Estelle for repository navigation, memory, monitoring, research, reviews, and agent jobs.

View as Markdown

Estelle's hosted MCP server gives a compatible coding agent one connection to your indexed repositories, saved sessions, production data, and Estelle workflows. Use it when you want the agent to look up real code, resume earlier work, inspect monitoring, or start a job without building those integrations yourself.

SettingValue
Endpointhttps://api.fatelabs.ca/mcp
TransportHTTP
AuthenticationBrowser OAuth, or Authorization: Bearer estelle_live_...

A client that supports OAuth prompts you to sign in. For a client without OAuth, create a key in Settings → API keys and send it as the bearer header. Keep keys out of committed configuration.

#Connect your client

For Claude Code, Codex, Kimi Code, Grok Build and Cursor, follow the native plugin instructions. They use the public plugin repository, external Node.js 22+ and the same account key for hooks and MCP. Native installation and hook approval differ by host.

A hosted MCP-only connection gives you tools without the plugin's session hooks. Add https://api.fatelabs.ca/mcp using your client's HTTP server configuration. A client with browser authentication may offer sign-in; otherwise use an Authorization: Bearer header with your account key, stored securely by the client. Do not paste the value into a conversation or committed configuration.

Verify access with one advertised read-only tool from that session, then check session hooks separately if you installed the plugin. A server catalogue is not a session-capture receipt.

Start a new session after connecting and ask the agent to call estelle_resume. It returns saved context or says that none exists. Index a repository before using repository navigation; see Install and Code graph.

#Choose tools by task

The exact tools available depend on the connection and account. Your agent reads each tool's current argument schema, so you normally ask for the outcome in plain language rather than constructing calls yourself.

ToolUse it to
verifyCheck code or a claim against the indexed repository and identify unresolved APIs.
find_definitionGet file and line locations for a symbol.
find_usagesFind call sites before changing a function.
find_referencesSee which files import a file.
locateFind files for a symbol or concept.
blast_radiusSee direct and indirect dependents before editing a shared file.
dependency_pathShow an import chain between two files.
core_files, chokepoints, subsystemsOrient in an unfamiliar repository.
import_cycles, refactor_orderInspect circular imports and plan a dependency-aware refactor.
estelle_improveRequest ranked security, structure, and quality proposals.
estelle_readRead a file with freshness and coverage information.
estelle_grepSearch indexed text and see what could not be searched.
estelle_exploreList an indexed directory.
estelle_contextRetrieve cited source evidence within token and byte budgets, with a continuation when needed.
estelle_writeUpdate Estelle after you change a local file. It does not write your disk.

On a multi-repository account, provide repo: "owner/name" when the tool accepts it. A refusal may ask for the repository rather than guessing one.

#Resume, remember, and hand off

ToolUse it to
estelle_resumeResume the latest or a named session, optionally focused by task and repository.
estelle_checkpointSave a transcript-bearing session before stopping or exhausting context.
estelle_activityRecord client activity on a host without a transcript hook.
list_sessions, list_threadsFind past sessions individually or grouped by subject.
get_sessionRead one session's stored, acknowledged diary entries.
memory_chatAsk what was decided and receive a cited answer from stored memory.
edit_memory, reinterpret_sessionCorrect a memory or a session's meaning while retaining provenance.
estelle_handoff, estelle_handoff_resumeMove a task between sessions or hosts and see which recorded files changed.
estelle_governCompress a message history and report what was omitted.
estelle_room, session_messageCoordinate work and messages between live sessions.
estelle_planMaintain a task checklist through draft, approval, running, and completion.
estelle_requestCreate or inspect a tracked request and its answer.
estelle_docsAnswer a question about Estelle itself from these published docs. On every account, with no setup and no usage charge.
estelle_ask_parentLet a parallel child job ask its parent for a decision.

#Read Atlas, publish pages, and inspect usage

ToolUse it to
kb_askFind Atlas pages related to a topic.
kb_pageRead a complete Atlas page or list available pages.
estelle_plate, estelle_plate_readPublish a versioned brief, review, or measurement and read it later.
estelle_usageInspect credit spending and remaining balance.
estelle_exportExport everything Estelle holds for the account as downloadable files, including training files. See Export your data.
skill_findFind a relevant Estelle playbook for a task.

#Investigate production and dependencies

ToolUse it to
monitor_overviewRead production error rates, issue counts, alerts, and uptime together.
monitor_issues, monitor_issueList production issues and open one with recent occurrences.
monitor_logsSearch production logs.
monitor_alerts, monitor_uptimeInspect alert rules and uptime checks.
research_askAsk a cited question about a dependency API or the codebase.
research_watch, research_watchlistEnroll or change dependency watches and inspect the saved list.
research_driftCheck dependency changes against relevant call sites.

Monitoring tools are read-only. research_watch changes the saved watchlist and takes a cadence of off, hourly, daily, or weekly.

#Review changes

ToolUse it to
reviewReview a unified diff and return findings with file and line references.
scanScan a diff for security-sensitive findings.
ontology_changePreview an ontology change and its consequences. A signed-in person applies it in the dashboard.

#Start work

These tools can spend Estelle Credits. Confirm the repository, task, and any spend or iteration limits before starting them.

ToolUse it to
workRequest a checked code proposal for one task and existing file, or continue a returned job id.
orchestraRun independent tasks in parallel, or preflight a dependency description without running it.
orbitArm, inspect, or stop bounded passes on one file.
estelle_launch_agentStart a cloud coding agent in a Silo for a repository and task.
estelle_return_agentBring a cloud agent's work back to the calling host and report whether the return was verified.
estelle_qaPlan or run Twice browser tests against a running web app. Preview the plan first.

#Handle a tool refusal

A tool that cannot answer returns an error result rather than an empty success. Its machine-readable shape is:

json
{
  "isError": true,
  "content": [{ "type": "text", "text": "..." }],
  "structuredContent": {
    "answered": false,
    "reason": "index_stale",
    "retryable": false,
    "message": "..."
  }
}

When a retry delay is known, structuredContent.retry_after_s is present and retryable is true.

Common reasons include:

ReasonWhat to do
missing_arguments, invalid_argumentsCorrect the named argument using the tool's advertised schema.
repo_required, unknown_repoSupply an indexed owner/name available to this account.
not_indexedSweep the repository before asking navigation questions.
index_stale, index_currency_unknownReindex the current code, then retry.
not_entitledCheck account access and credits. Nothing was started.
rate_limited, at_capacity, unavailableRetry after retry_after_s when provided, using backoff.
no_grounded_answer, cannot_answerChange the question or inspect the available sources; this is not proof of absence.

A refusal such as “not swept” or “could not verify” is not evidence that code is clean or a symbol is absent. Partial results are answers with limited coverage, not exhaustive findings.

If the server is at capacity before a tool runs, it can return JSON-RPC error -32007. Its error.data includes retryable: true, retry_after_s, and a reason. Retry after that interval; no tool action was performed.