Skip to main content
Glama
EnviableAmaretto

openclaw-task-mcp

openclaw-task-mcp

Simple Node stdio MCP server for OpenClaw task lifecycle.

Tools:

  • start_tasksessions_spawn

  • list_taskssessions_list (subagent-filtered)

  • get_task_statussessions_history (+ result when available)

Requirements

  • Node.js >= 18.19.1

  • Reachable OpenClaw Gateway

  • Gateway token with permission to invoke tools

Related MCP server: OpenClaw MCP Server

Install

git clone https://github.com/EnviableAmaretto/openclaw-task-mcp.git
cd openclaw-task-mcp
npm install
npm run hooks:install

MCP config (Claude-code style / SillyTavern-style)

Put base URL and token directly in the MCP server env block:

{
  "mcpServers": {
    "openclaw": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/openclaw-task-mcp/src/index.js"],
      "env": {
        "OPENCLAW_BASE_URL": "http://127.0.0.1:18789",
        "OPENCLAW_API_TOKEN": "your-gateway-token",
        "OPENCLAW_TIMEOUT_MS": "30000"
      }
    }
  }
}

args[0] must be the absolute path where you cloned this repository on your host. Examples:

  • /home/sillytavern/SillyTavern/repositories/openclaw-task-mcp/src/index.js

  • /opt/openclaw-task-mcp/src/index.js

  • /srv/mcp/openclaw-task-mcp/src/index.js

No separate HTTP MCP endpoint is needed in this mode; the app launches this process over stdio.

Local run (manual)

OPENCLAW_BASE_URL="http://127.0.0.1:18789" \
OPENCLAW_API_TOKEN="YOUR_TOKEN" \
node src/index.js

Tests

npm test

Quality gates

  • Local pre-push hook (.githooks/pre-push) runs npm test.

  • CI (.github/workflows/ci.yml) runs npm ci && npm test on push/PR.

  • Mandatory before commit: launch MCP server (npm start) and execute at least one real E2E MCP call successfully. Tests alone are not sufficient.

Security notes

  • Keep token private; do not commit it.

  • Prefer private host networking for the OpenClaw URL.

  • Rotate token regularly.

Available Tools

3 tools
get_task_statusA

Get task status from sessions_history and include result when available

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
includeResultNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden of behavioral disclosure. It adds useful nuance by saying result is included when available and that status comes from sessions_history, but it does not explicitly state read-only behavior, polling semantics, or what 'result' means.

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?

A single sentence with no filler; the core action and relevant behavior are front-loaded. Every word contributes.

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 status-getter it is adequate, but with no output schema and no annotations it omits possible status values, return format, error behavior, and workflow guidance relative to start_task. An agent could call it correctly but may not know what to expect back.

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 0%, so the description should compensate. It does add meaning for includeResult ('include result when available') and contextualizes the source, but it never names or explains sessionId, which is the required parameter.

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 a specific verb-resource pair: getting task status from sessions_history. It also differentiates from siblings by implying a read-only status lookup rather than starting or listing tasks.

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 when-to-use or when-not-to-use guidance is provided, and no sibling alternative is mentioned. The intended use is implied by the verb and tool name, but an agent is not told to call this after start_task or to avoid it for listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tasksC

List tasks via sessions_list, filtered to subagent by default

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
subagentOnlyNo

TDQS

C2.7/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. It discloses the default subagent filter and hints at delegation via 'sessions_list', but it does not clarify whether this is a read-only operation, how pagination works, or any side effects. For a list tool this is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence that is front-loaded with the core action. It is genuinely concise with no filler, though the opaque 'via sessions_list' phrase could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 undocumented parameters, no annotations, and no output schema, the description is too sparse. It leaves the agent without enough context to correctly set limit/cursor or understand the meaning of 'via sessions_list'. The default filter detail is helpful but insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only hints at the subagentOnly parameter via 'filtered to subagent', but says nothing about limit or cursor. An agent has no guidance on what these parameters control or how to use them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear action and resource: 'List tasks'. The mention of 'via sessions_list' introduces some ambiguity about the implementation, but the core purpose is unmistakable. Compared to siblings start_task and get_task_status, the listing operation is distinct, though not explicitly contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the siblings. The only context is 'filtered to subagent by default', which is a behavioral detail, not a usage condition. An agent must infer that listing is the appropriate operation for retrieving tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_taskC

Start a subagent task via OpenClaw sessions_spawn

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
promptYes
channelNo
metadataNo
requesterSessionNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility. It reveals the action and the 'sessions_spawn' mechanism but omits return behavior, asynchronicity, side effects, and permissions, leaving an agent to guess operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise and front-loaded with the action, but it is under-specified for a tool with 5 parameters including nested objects. Conciseness is achieved at the expense of necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, nested objects, no output schema, no annotations), a one-sentence description is severely incomplete. Missing return format, parameter semantics, and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the five parameters (title, prompt, channel, metadata, requesterSession). It fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Start') and object ('subagent task'), and names the mechanism ('via OpenClaws sessions_spawn'). It does not explicitly name siblings, but the start action is inherently distinct from list_tasks and get_task_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

O only describes what the tool does; it provides no when-to-use context, prerequisites, or exclusions, and does not contrast with sibling tools like list_tasks or get_task_status.

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.2.0
    • First observedget_task_status
    • First observedlist_tasks
    • First observedstart_task

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a distinct action: creating a task, listing tasks, and checking status. There is no overlap or ambiguity between purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: start_task, list_tasks, get_task_status. The naming is uniform and predictable.

Tool Count5/5

Three tools is a well-scoped set for task lifecycle management. Each tool earns its place and there is no redundancy or bloat.

Completeness4/5

The core task lifecycle is covered: starting, listing, and retrieving status. A minor gap is the lack of an explicit cancel/abort operation, but the primary workflow works without dead ends.

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/EnviableAmaretto/openclaw-task-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server