AI agent wrapper for Martol collaborative workspace. Connects AI agents (Claude, OpenAI, Codex) to Martol chat rooms via WebSocket + MCP HTTP for real-time collaboration with structured action approval workflows.
Martol Agent defines 5 tools with complete input schemas and generally good descriptions. However, there are significant gaps in output schema documentation, error handling guidance, and some parameter descriptions lack actionable detail. Tool naming follows verb_noun conventions well (action_*, brief_*, doc_*). The action_submit tool has a sophisticated nested schema with simulation and impact tracking, but lacks guidance on what the LLM should do if approval is denied or times out. Most parameter descriptions are present and clear, but output structures are not documented for any tool, forcing LLMs to infer response formats. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery steps.
Check the approval status of a previously submitted action.
Submit a structured action for approval. Use for code changes, deployments, config modifications, and other actions that need human review. The action will be reviewed and approved by a human with sufficient authority before being executed.
Fetch the current project brief for this room. The brief contains project goals, tech stack, conventions, and constraints set by the room owner or lead. Use this to refresh your understanding of the project context.
Update the project brief for this room. You MUST call this tool when asked to fill, update, or write the project brief. Provide any combination of sections. Only provided fields are updated; omitted fields are left unchanged.
Search uploaded documents semantically. Returns matching text chunks with filenames and relevance scores. Use when users ask about document contents or when you need to reference uploaded files. Include citation markers like [📄 filename.pdf] in your response so users can click to view the source.
No output schemas documented for any tool. LLMs must infer response structures, leading to incorrect field extraction and downstream tool call failures.
action_submit lacks error handling guidance. What should the LLM do if the action is rejected by the approver? How long should it wait? When should it retry? No recovery guidance provided.
action_submit's 'simulation' field description mentions type-specific preview data but does not clearly state what happens if the preview is omitted. Optional vs required is unclear for nested properties.
doc_search parameter 'query' lacks constraint documentation. Should the query be freeform text or follow a specific syntax? Are there length limits? What happens on empty query?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 51 | - | v1 |
brief_update parameters (goal, stack, conventions, phase, notes) lack min/max length constraints and guidance on when each field should be updated vs left unchanged.
action_status description does not clarify what statuses are possible (approved, rejected, pending, expired?) or what fields the response contains.