Skip to main content
Glama

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 inline

  • list_agents — Discover all available agents on the gateway

  • agent_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-mcp

Manual 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

http://localhost:18789

OpenClaw gateway URL

OPENCLAW_GATEWAY_TOKEN

(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.js

License

MIT

Available Tools

3 tools
agent_statusA

Check the status of a specific OpenClaw agent session.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentYesThe agent name to check status for

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentYesThe agent to message (e.g. 'daemon', 'soren', 'ash')
messageYesThe message to send to the agent

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.1.0
    • First observedagent_status
    • First observedask_agent
    • First observedlist_agents

TDQS

A4/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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