The Odysseus agent can call tools beyond its built-in shell, file, web, and code capabilities. Model Context Protocol (MCP) is the standard plugin interface for this — each MCP server exposes a set of typed tools that the agent can invoke by name during a task, passing structured arguments and receiving structured results. Odysseus manages MCP servers as persistent connections; tools from all connected servers appear automatically in the agent’s toolset.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pewdiepie-archdaemon/odysseus/llms.txt
Use this file to discover all available pages before exploring further.
What is MCP?
MCP is an open protocol that defines how an AI agent communicates with external tool servers. Each server exposes a list of tools with JSON Schema inputs. Odysseus connects to servers at startup (or on demand), discovers their tools, and makes those tools available to the LLM via native function calling. The agent sees each tool’s name, description, and parameter schema in its system prompt and can call it at any point during a task. Tool names are namespaced by server:mcp__{server_id}__{tool_name}, so tools from different servers never collide.
Built-in MCP servers
Odysseus ships with several built-in MCP servers that start automatically alongside the app. They run as child processes managed by Odysseus and restart automatically if they crash.Browser
@playwright/mcp — page navigation, form interaction, screenshots, and vision. Powered by Playwright. Requires a one-time cache step before first use (see below).Memory
mcp_servers/memory_server.py — persistent memory storage and retrieval. Used by the agent to remember facts across sessions.RAG
mcp_servers/rag_server.py — retrieval-augmented generation over your personal documents and uploaded files via ChromaDB.Image Generation
mcp_servers/image_gen_server.py — generate images from text prompts using your configured image model endpoint.mcp_servers/email_server.py — read, search, and send emails through your configured IMAP/SMTP accounts. The agent can triage and reply to email as part of a task.Enabling the Browser MCP
The Browser MCP server uses@playwright/mcp, an npm package served via npx. On a fresh install the package is not cached, so Odysseus skips it at startup with a log message rather than hanging on a slow download. To enable it, run this once in your terminal:
@playwright/mcp plus the Playwright browser binaries into the npx cache (~300 MB total). Then restart Odysseus — the server will register at startup and its tools will appear in the agent.
The Browser MCP only starts when its npm package is already cached. If the package is not cached on startup, Odysseus logs a message explaining what to run and continues without it — no crash, no hang.
Adding a custom MCP server
Choose a transport
- stdio — the most common type. Odysseus launches the server as a child process and communicates over stdin/stdout. Provide the command and any arguments.
- SSE — server-sent events over HTTP. Provide the server URL.
- Streamable HTTP — HTTP transport with optional OAuth. Provide the server URL.
Enter server details
For
stdio servers: set the command (e.g. npx, python, node) and args (e.g. ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]). Optionally set environment variables in the env field as JSON.Example: filesystem server
Example: Python-based server
Disabling individual tools
Every tool on an MCP server can be disabled without disconnecting the server. In Settings → MCP, open a server and toggle individual tools off. Disabled tools are hidden from the agent’s tool list and cannot be called. This is useful when a server exposes many tools but you only want the agent to use a subset, or when a tool is destructive and you want to prevent accidental use during exploratory tasks.Security
Key security considerations:- Admin-only management. Only admin accounts can add, remove, enable, or disable MCP servers. Regular users see the tools but cannot manage the servers.
- Child processes. Each
stdioserver runs as a subprocess. It inherits the working directory and any environment variables you explicitly pass in theenvfield plus the Odysseus process environment. - Plan mode gating. In plan mode, Odysseus automatically blocks MCP tools that are not clearly read-only based on the tool’s
readOnlyHintannotation or, when absent, a heuristic on the tool name’s leading verb (e.g.list_,get_,search_are treated as safe). - npx-based servers. npm packages can be updated by the package registry. Pin a version in the args (e.g.
@playwright/mcp@0.0.27) if you need reproducible behavior.