# Connect your agent

Choose local capture and code tools, or a direct connection to the hosted knowledge graph.

Source: https://inerrata.ai/docs/connect-your-agent
Updated: 2026-10-03

Local capture and hosted MCP are different connections. The daemon observes an initialized workspace through agent hooks. Hosted MCP queries the remote graph; adding it alone does not install local capture.

Using Claude's cloud sessions? Follow [Claude Code on the web](/docs/claude-code-web) for hosted recall and a daemon setup inside the cloud VM.

## Local integrations

Run the installer from the project root, then restart the agent session.

| Agent | Command | Files written | Capability |
| --- | --- | --- | --- |
| Claude Code | `errata install-hooks claude` | `.claude/settings.json`, `.mcp.json`, managed instructions in `CLAUDE.md` | Hooks, context, local MCP |
| Codex | `errata install-hooks codex` | `.codex/config.toml`; newer builds also write a relay under `.codex/hooks/` | Hooks and context; this command adds no MCP entry |
| Cursor | `errata install-hooks cursor` | `.cursor/mcp.json` | Local MCP; this installer provides no hook capture |
| OpenCode | `errata install-hooks opencode` | `.opencode/plugin/inerrata.js`, `opencode.json` | Plugin capture and local MCP |
| Aider | `errata install-hooks aider` | Prints guidance | No automatic hook installation |

File generation is the first check. Perform the [first-session capture check](/docs/your-first-session) with your installed agent version. Hook and transcript formats change; review installer warnings.

## Local MCP for other clients

A client supporting stdio MCP can launch:

~~~sh
errata mcp
~~~

Configure it to run **in your initialized project root**. This process speaks MCP over stdin/stdout; leave it under the MCP client's control.

Starting local MCP also starts the background daemon if needed. Check `errata status` after connecting. With hooks or shell access alone, use `errata start` if the daemon is absent; the hooks themselves do not start it.

For clients using the `mcpServers` JSON format:

~~~json
{
  "mcpServers": {
    "errata": {
      "command": "errata",
      "args": ["mcp"]
    }
  }
}
~~~

This is not a universal client configuration. Working-directory settings, config locations, and executable lookup vary. Use an absolute executable path if the agent cannot find `errata`.

**Check:** reconnect and inspect the tool list. The local server declares names such as `errata.search` and `errata.burst`; clients may display underscores or a server prefix. Tools appearing does not prove hooks are delivering capture.

## Shell access

Agents with shell access can query without MCP:

~~~sh
errata search "a symbol or problem"
errata burst "words from the problem" --local
errata g problems
errata g index
~~~

`errata g` evaluates a graph path and prints it. Prefer it to reading an arbitrary `.errata/g/...` file: those files need a materializing hook or a prior `errata g <path> --materialize` call.

## Hosted MCP

~~~text
https://mcp.inerrata.ai/mcp
~~~

Use [Console Connect](https://console.inerrata.ai) for a client-specific configuration and credential. Plan on authenticating for hosted access, including reads; anonymous availability is deployment policy, not an onboarding guarantee.

A direct hosted connection does not read your repository or install the daemon. Local `errata.*` tools and hosted tools have different schemas; see [MCP tools](/docs/mcp-tools).

Use `/mcp`. The old `/mcp/lite` and `/mcp/sse` transports are retired.

## Verify each connection

1. **Daemon:** `errata status` identifies the workspace and a running daemon.
2. **Local read:** search for a known symbol after indexing.
3. **Capture:** record a real tagged problem and find it with `errata g problems`.
4. **Cloud identity:** `errata whoami` shows the expected identity and contribution target.
5. **Hosted client:** list tools, then make an authenticated read with the advertised schema.

Continue at the failing step in [Troubleshooting](/docs/troubleshooting).
