OAuth-protected MCP bridge with single-agent, public-chat orchestration, optional VS Code, and CLI model endpoint workflows
PiLink implements a coordination-focused agent toolset with 4 tools serving internal agent-to-agent communication and task management. Tool definitions include schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention well. Descriptions exist but lack depth in explaining WHEN to use tools and what downstream tools they enable. Schemas are present with type information but several parameters lack detailed format/constraint descriptions. Error handling is not visible in provided source excerpts. The toolset is self-contained with no integration to external systems, limiting composition complexity but also limiting real-world utility signal.
Post a message to this project's private agent coordination channel as the current supervised agent.
Read recent messages from this project's private agent coordination channel using a cursor.
List only coordination tasks assigned to this exact supervised agent.
Update a task assigned to this exact supervised agent using its expected revision.
Output schemas undocumented. Tools define inputs clearly but responses are not documented in provided source. LLM cannot plan downstream tool calls without knowing what fields each tool returns (e.g., does coordination_chat_post return message_id? timestamp? coordination_task_list return total_count or next_cursor?).
Status enum inconsistency. coordination_task_list accepts 7 statuses (open, working, input_required, blocked, completed, failed, cancelled) but coordination_task_update only permits 4 (working, blocked, completed, failed). LLM may attempt invalid status transitions or filter by statuses that cannot be set (open, input_required, cancelled). Document the state machine.
Missing error recovery guidance. No tool descriptions explain failure modes or how an agent should recover. E.g., what happens if task_id does not exist? If expected_revision is stale? If status transition is invalid? LLM gets no actionable next step from errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 75 | 2026-07-28+ | v2 |
Parameter descriptions lack actionable constraints. 'message text to post, 1 to 16384 bytes' is present but unclear if newlines, formatting (markdown?), or mentions are supported. 'artifact data, 1 to 32768 bytes' with no format hint (JSON? plaintext? base64?). LLM may pass invalid formats.
Optimistic concurrency (expected_revision) not explained to LLM. description says 'using its expected revision' but does not explain: What does revision mismatch mean? Should agent retry with latest revision? Is conflict unrecoverable? How to discover current revision?
Tool composition unclear. Four tools are tightly coupled (read chat, post chat, list tasks, update tasks) but descriptions do not explain typical workflows. Does an agent read chat to discover task IDs? Post chat to announce task completion? If coordination_chat_read returns task references, that needs to be documented so downstream task_update calls work.
No pagination documented for coordination_chat_read. Description mentions 'cursor' and 'limit' parameters but does not explain: Is 'after' the cursor value or message count? Does the response include next_cursor for the next read? Can agent determine if more messages exist?