MCP server that provides a gateway to Manus AI autonomous cloud agent capabilities, with multi-account capacity pool management, greedy credit routing, and automatic failover.
Server defines 5 tools with explicit schemas and descriptions using mcp-go framework. All tools have descriptions (194 - 392 chars, within baseline range) and input parameters with type annotations. However, output schemas are undocumented, responses are formatted as markdown text rather than structured objects, forcing LLMs to parse unstructured output. Parameter descriptions lack constraint details (enums, ranges, formats). Error handling returns generic error messages without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (READ_ONLY, WRITE, DESTRUCTIVE). Missing dependency hints and parameter relationship documentation.
Delegate a task to Manus AI autonomous cloud agent. Uses Greedy Credit Routing to automatically pick the account with maximum credits, with automatic failover.
Retrieve capacity pool status across all 7 Manus API accounts: remaining spendable credits, next refresh timers, and total available pool balance.
Check execution status, latest messages, and generated artifact links (files, websites, downloads) for a Manus task.
Send a follow-up message to a Manus task for multi-turn conversations or answering agent questions.
Kill-Switch: immediately stops a running Manus task to halt credit consumption.
Output schemas undocumented. All tools return markdown text (strings) rather than structured JSON objects. LLMs must parse unstructured output, increasing errors and token waste. E.g., manus_get_pool_status returns a markdown table as plain text instead of a structured array of account objects with typed fields.
Missing tool annotations. Tools have clear risk profiles (READ_ONLY, WRITE, DESTRUCTIVE) but do not declare readOnlyHint, destructiveHint, or idempotentHint in schema. Agents cannot determine which tools are safe to retry or have irreversible consequences.
Parameter constraints not documented. agent_profile accepts 'max', 'standard', 'lite' but no enum constraint or description of valid values. order accepts 'asc'/'desc' but not formalized. limit lacks min/max bounds. LLMs may pass invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Error handling lacks recovery guidance. handleGetPoolStatus returns 'Failed to get pool status: %v', a raw error that tells the LLM nothing about whether to retry, ask the user, or escalate. No error categorization (retryable vs fatal).
Missing parameter relationship documentation. manus_create_task accepts optional key_id to force a specific account, but no description of what happens if key_id is invalid or exhausted. manus_get_task_status searches across pool if key_id omitted, undocumented dependency.