Unified Agent & MCP Control Plane — aggregator for AI agents and MCP tools
26 tools with explicit schemas and descriptions, but significant quality gaps. Most tools have basic descriptions (50-150 chars) and complete input schemas with proper types. However, parameter descriptions are often minimal or missing context. No output schemas documented. Error handling guidance absent. Tool naming is verb-first and clear, but composition issues exist: workflow_board is a mega-tool with 20+ sub-actions (help, list_boards, create_board, etc.) violating single-responsibility principle. Goal tools have redundant aliases (goalId/goal_id, chatId/chat_id) adding noise. No pagination guidance for list_* tools. Security: no evidence of permission gates, audit trails, or secret injection patterns. Baseline: 549 production tools average 18-char names (these average 16), 194-char descriptions (these average 120), 100% of A+ tools document outputs (this server: 0%).
Mark a chat goal as blocked with a concrete reason.
Cancel the active task for a chat through Agent Portal orchestration control.
Clear queued messages for a chat goal.
Mark a chat goal as completed.
Create a chat goal for Agent Portal. Orchestrators use this to define the current objective, context, and scenarios for a chat.
Delete an Agent Portal chat. Optionally cancel its pending task first.
Delete a chat goal and clear it from the owning chat.
workflow_board is a mega-tool with 20+ sub-actions (help, list_boards, create_board, create_item, decompose, update_item, reply, update_board, control_board, etc.). Violates single-responsibility principle. LLM cannot determine which action to invoke without trial-and-error. Should split into separate tools: create_board, list_boards, create_board_item, update_board_item, etc.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. get_chat_task_result returns 'safe chat-scoped or task-inferred finalAgentMessage projection, runtime summary, development map with activityMap, subagentMap, taskMap, toolMap, timings, liveness, usage totals, promptHints', described in prose, not structured schema. Agents must guess field names and types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Queue a user message for a chat goal. Use delivery "goal" for an immediate restart request and "after" for FIFO after the current run.
Finish and clean up the active task for a chat through Agent Portal orchestration control.
Get one Agent Portal chat, optionally without full message history.
Get a bounded page of messages for an Agent Portal chat.
Get the result for a chat task through Agent Portal orchestration control. Returns a safe chat-scoped or task-inferred finalAgentMessage projection when available, a safe runtime summary, and a development map with activityMap, subagentMap nodes/tree/edges, taskMap, toolMap, task timings, liveness classification, latest tool usage with durationMs/usageMs/timingSource, usage totals, compatibility promptHints strings, and structured promptHintMap suggestions.
Get the Agent Portal development map for orchestrator control. Returns subagentMap nodes/tree/edges, activityMap, taskMap, toolMap, latest tool usage with durationMs/usageMs/timingSource, usage totals, liveness, compatibility promptHints strings, and structured promptHintMap suggestions. Agent Pool remains internal and is not exposed as public MCP tools.
Get one Agent Portal chat goal by ID.
Get Agent Portal orchestrator state, public MCP surface, internal runtime health, active chat counts, systemLoad capacity summary, MCP client/proxy telemetry, and a development map. Returns a bounded compact development map by default; pass detail:"full" for the complete map (subagentMap, taskMap, toolMap, activityMap, promptHintMap) — large, may exceed an agent context budget.
List Agent Portal chat metadata for orchestrator control.
List queued messages for a chat goal.
List Agent Portal chat goals, optionally filtered by chat, project, or status.
Mark one queued goal message as applied.
Pause a chat goal while keeping it attached to its chat.
Resume a paused chat goal and make it active.
Select or clear the active goal for a chat.
Set the provider session ID associated with an Agent Portal chat.
Stop a chat goal by marking it completed.
Update Agent Portal chat routing metadata used by the orchestrator.
Unified workflow board control plane for Agent Portal. Supports board creation, card lifecycle management, automation configuration, orchestration, and audited event tracking. Actions include: help, list_boards, get_board, create_board, create_item, decompose, update_item, reply, update_board, control_board, update_column, delete_item, transition, enqueue, queue, link_dependency, unlink_dependency, define_column, define_transition, define_gate, delete_column, orchestrate, control, recovery, reconcile, list_events.
Redundant parameter aliases throughout (goalId/goal_id, chatId/chat_id, taskId/task_id, etc.). Adds noise and forces LLM to choose between equivalent parameters. Consolidate to single canonical names (goalId, chatId, taskId) or document why aliases are necessary.
No error handling guidance. Tools like delete_goal, delete_chat, clear_goal_messages, finish_chat_task are destructive but provide no recovery hints. If a delete fails, LLM has no guidance on whether to retry, ask user, or escalate. Missing pattern:recovery-guide.
list_* tools (list_goals, list_chats, list_goal_messages) lack pagination guidance. No mention of limit, offset, or cursor parameters in descriptions. Large result sets will blow context windows. Descriptions should state: 'Returns up to N items; use offset/limit for pagination.'