openclaw-tools-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@openclaw-tools-mcp search the web for MCP server best practices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
openclaw-tools-mcp
MCP server that exposes OpenClaw tools to ACP agents (Kiro, Codex, Claude Code, etc.).
ACP agents run in their own runtime with their own native tools but lack access to OpenClaw's capabilities. This server bridges that gap — web search, page fetching, browser automation, PDF analysis, messaging, inter-agent communication, and Canvas are all available as MCP tools.
ACP Agent ◄── stdio (JSON-RPC) ──► openclaw-tools-mcp ◄── HTTP ──► OpenClaw GatewayDefault tools
Tool | Description |
| Search the web |
| Fetch and extract readable content from URLs |
| Control a web browser (navigate, click, type, screenshot, etc.) |
| Analyze PDF documents |
| Send messages via Discord, Telegram, WhatsApp, etc. |
| Control the Canvas visual workspace |
| Send a message into another OpenClaw session (agent-to-agent) |
Related MCP server: dat-ai-mcp
Quick start
cd openclaw-tools-mcp
npm install
npm run buildAdd to ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"openclaw-tools": {
"command": "node",
"args": ["/absolute/path/to/openclaw-tools-mcp/dist/index.js"],
"env": {
"OPENCLAW_GATEWAY_TOKEN": "${OPENCLAW_GATEWAY_TOKEN}"
}
}
}
}Requires Node.js >= 22 and a running OpenClaw Gateway.
Configuration
Environment variables
Variable | Required | Default | Description |
| Yes | — | Bearer token for gateway auth |
| No |
| Gateway base URL |
| No | all 7 tools | Comma-separated list of tools to expose |
| No |
| Path to config file |
| No | — | Comma-separated paths to custom tool JSON files |
Config file
Optional openclaw-mcp.json:
{
"gateway": {
"url": "http://127.0.0.1:18789",
"token": "your-token"
},
"tools": ["web_search", "web_fetch", "browser", "pdf", "message", "canvas", "sessions_send"],
"customTools": ["./tools/rooms.json"]
}Environment variables override config file values.
Exposing a subset of tools
{
"mcpServers": {
"openclaw-tools": {
"command": "node",
"args": ["/path/to/openclaw-tools-mcp/dist/index.js"],
"env": {
"OPENCLAW_GATEWAY_TOKEN": "${OPENCLAW_GATEWAY_TOKEN}",
"OPENCLAW_MCP_TOOLS": "web_search,web_fetch,message"
}
}
}
}Custom tool definitions
Load additional tools from JSON files — useful for custom OpenClaw skills/plugins.
{
"tools": [
{
"name": "room_join",
"description": "Join a named room for multi-agent broadcast messaging.",
"parameters": {
"type": "object",
"properties": {
"room": { "type": "string", "description": "Room name" },
"agentId": { "type": "string", "description": "Your agent ID" }
},
"required": ["room", "agentId"]
}
}
]
}Single-tool files (without the tools wrapper) also work. The schema format matches what OpenClaw plugins use in registerTool(). Supported types: string, number, integer, boolean, array. Enums via "enum": [...].
A sessionKey parameter is automatically injected into every custom tool for gateway routing.
A ready-made definition for the rooms plugin is included at tools/rooms.json.
Notes
The server uses stdio transport — ACP agents spawn it as a child process.
All tool calls are proxied to the gateway's
POST /tools/invokeHTTP endpoint.sessions_sendrequires a gateway config change — see below.Every built-in tool (except
sessions_send) accepts an optionalsessionKeyparameter for routing the call to a specific agent session on the gateway.
Enabling sessions_send
sessions_send is on the gateway's default HTTP deny list for /tools/invoke. Without this config change, calls will return 404 Tool not available. Add to your OpenClaw config (~/.openclaw/openclaw.json):
gateway: {
tools: {
allow: ["sessions_send"]
}
}Then restart the gateway (openclaw gateway restart).
Troubleshooting
Server won't start —
OPENCLAW_GATEWAY_TOKENmust be set.Tools return errors — Verify the gateway is running (
openclaw gateway status) and the token is correct.Tool not found (404) — The tool may be blocked by gateway policy. Check
gateway.tools.denyin your OpenClaw config.Verify in Kiro CLI — Run
/mcpin an interactive session to see loaded servers and tools.
License
This project is released into the public domain under The Unlicense. See LICENSE.
Available Tools
7 toolsbrowserC
Control a web browser. Actions: status, start, stop, tabs, open, snapshot, screenshot, navigate, act, click, type, scroll, select, hover, wait, evaluate, close, pdf
Inputs: action (required), ref, url, text, +9 more.
canvasC
Control the Canvas visual workspace. Actions: present, hide, navigate, eval, snapshot, a2ui_push, a2ui_reset
Inputs: action (required), url, html, node, +4 more.
messageC
Send messages and perform channel actions (Discord, Telegram, WhatsApp, etc.). Actions: send, react, search, read, poll, thread-create, thread-reply
Inputs: action (required), to, emoji, limit, +9 more.
pdfB
Analyze PDF documents from file paths or URLs
Inputs: pdf, pdfs, model, pages, +2 more.
sessions_sendA
Send a message into another OpenClaw session. Use for agent-to-agent communication. Either sessionKey or label must be provided to identify the target session.
Inputs: message (required), label, sessionKey, timeoutSeconds.
web_fetchA
Fetch and extract readable content from a URL (HTML converted to markdown or text)
Inputs: url (required), maxChars, sessionKey, extractMode.
web_searchC
Search the web and return results
Inputs: query (required), count, country, language, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct domain: web search, URL fetching, browser control, PDF analysis, messaging, canvas, and inter-session communication. No two tools have overlapping purposes; even web_fetch and browser are differentiated by control vs extraction.
The naming pattern is inconsistent: some tools use verb_noun (web_search, web_fetch), some are single nouns (browser, pdf, message, canvas), and one uses noun_verb (sessions_send). All are lowercase snake_case, but the structure varies.
Seven tools is well-scoped for a general-purpose assistant toolkit, covering major capabilities like web, communication, document analysis, and workspace control without feeling bloated or sparse.
The suite covers web research, browsing, document analysis, messaging, canvas control, and agent-to-agent communication. Minor gaps like calendar or file management could be expected, but the core workflows are well covered.
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Scrape, crawl and search the web for AI agents via MCP.
Hosted MCP runtime where your agent publishes its own tools by tool call and keeps working.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables file system operations, web scraping, and AI-powered search through MCP tools for use by LLM agents.1-
- AlicenseAqualityDmaintenanceProvides browser automation, audio transcription, and LLM chat as MCP tools for any agent.7MIT
- FlicenseNot gradedqualityDmaintenanceExposes task management (add, list, complete tasks) and document search (RAG) as MCP tools for AI agents.-
- AlicenseBqualityCmaintenanceExposes ACR's memory, skill, web, and GitHub search tools to any MCP client, enabling task execution and tool access via the MCP protocol.64MIT