Clanker
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., "@Clankerrun /clanker:codex to fix the failing tests"
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.
Clanker
Claude Code plugin + stdio MCP server for running external coding agents as Claude-owned background tasks.
Clanker exposes these slash commands:
Command | Backend |
| Codex ACP |
| Grok ACP |
| Opencode with GLM |
| Opencode with DeepSeek |
| Opencode with Kimi |
| Opencode free model |
| Advanced Opencode model override |
Default mode is background: the Claude Agent task owns the visible bottom task row, while the MCP server owns the ACP backend process. Use --wait to run foreground.
Layout
.
├── .claude-plugin/marketplace.json
├── plugin/
│ ├── .claude-plugin/plugin.json
│ ├── .mcp.json
│ ├── agents/
│ ├── commands/
│ └── dist/clanker-mcp.mjs
├── src/
├── test/
├── scripts/
└── package.jsonRelated MCP server: openai-agents-mcp
Install
claude plugin marketplace add /path/to/ClankerHouse
claude plugin install clanker@clankerThen restart Claude Code or run /reload-plugins.
The active Claude config should point here:
"enabledPlugins": {
"clanker@clanker": true
},
"extraKnownMarketplaces": {
"clanker": {
"source": {
"source": "directory",
"path": "/path/to/ClankerHouse"
}
}
}Development
npm ci
npm run bundle
npm test
npm run typechecknpm run bundle writes plugin/dist/clanker-mcp.mjs, the self-contained server bundle Claude loads from its plugin cache.
Runtime Config
Env | Default | Meaning |
|
| Silence before a running turn is flagged as suspected stalled. |
|
| Hard per-turn ceiling before the subprocess is killed and the turn becomes |
|
| ACP initialize + session/new timeout. |
|
| Idle session TTL before reaping. |
|
|
|
| unset |
|
| server cwd | Base repo for managed worktrees. |
|
| Artifact and managed worktree roots. |
Available Tools
7 toolsclanker_cancelCancel a Clanker's in-flight turnADestructiveIdempotent
Send ACP session/cancel to the Clanker backend. Returns {id, status}. No-op if the session is idle.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Run id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond annotations: it explains the return format, the idempotent behavior ('No-op if the session is idle'), and the backend call. Annotations already indicate destructive and idempotent hints, and the description aligns without contradiction.
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?
Two sentences convey all necessary information: the action, return, and edge case. No waste, front-loaded with key details.
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?
Given the simple parameter, full schema coverage, and good annotations, the description is nearly complete. It could possibly mention the source of the run id or prerequisites, but it's adequate for selection and invocation.
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 input schema fully describes the single parameter 'id' as 'Run id.' The description does not add any further meaning or usage details beyond what the schema provides, so baseline 3 is appropriate.
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 action ('Send ACP session/cancel'), the resource ('Clanker backend'), and the effect ('Returns {id, status}'). The title specifies 'Cancel a Clanker's in-flight turn,' making the tool's purpose distinct from siblings.
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 implicitly tells when to use by stating it cancels an in-flight turn and is a no-op if idle. However, it does not explicitly mention alternatives or when not to use, though the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_dispatchDispatch to a Clanker and block until the turn completesADestructive
Convenience path = clanker_dispatch_start + loop clanker_wait until the turn is terminal. Returns the terminal WaitResult {status, final_message, touched_files, plan_final}. For long tasks prefer clanker_dispatch_start + clanker_wait so the caller controls polling and avoids MCP request timeouts.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute working directory (default: server base repo) | |
| lane | Yes | Backend Clanker to drive: codex | opencode | grok | |
| model | No | Model override, e.g. 'zhipuai-coding-plan/glm-5.2' (opencode) — warned & echoed if the Clanker can't honor it | |
| effort | No | Reasoning effort override (codex/grok only) | |
| prompt | Yes | The task/prompt to send to the Clanker | |
| worktree | No | Branch name; server creates a git worktree cut from origin/main and runs there | |
| read_only | No | If true, the Clanker is gated read-only (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint: true, etc.), the description adds that this tool blocks until the turn is terminal, and warns about potential MCP request timeouts for long tasks. It also specifies the return structure (WaitResult with fields status, final_message, etc.), which is not covered by annotations.
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 two sentences: the first explains the purpose and behavior, the second provides a usage guideline. It is concise, front-loaded, and contains no filler.
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?
Given the tool's complexity (blocking, 7 parameters, no output schema), the description explains the return structure and timeout concerns. It references sibling tools for long tasks. Missing error handling details, but overall adequate for a convenience wrapper.
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 descriptions for all parameters, so baseline is 3. The description does not add additional parameter-level detail beyond the schema, but it provides context on the return structure (WaitResult) which compensates slightly for the lack of output schema.
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 title and description clearly state the tool dispatches a Clanker and blocks until completion. It explicitly distinguishes itself from sibling tools like clanker_dispatch_start (which does not block) by describing it as a convenience path combining start and wait.
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 explicitly advises 'For long tasks prefer clanker_dispatch_start + clanker_wait' to avoid MCP request timeouts, providing clear when-to-use and when-not-to-use guidance with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_dispatch_startStart a Clanker turn (non-blocking)ADestructive
Spawn/handshake a Clanker and start a prompt turn, returning {id} immediately. Poll progress with clanker_wait(id). Setup errors (unknown backend, worktree creation) fail here; runtime errors surface via clanker_wait.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute working directory (default: server base repo) | |
| lane | Yes | Backend Clanker to drive: codex | opencode | grok | |
| model | No | Model override, e.g. 'zhipuai-coding-plan/glm-5.2' (opencode) — warned & echoed if the Clanker can't honor it | |
| effort | No | Reasoning effort override (codex/grok only) | |
| prompt | Yes | The task/prompt to send to the Clanker | |
| worktree | No | Branch name; server creates a git worktree cut from origin/main and runs there | |
| read_only | No | If true, the Clanker is gated read-only (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds valuable context: it's non-blocking, returns an id immediately, and explains error handling ('setup errors fail here; runtime errors surface via clanker_wait'). This goes beyond annotations without contradiction.
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?
Two sentences with no wasted words. The key action is front-loaded, and crucial guidance (polling, error separation) is included concisely. Every sentence earns its place.
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?
The description covers the return value ({id}), the polling mechanism (clanker_wait), and error differentiation. While there is no output schema, the return value is stated. It could detail cancellation (via clanker_cancel) or more error scenarios, but given the tool's moderate complexity, it is reasonably complete.
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%, so each parameter is described in the schema. The description adds meaning by explaining that errors related to 'lane' and 'worktree' parameters (unknown backend, worktree creation) surface immediately, providing error-handling context beyond the schema descriptions.
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 action: 'Spawn/handshake a Clanker and start a prompt turn, returning {id} immediately.' It uses specific verbs ('start', 'spawn') and resource ('Clanker'), and differentiates from siblings like clanker_wait by highlighting the non-blocking nature and immediate return.
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 explicitly tells the user to 'Poll progress with clanker_wait(id)' and distinguishes setup errors from runtime errors, guiding the agent to use this tool for initiating tasks and clanker_wait for monitoring. It provides clear when-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_listList active Clanker sessionsARead-onlyIdempotent
Overview of live Clankers: [{id, lane, state (working|idle|stalled), idle_ms, turns_count, plan_summary, suspected_stall}]. Reaped/closed sessions are omitted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds value by specifying it includes live sessions only and excludes reaped/closed ones, plus showing the output structure.
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?
One sentence plus compact field list; no unnecessary text. Front-loaded with purpose and structured output.
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 zero-parameter list tool, the description covers what is returned and what is omitted. Could optionally include ordering or limit, but not essential.
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?
No parameters are defined. Per guidelines, 0 parameters yields a baseline of 4. The description appropriately avoids parameter detail since none exist.
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 it lists active Clanker sessions with a specific set of fields. It distinguishes from sibling tools (e.g., clanker_cancel, clanker_status) by focusing on a collective overview of live sessions.
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 guidance on when to use this tool vs alternatives. While it's obvious for listing all active sessions, there is no mention of when to prefer this over clanker_status or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_promptContinue an existing Clanker session with a new turnADestructive
Start a new prompt turn on an already-open session (persistent-session reuse). Returns {id}; poll with clanker_wait(id). Errors if the session was reaped/closed or a turn is already running.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Existing run/session id | |
| prompt | Yes | Prompt for the new turn |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true (destructive) and readOnlyHint=false (write operation). The description adds context about the return value ({id}), polling via clanker_wait, and specific error scenarios. This provides useful behavioral details beyond what annotations convey, though it does not detail side effects on session state.
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 two sentences with no fluff. The first sentence covers purpose and output, the second covers error conditions. Information is front-loaded and every sentence contributes meaning.
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?
Given the tool has only 2 parameters with full schema coverage, clear annotations, and no output schema, the description is sufficient. It explains the return value ({id}), the polling mechanism (clanker_wait), and error conditions, providing all necessary context for an agent to use the tool correctly.
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%, so the schema already describes both parameters ('id' and 'prompt') adequately. The description does not add any additional semantic detail beyond the schema. According to the rubric, when coverage is high, baseline is 3, and no extra value is added.
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 purpose: 'Start a new prompt turn on an already-open session'. The phrasing 'persistent-session reuse' implies continuation of an existing session, which helps distinguish it from tools like clanker_dispatch or clanker_dispatch_start that likely initiate new sessions. However, it does not explicitly differentiate from all siblings.
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 specifies the context for use ('on an already-open session') and mentions error conditions ('session reaped/closed or a turn already running'), which helps the agent decide when to invoke this tool. It also references clanker_wait for polling. Missing explicit when-not-to-use guidance, but the error conditions imply prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_statusCheap status of a Clanker runARead-onlyIdempotent
Return {status, plan (checkbox counts + current step), tool_calls, last_event_age_ms, suspected_stall}. Does not wait. suspected_stall flags a running turn silent past the stall threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Run id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds valuable behavioral context: non-blocking nature, stall detection field (suspected_stall), and that it returns current plan and tool_calls. No contradictions.
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?
Two sentences, no unnecessary words. First sentence clearly lists return fields. Second sentence clarifies behavior. Every sentence earns its place.
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 tool with one parameter and no output schema, description is complete: explains return structure, non-blocking nature, stall detection. Could mention it is a lightweight check without side effects, but overall sufficient.
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?
Single parameter 'id' with schema description 'Run id'. Schema coverage is 100%, so description does not need to add much. The tool description does not elaborate on the parameter beyond what schema provides, which is acceptable but not additive.
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?
Description clearly states what the tool does: returns a specific set of fields including status, plan, tool_calls, last_event_age_ms, suspected_stall. Distinguishes from sibling like clanker_wait by explicitly saying 'Does not wait.'
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?
Implied usage: use for quick status check without waiting. But no explicit when-to-use/when-not-to-use or alternative references (e.g., 'Use clanker_wait to block until completion'). Only 'Does not wait' hints at distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_waitLong-poll a Clanker runARead-only
Wait up to timeout_ms (default 30000, cap 55000) for new events or completion. Returns {status, digest, plan_summary, last_event_age_ms, suspected_stall}; when status is terminal also {final_message, touched_files, plan_final}. digest is a human-readable summary of events since the previous wait — tool titles, file writes, plan check changes, key message sentences. Quiet mode (default on): only wakes before the deadline on a plan/status change, a tool error, a suspected stall, or a terminal state — trivial chatter (a tool_call starting, a file-location echo, a message-chunk fragment) does not cut the wait short, so callers no longer need to repoll tightly just because the run is reading/grepping. Pass quiet:false for the old any-event wake-up.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Run id from clanker_dispatch_start / clanker_dispatch | |
| quiet | No | Debounce mode (default true): wake early only on plan/status change, tool error, suspected stall, or terminal state. quiet:false restores waking on every trivial event (tool_call start, file echo, message chunk) — the pre-debounce behavior. | |
| timeout_ms | No | Long-poll window in ms (default 30000, capped at 55000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses many behavioral details beyond the annotations: quiet mode debouncing, what events trigger early wake (plan/status change, tool error, suspected stall, terminal state), and what trivial chatter does not. It also describes the return structure and digest contents. No contradiction with annotations (readOnlyHint, openWorldHint).
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 moderately concise; it is long but each sentence serves a purpose. It front-loads the core functionality and then details behavior. The quiet mode explanation could be slightly tightened, but it is well-structured.
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 must cover return values. It does: 'Returns {status, digest, plan_summary, last_event_age_ms, suspected_stall}' and terminal fields. It also explains digest content and quiet mode. Given the tool's complexity and lack of output schema, this is fully adequate.
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%, yet the description adds significant meaning: timeout_ms default and cap, quiet mode default and effect, and the id's origin ('from clanker_dispatch_start / clanker_dispatch'). This enhances the agent's understanding beyond the schema.
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 purpose: 'Wait up to timeout_ms for new events or completion.' It uses specific verbs ('Wait', 'long-poll') and specifies the resource ('Clanker run'). The description distinguishes it from siblings by detailing the long-polling behavior and return data, which is not available in other tools like clanker_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?
The description provides usage guidelines by explaining when to use the tool (to wait for events/completion) and how the quiet mode affects behavior. It explicitly states that 'callers no longer need to repoll tightly' and contrasts quiet against the old any-event wake-up, offering clear context for use.
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.
7 tool updates
v0.1.0- First observed
clanker_cancel - First observed
clanker_dispatch - First observed
clanker_dispatch_start - First observed
clanker_list - First observed
clanker_prompt - First observed
clanker_status - First observed
clanker_wait
TDQS
Each tool has a clearly distinct purpose: cancel, dispatch (convenience wrapper), dispatch_start (initiate), list, prompt (existing session), status, wait. No overlap despite some convenience aliasing.
All tool names follow the consistent 'clanker_verb' pattern in snake_case. Verbs are descriptive and predictably relate to actions (cancel, dispatch, list, prompt, status, wait).
7 tools cover the full session management lifecycle without being excessive. Each tool addresses a necessary operation, from starting to polling to cancellation.
Core CRUD-like operations are covered: start a turn, wait, check status, list sessions, cancel. Missing an explicit 'delete or close session' tool, but cancel may suffice. Slight gap for cleanup.
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
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that delegates Claude Code subagents to alternative backends such as local models, DeepSeek, or AWS Bedrock, while keeping your Claude Code orchestrator session intact.58MIT
- 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
- AlicenseNot gradedqualityDmaintenanceMCP server that enables Claude Code to communicate with other Claude Code agents over HTTP, allowing users to ask questions about remote codebases or delegate coding tasks.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that bridges Claude Desktop with Claude Code, allowing users to delegate tasks to Claude Code directly from Claude Desktop conversations, supporting both synchronous and background execution with session reuse.5MIT
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/kckylechen1/ClankerHouse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server