MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

O
Openclaw MCP Adapter

OpenClaw plugin that exposes MCP server tools as native agent tools

Created 1/31/2026
Updated 3 days ago
Repository documentation and setup instructions

MCP Adapter (OpenClaw Plugin)

Exposes MCP (Model Context Protocol) server tools as native OpenClaw agent tools.

Instead of running MCP servers through a CLI skill, this plugin connects to your MCP servers at startup, discovers their tools, and registers each one as a first-class tool that agents can invoke directly.

Requirements

  • OpenClaw gateway
  • Node.js 18+
  • MCP servers you want to connect to

Installation

openclaw plugins install mcp-adapter

Alternative: install from source

git clone https://github.com/androidStern/openclaw-mcp-adapter.git
openclaw plugins install ./openclaw-mcp-adapter

Configuration

1. Enable the plugin and configure servers

Add to ~/.openclaw/openclaw.json:

{
  "plugins": {
    "entries": {
      "mcp-adapter": {
        "enabled": true,
        "config": {
          "servers": [
            {
              "name": "myserver",
              "transport": "stdio",
              "command": "npx",
              "args": ["-y", "some-mcp-server"],
              "env": {
                "API_KEY": "${MY_API_KEY}"
              }
            }
          ]
        }
      }
    }
  }
}

2. Allow for sandboxed agents

Add "mcp-adapter" to your sandbox tool allowlist:

{
  "tools": {
    "sandbox": {
      "tools": {
        "allow": ["group:runtime", "group:fs", "mcp-adapter"]
      }
    }
  }
}

3. Restart the gateway

openclaw gateway restart

4. Verify

openclaw plugins list
# Should show: MCP Adapter | mcp-adapter | loaded

Server Configuration

Stdio transport (spawns a subprocess)

{
  "name": "filesystem",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "@anthropic/mcp-filesystem", "/path/to/dir"],
  "env": {
    "SOME_VAR": "value"
  }
}

HTTP transport (connects to a running server)

{
  "name": "api",
  "transport": "http",
  "url": "http://localhost:3000/mcp",
  "headers": {
    "Authorization": "Bearer ${API_TOKEN}"
  }
}

Config Options

| Option | Type | Default | Description | |--------|------|---------|-------------| | servers | array | [] | List of MCP servers to connect to | | toolPrefix | boolean | true | Prefix tool names with server name (e.g., myserver_toolname) |

Server Options

| Option | Type | Required | Description | |--------|------|----------|-------------| | name | string | Yes | Unique name for this server | | transport | "stdio" | "http" | No | Connection type (default: stdio) | | command | string | stdio only | Command to spawn | | args | string[] | No | Command arguments | | env | object | No | Environment variables | | url | string | http only | Server URL | | headers | object | No | HTTP request headers |

Environment Variable Interpolation

Use ${VAR_NAME} in env and headers values to reference environment variables from ~/.openclaw/.env:

{
  "env": {
    "API_KEY": "${MY_SERVICE_API_KEY}"
  }
}

How It Works

  1. On gateway startup, the plugin connects to each configured MCP server
  2. Calls listTools() to discover available tools
  3. Registers each tool with OpenClaw using its name, description, and JSON Schema
  4. When an agent invokes a tool, the plugin proxies the call to the MCP server
  5. If the connection dies, it automatically reconnects on the next tool call

Example: AgentMail

{
  "name": "agentmail",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "agentmail-mcp"],
  "env": {
    "AGENTMAIL_API_KEY": "${AGENTMAIL_API_KEY}"
  }
}

This registers tools like agentmail_create_inbox, agentmail_send_email, etc.

License

MIT

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-openclaw-mcp-adapter

Cursor configuration (mcp.json)

{ "mcpServers": { "androidstern-openclaw-mcp-adapter": { "command": "npx", "args": [ "androidstern-openclaw-mcp-adapter" ] } } }
Author Servers
Other servers by androidStern