MCP Server#
EOS exposes an MCP server through the web UI. Connected assistants can inspect definitions, submit work, monitor campaigns, and call device functions.
With Authentication & Authorization enabled, clients need a bearer token. The SQL tool requires the superuser role. With authentication disabled, expose the endpoint only on trusted networks.
Connecting#
The MCP server is available at http://<web-ui-host>:3000/api/mcp using the Streamable HTTP transport.
Claude Code#
claude mcp add EOS http://localhost:3000/api/mcp --transport http
Claude Desktop#
Add to your claude_desktop_config.json:
{
"mcpServers": {
"EOS": {
"url": "http://localhost:3000/api/mcp",
"transport": "streamable-http"
}
}
}
Other MCP Clients#
Point any MCP-compatible client to http://localhost:3000/api/mcp with the Streamable HTTP transport,
replacing localhost:3000 with your web UI host and port if needed.
Capabilities#
Tools cover the following categories:
Campaigns, Protocol Runs, Tasks: List, inspect, submit, and cancel at every level of the execution hierarchy.
Definitions: Browse loaded task types, device types, lab layouts, and protocol workflows.
Management: Load, unload, and reload labs, protocols, devices, and packages.
Optimizer: Query optimizer state, update runtime parameters, and provide expert insights.
Devices: List devices, inspect state, discover available RPC functions, and call them directly.
SQL: Run read-only queries against the EOS database.
Filesystem: Browse packages and read entity configuration files (YAML, Python).
Examples#
Natural language prompts you might give an AI assistant connected to EOS via MCP:
"Show me the status of the catalyst_screening campaign and list all completed protocols"
"Submit a color mixing protocol run targeting RGB(120, 45, 200)"
"What devices are available in the wet lab? What functions does the liquid handler support?"
"How did the yield change across the last 10 protocols in the solubility campaign?"
"Reload the protocol definitions, I just updated the YAML for the pH optimization workflow"