Skip to main content
IronClaw connects to Model Context Protocol servers, giving your agent access to external tools and data sources without writing custom integrations.

Quickstart

# Add an HTTP server
ironclaw mcp add notion https://mcp.notion.com/mcp --client-id <your-client-id>
# Add a stdio server (spawns a local process)
ironclaw mcp add docs --transport stdio \
  --command npx --arg @mintlify/mcp --arg=--docs --arg https://docs.ironclaw.com/mcp
# Add a Unix socket server
ironclaw mcp add myserver --transport unix --socket /tmp/mcp.sock
# Test connectivity
ironclaw mcp test notion
# List configured servers
ironclaw mcp list
# Remove a server
ironclaw mcp remove notion
# Toggle a server on/off
ironclaw mcp toggle notion

# Explicitly disable or enable
ironclaw mcp toggle notion --disable
ironclaw mcp toggle notion --enable

Transports

TransportUse caseExample
HTTP (default)Connects to a remote server over HTTP(S)ironclaw mcp add name https://mcp.example.com
stdioSpawns a local server and connects to it via stdin/stdoutironclaw mcp add docs --transport stdio --command npx --arg @mintlify/mcp
UnixConnects to a server on a Unix domain socketironclaw mcp add name --transport unix --socket /tmp/mcp.sock

HTTP with OAuth

Many hosted MCP servers require OAuth 2.1 authentication. IronClaw implements the MCP Authorization spec with PKCE:
# Add with OAuth credentials
ironclaw mcp add notion https://mcp.notion.com/mcp \
  --client-id YOUR_CLIENT_ID \
  --scopes "read,write"

# Authenticate (opens browser for consent)
ironclaw mcp auth notion
OAuth tokens are stored securely via IronClaw’s secrets store and refreshed automatically.

stdio with Environment Variables

Stdio servers often need API keys or configuration via environment variables:
ironclaw mcp add docs --transport stdio \
  --command npx --arg @mintlify/mcp \
  --env MINTLIFY_API_KEY=your_api_key

Configuration File

Server configs are stored in ~/.ironclaw/mcp-servers.json:
{
  "schema_version": 1,
  "servers": [
    {
      "name": "docs",
      "url": "",
      "transport": {
        "transport": "stdio",
        "command": "npx",
        "args": ["@mintlify/mcp", "--docs", "https://docs.ironclaw.com/mcp"]
      },
      "enabled": true,
      "description": "IronClaw docs search"
    },
    {
      "name": "notion",
      "url": "https://mcp.notion.com/mcp",
      "oauth": {
        "client_id": "your-client-id",
        "scopes": ["read", "write"]
      },
      "enabled": true
    }
  ]
}
You can edit this file directly, or use ironclaw mcp add / ironclaw mcp remove to manage it.

Custom Headers

For servers that use API key authentication instead of OAuth:
ironclaw mcp add myapi https://api.example.com/mcp \
  --header "Authorization:Bearer sk-your-key" \
  --header "X-Custom:value"

Built-In Servers

IronClaw ships with a built-in registry of hosted MCP servers. A few examples:
ServerTransportWhat it does
AsanaHTTPTask management, projects, and team coordination
CloudflareHTTPDNS, Workers, KV, and infrastructure management
IntercomHTTPCustomer messaging, support, and engagement
LinearHTTPIssue tracking and project management
NEAR AIHTTPBuilt-in tools like web search
NotionHTTPPages, databases, and comments
SentryHTTPError tracking and performance monitoring
StripeHTTPPayments, subscriptions, and invoices
Browse more servers at:

Troubleshooting

# Check server health
ironclaw mcp test <server-name>

# Re-authenticate an OAuth server
ironclaw mcp auth <server-name>

# Disable without removing
ironclaw mcp toggle <server-name> --disable

# Debug logging
RUST_LOG=ironclaw::tools::mcp=debug ironclaw mcp test <server-name>