MCP Tools Are Not Visible In The Agent
Symptom
Your agent host (Claude Code, Claude Desktop, Codex, or another MCP client)
shows no autonomy / mcp__autonomy__* tools, or lists the autonomy
server as disconnected.
Why
The Autonomy plugin doesn’t launch an agent — it registers an MCP server definition that the host connects to. That definition is a thin stdio proxy, not the runtime itself:
cat plugins/autonomy/.mcp.json{
"mcpServers": {
"autonomy": {
"command": "/Applications/autonomy (a7y).app/Contents/Resources/bin/a7y-cli",
"args": ["daemon", "proxy"]
}
}
}a7y-cli daemon proxy bridges MCP stdio to the already-running background
daemon over its control socket. If the daemon isn’t running, the proxy has
nothing to attach to, and the host sees either zero tools or a server that
fails to connect. This is the most common cause of this symptom — not a
broken plugin install.
If you registered the runtime directly instead of through the plugin
(claude mcp add … autonomy-a7y mcp), there’s no daemon in the picture at
all — that command line launches the MCP server binary directly over stdio.
In that setup, a missing-tools symptom means the binary path in your config
is wrong or unreachable, not that a daemon needs starting.
Fix
Confirm the command path
Check that the command in .mcp.json points at a real, executable path —
the app bundle must actually be built and present at that location.
Check whether the daemon is running
a7y-cli daemon statusStart the daemon if it isn’t running
a7y-cli daemon start --devDoctor’s own remediation for a failed daemon attachment prints the exact
start command for your state file, e.g.
a7y-cli daemon start --state-file <path>, if you ran a7y-cli doctor
first — see The daemon closes a request
for what daemon-attachment failures look like in detail.
Reload the agent host’s MCP configuration
Restart the host, or use its built-in reload. For Claude Code:
claude mcp listIf Autonomy isn’t registered at all yet, add it directly:
claude mcp add --scope user autonomy -- "/Applications/autonomy (a7y).app/Contents/MacOS/autonomy-a7y" mcpVerify
claude mcp listExpect autonomy: … ✔ Connected. Then confirm the tool catalog is actually
populated:
a7y-cli tools listYou should see 150+ tools, including accessibility_state, speak_text,
screen_read_tree, and consent_request. If the host connects but the
list is empty or stale, restart the host once more — some hosts cache the
tool catalog per session.
See also Run the doctor before assuming the plugin itself is broken, and The daemon closes a request if tools appear but calls fail intermittently.