openclaw-mcp
Click on "Install 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-mcpAsk Daemon about the ClawPort architecture"
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-mcp
MCP server for Claude Code to talk to OpenClaw AI agents (Daemon, Soren, Ash, etc.) via the gateway API.
What it does
Gives Claude Code three tools:
ask_agent— Send a message to any OpenClaw agent and get their response inlinelist_agents— Discover all available agents on the gatewayagent_status— Check if a specific agent is active
Related MCP server: openai-agents-mcp
Quick Setup
# Install globally
npm install -g openclaw-mcp
# Add to Claude Code (simplest)
claude mcp add openclaw -- npx openclaw-mcp
# Or with explicit config
claude mcp add openclaw \
--env OPENCLAW_GATEWAY_URL=http://172.16.24.250:18789 \
--env OPENCLAW_GATEWAY_TOKEN=your_token \
-- npx openclaw-mcpManual Setup
Add to your .claude/settings.json (or ~/.claude.json for global):
{
"mcpServers": {
"openclaw": {
"command": "npx",
"args": ["openclaw-mcp"],
"env": {
"OPENCLAW_GATEWAY_URL": "http://172.16.24.250:18789",
"OPENCLAW_GATEWAY_TOKEN": "your_token"
}
}
}
}Configuration
Variable | Default | Description |
|
| OpenClaw gateway URL |
| (required) | Auth token from your OpenClaw config |
Find your token in ~/.openclaw/openclaw.json under gateway.token.
Usage in Claude Code
Once configured, just talk to Claude Code naturally:
"Ask Daemon about the ClawPort architecture"
"Check which agents are available"
"Ask Soren to review this code approach"
"What's the status of the Ash agent?"
Tools Reference
ask_agent
Sends a message to an OpenClaw agent and returns their response.
agent: "daemon" | "soren" | "ash" | "mira" | "jace" | "pip" | ...
message: "Your question or request"Uses session key agent:{name}:mcp so MCP conversations are isolated from Discord/ClawPort sessions.
list_agents
No params. Returns all models/agents registered on the gateway.
agent_status
agent: "ash"Returns the agent's name, model ID, and availability status.
Local Development
git clone https://github.com/Codename-11/openclaw-mcp
cd openclaw-mcp
npm install
npm run build
# Test
OPENCLAW_GATEWAY_URL=http://localhost:18789 \
OPENCLAW_GATEWAY_TOKEN=your_token \
node dist/index.jsLicense
MIT
Available Tools
3 toolsagent_statusA
Check the status of a specific OpenClaw agent session.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | The agent name to check status for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description conveys a read-only operation via 'check', but adds no behavioral context such as permissions, response format, or side effects. Since no annotations are provided, the description carries the full burden but remains minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler words. It efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is minimally adequate but lacks detail about what 'status' includes or the return value. Since there is no output schema, the description could be more explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'agent' parameter. The tool description adds no extra meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'check' and resource 'status of a specific OpenClaw agent session', clearly distinguishing it from siblings like ask_agent and list_agents. It clearly states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives such as ask_agent or list_agents. Usage is implied only by the word 'check', with no exclusions or guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_agentA
Send a message to an OpenClaw agent and get their response. Use agent names like 'daemon', 'soren', 'ash', 'mira', 'jace', 'pip'.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | The agent to message (e.g. 'daemon', 'soren', 'ash') | |
| message | Yes | The message to send to the agent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action and that a response will be returned, but does not disclose potential failure modes (e.g., unknown agent, timeouts), whether the response is streamed or complete, or any side effects. This is a significant gap for a tool that sends messages to external agents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core action. It avoids fluff and every word contributes to understanding the tool's purpose. The inclusion of example agent names is efficient and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two simple parameters and no output schema, the description is mostly complete. It clearly conveys the input (message) and the expected result (response). However, it does not describe the format or content of the response, which might be relevant for an agent. Given the low complexity, this is acceptable but not perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'agent' and 'message' documented in the input schema. The description adds example agent names, but these are already present in the schema's agent description. Thus, the description adds minimal semantic value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Send a message to an OpenClaw agent and get their response.' It uses a specific verb (send) and resource (agent), and provides example agent names. This distinguishes it from sibling tools like list_agents and agent_status, which cover listing and status checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage context by listing example agent names ('daemon', 'soren', 'ash', 'mira', 'jace', 'pip'), implying the user should know which agent to address. It does not explicitly mention when to use this tool instead of siblings, but the purpose is clear enough that the distinction is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agentsA
List all available OpenClaw agents from the gateway.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It states it is a list operation (implying read-only) and adds 'available' and 'from the gateway', but it omits details about return format, authentication, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 8 words, front-loaded with verb and resource. Every word contributes to the meaning, with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return values. It doesn't specify what the returned list contains (e.g., IDs, names, statuses). For a simple list tool with no params, this is a minor gap, but without return info the agent may not know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%, so the baseline is 4. No parameter descriptions are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('OpenClaw agents') and source ('from the gateway'), distinguishing it from sibling tools like ask_agent and agent_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided, but the description clearly implies use when a list of agents is needed. It does not mention alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
agent_status - First observed
ask_agent - First observed
list_agents
TDQS
Each tool serves a clearly distinct purpose: listing agents, checking a specific agent's status, and sending a message. There is no overlap between these operations.
Most tools follow a verb_noun pattern (ask_agent, list_agents), but agent_status deviates by using noun_noun. The inconsistency is minor and the names remain clear.
Three tools is a well-scoped set for an agent interaction server, covering the core needs of discovery, status checking, and messaging without unnecessary bloat.
The set covers the primary lifecycle of interacting with agents, but lacks explicit session management (e.g., start/stop). This is a minor gap for a basic agent gateway server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseBqualityFmaintenanceMCP server that exposes OpenClaw Gateway tools to Claude Code and other MCP clients, enabling messaging, session management, scheduling, node control, web search, memory search, and TTS.211414MIT
- AlicenseAqualityDmaintenanceMCP server that bridges OpenAI's Agents SDK with Claude Code, enabling web search, file search, and computer use capabilities directly in your development environment.291MIT
- AlicenseAqualityDmaintenanceMCP server that integrates OpenClaw AI assistant with Claude Code, enabling chat, task management, messaging, memory, alerts, agent spawning, and web search through configurable tools.12208MIT
- AlicenseAqualityDmaintenanceThis MCP server enables remote control and management of Claude Code agents, allowing you to execute missions, configure agent personalities, and integrate with other MCP tools.7251MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Codename-11/openclaw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server