Distributed MCP and CLI for devs-loop ClickUp automation
Server exposes 8 tools with basic schemas and Portuguese descriptions. Tool names follow verb_noun pattern (devs_loop_*) but lack clarity on action semantics. Schemas are present but parameter descriptions are missing entirely, only type constraints visible. Output structure uses createResponse() helper but no documented return schema. Error handling exists (withToolCapture) but provides minimal recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable (single responsibility per tool), but parameter naming could be more explicit (e.g., 'listId' vs 'list_id'). Descriptions are adequate (50-150 chars) but lack WHEN/WHY context for LLM selection.
Marca checklist, para timer, conclui a task e registra comentário final.
Cria uma task usando as regras do devs-loop e inicia timer por padrão.
Inicia uma sessão local do devs-loop com projeto, iniciativa e lista do ClickUp.
Lista os projetos conhecidos no config do devs-loop.
Lê o devs-loop-progress.md e devolve contexto recente do mesmo projeto ou iniciativa.
Para o timer ativo.
Parameter descriptions completely absent. Zod schemas define types (string, integer, enum) but no descriptions explain what each parameter controls or when to use it. LLMs cannot infer parameter semantics from type alone.
No output schema documented. Tools return createResponse(summary, data) with structuredContent, but LLMs have no formal schema to understand return fields. Downstream tool chaining requires guessing field names.
Error handling provides no recovery guidance. withToolCapture() catches errors and returns {ok: false, error: message}, but error messages are generic (e.g., 'Projeto não encontrado') with no actionable next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Mapeia as listas reais do ClickUp e sugere as melhores opções para um projeto.
Consulta a task atualmente em andamento no devs-loop.
No tool annotations. Tools marked as WRITE (create_task, complete_task, stop_timer, init_session) lack destructiveHint or idempotentHint annotations. LLMs cannot distinguish safe retries from irreversible operations.
Parameter naming inconsistency. Uses camelCase (listId, startTimer) instead of snake_case (list_id, start_timer). Inconsistent naming increases LLM confusion when many tools are available.