MonoClaw

MCP (Model Context Protocol)

MCP (Model Context Protocol) lets Mona connect to external tool servers. This means you can give her access to databases, APIs, and services without writing Python code.

What is MCP?

MCP is an open protocol for connecting AI agents to external tools. Think of it like a USB-C port for AI capabilities — any service that speaks MCP can plug into Mona.

Quick start

Add an MCP server to your config:

# ~/.monoclaw/config.yaml
mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

  sqlite:
    command: uvx
    args: ["mcp-server-sqlite", "--db-path", "/path/to/data.db"]

  fetch:
    command: uvx
    args: ["mcp-server-fetch"]

Restart Mona and the tools will appear in /tools.

Supported transports

TransportHow it worksBest for
stdioSpawns a local processLocal tools, development
httpConnects to a remote HTTP endpointProduction services, shared tools

Filtering tools

You don't have to expose every tool from an MCP server. Filter by name:

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
    tool_filter:
      include: ["search_repositories", "get_file_contents"]
      # or exclude:
      # exclude: ["create_issue", "create_pull_request"]

Utility tool policy

Some MCP servers expose "utility" tools (like echo or ping) that clutter the tool list. MonoClaw automatically hides low-utility tools unless you explicitly allow them:

mcp_servers:
  my-server:
    command: python
    args: ["-m", "my_mcp_server"]
    utility_tool_policy: allow   # allow | hide | block

Finding MCP servers

Popular MCP servers:

ServerWhat it doesInstall
@modelcontextprotocol/server-githubGitHub issues, PRs, reposnpx -y @modelcontextprotocol/server-github
@modelcontextprotocol/server-postgresPostgreSQL queriesnpx -y @modelcontextprotocol/server-postgres
@modelcontextprotocol/server-slackSlack messagesnpx -y @modelcontextprotocol/server-slack
mcp-server-sqliteSQLite queriesuvx mcp-server-sqlite
mcp-server-fetchWeb fetchinguvx mcp-server-fetch

Browse more at github.com/modelcontextprotocol/servers.

Security considerations

  • MCP servers run with the same permissions as MonoClaw
  • Use tool_filter to limit what each server can do
  • Prefer stdio for local tools; use http only for trusted remote services
  • Review MCP server code before installing untrusted packages

Troubleshooting

ProblemFix
MCP tools don't appearCheck monoclaw doctor for MCP diagnostics
"Command not found"Make sure npx, uvx, or the command is on PATH
Tool calls failCheck the MCP server logs in ~/.monoclaw/logs/mcp/
Too many toolsUse tool_filter.include to whitelist only what you need