MCP Integration
Connect OpenWalrus agents to external tool servers via the Model Context Protocol (MCP).
OpenWalrus integrates with MCP servers, letting agents access external tools dynamically.
Configuration
Register MCP servers in walrus.toml:
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "${GITHUB_TOKEN}" }Each server is started as a child process and connected via the MCP SDK (rmcp).
Discovery tools
Agents interact with MCP servers through two tools:
search_mcp
Search across all registered MCP servers for tools matching a query:
{
"name": "search_mcp",
"parameters": {
"query": "file operations"
}
}Returns matching tools from all servers with their names and descriptions.
call_mcp_tool
Invoke a specific tool on an MCP server:
{
"name": "call_mcp_tool",
"parameters": {
"server": "filesystem",
"tool": "read_file",
"arguments": {
"path": "/path/to/file.txt"
}
}
}How it works
- On daemon startup,
McpHandlerconnects to all configured MCP servers - Tool schemas are dynamically registered from each server
- Agents discover tools via
search_mcp - Tool calls are routed to the correct server via
call_mcp_tool
MCP servers support hot-reload — add a server to the config and it becomes available without restarting.
Available servers
The MCP ecosystem provides servers for many use cases:
- Filesystem — file read/write/search
- GitHub — repos, issues, PRs
- Database — SQL queries
- Browser — web automation
See modelcontextprotocol.io/servers for the full list.
What's next
- Skills — extend agents with instruction files
- Built-in tools — filesystem and shell access
- Configuration — MCP server config details