MCP Server
Note
The EOS MCP server is completely optional and does not provide any functionality beyond the interactive Python interface.
eos-mcp-server exposes EOS’s observables, parameters, constraints, and references as read-only
lookup tools for an MCP client (Claude Code, Claude Desktop,
Codex, …), so an LLM coding agent can look up correct qualified names, units, and kinematics
instead of guessing. It runs locally over stdio; it performs no computation and never modifies
EOS state.
Installing
After building EOS with ./configure --enable-python --prefix=<venv> and make install (see
Build and Install from Source), install the mcp SDK into the same environment:
<venv>/bin/pip install mcp
<venv>/bin/eos-mcp-server is then ready to use.
Connecting a client
Point the client at <venv>/bin/eos-mcp-server, with EOS_SOURCE_DIR set to your checkout
root (needed only to serve the two doc resources below; the lookup tools work without it).
Claude Code (project .mcp.json, or claude mcp add):
{ "mcpServers": { "eos": {
"command": "<venv>/bin/eos-mcp-server",
"env": { "EOS_SOURCE_DIR": "/path/to/eos" }
} } }
Codex CLI (~/.codex/config.toml, or codex mcp add):
[mcp_servers.eos]
command = "<venv>/bin/eos-mcp-server"
env = { EOS_SOURCE_DIR = "/path/to/eos" }
Tools and resources
observables,parameters,constraints– list entries matching aprefix/name/suffixfilter, or describe a single one given itsqualified_name.
references– list entries matching ayear/indexfilter, or describe a single one given itskey.
eos://doc/cli-reference,eos://doc/defining-observables– the corresponding reference documents.