kit-mcp
Syncs the workflow kit into GitHub Copilot's environment, allowing agents and rules to be used within Copilot.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kit-mcplist all brownfield planning agents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kit-mcp
Um kit de agentes, comandos e skills prontos para Claude Code, Cursor, Codex, Windsurf, Antigravity e outros — destilado da documentação oficial do Supabase, livros canônicos de engenharia, e técnicas comprovadas de orquestração agêntica.
Entregue como MCP server, modular: instale só os packs que você usa (Supabase, Observabilidade, Legacy, UI…) — o resto não entra no seu projeto. Use direto via
npx, sem instalar nada.
Bundled workflow: 86 agents · 99 commands · 103 skills · 24 gates
O que é
Quando você usa LLMs em projetos reais, o problema raramente é o modelo — é o contexto. Skills, agents e slash-commands são o jeito moderno de injetar processo, padrões canônicos e guard-rails no Claude Code (e similares) sem reescrever cada prompt.
kit-mcp é um kit curado que materializa isso em três fontes de verdade:
Documentação oficial do Supabase — RLS, branching, Edge Functions, migrations, pgTAP, Custom Claims, Postgres Roles, Storage, Realtime, Cron, pgvector e todas as outras camadas, com anti-pitfalls explícitos.
Livros canônicos — Working Effectively with Legacy Code (Feathers), Designing Data-Intensive Applications (Kleppmann), Observability Engineering (Majors/Fong-Jones/Miranda) e Google SRE Book viraram skills aplicáveis (characterization tests, consistency models, golden signals, eliminating toil).
Técnicas de harness agêntico — orquestração via slash-commands (
/discutir-fase,/planejar-fase,/executar-fase), handoff cooperativo entre agents, gates de pre-verify, replay determinístico, observabilidade do próprio fluxo agêntico.
Tudo escrito em PT-BR, com tabelas, fluxogramas, exemplos rodáveis e referências cruzadas.
Related MCP server: agent-intern
Instalar (sem instalar)
Adicione ao .mcp.json do seu projeto (ou config global do IDE):
{
"mcpServers": {
"kit-mcp": {
"command": "npx",
"args": ["-y", "@luanpdd/kit-mcp"]
}
}
}Pronto. Na próxima sessão, o IDE faz npx e expõe as 14 tools do kit-mcp. Nada instalado globalmente, sem npm install.
Registrar automaticamente
npx -y @luanpdd/kit-mcp install claude-code
# ou: cursor, codex, windsurf, antigravity, copilot, traeProjetar skills/agents/commands para o IDE ler
npx -y @luanpdd/kit-mcp sync claude-codeIsso escreve markdown em .claude/agents/, .claude/skills/, etc. O IDE lê do disco — não precisa do server vivo.
Fluxo completo de primeiro uso
npx -y @luanpdd/kit-mcp init
# 1. registra MCP server no IDE
# 2. projeta o kit
# 3. roda diagnóstico
# 4. confirma: "✓ Claude Code agora vê N skills, M agents, K commands"Content Packs — instale só o que você usa (v1.39+)
O kit é dividido em packs autossuficientes (cada um traz tudo que precisa — sem dependência
entre packs). A base (core) é sempre instalada; o resto é opcional. Não usa Supabase? Não instale
o pack supabase e nenhum recurso Supabase é projetado no seu .claude/.
Pack | O que é |
| Obrigatório. Framework de fases (discutir→planejar→executar→verificar), debugging, mapeamento. |
| Mundo Supabase completo: schema/RLS/migrations/Edge Functions/Auth/Storage/Realtime + B2B multi-tenant + auditoria de dados distribuídos. |
| OpenTelemetry, golden signals, SLO/burn-rate, toil, postmortem, PRR. |
| Characterization tests, seams, refactor seguro, duplicação (Feathers). |
| Fluência de design para IA: UI-SPEC, auditoria visual, designer. |
| Cost tracking (USD/tokens) + gerador de Dynamic Workflows. |
Ver os packs disponíveis
npx -y @luanpdd/kit-mcp pack list # catálogo: cada pack + nº de agents/skills/commands
npx -y @luanpdd/kit-mcp pack info supabase # detalhe de um pack (o que instala, deps, removível)Instalar — escolher os packs
# sem --packs = kit inteiro (padrão, sem breaking change):
npx -y @luanpdd/kit-mcp sync install claude-code
# só a base + os packs que você quer (ex.: tudo MENOS Supabase):
npx -y @luanpdd/kit-mcp sync install claude-code --packs core,observability,legacy,ui,cost-workflow
# só o essencial Supabase:
npx -y @luanpdd/kit-mcp sync install claude-code --packs core,supabaseTrocar os packs depois (incremental, v1.41+)
add/remove/store ajustam a seleção sem reinstalar tudo. A seleção fica gravada num lockfile por
IDE (<stateDir>/.kit-mcp-packs.json), então re-syncs e upgrades preservam o que você escolheu.
npx -y @luanpdd/kit-mcp pack add observability legacy # adiciona e re-sincroniza
npx -y @luanpdd/kit-mcp pack remove supabase # apaga só os arquivos exclusivos do pack
npx -y @luanpdd/kit-mcp pack store # loja interativa (checkbox; core travado)
npx -y @luanpdd/kit-mcp pack doctor # quais packs estão instalados por IDEremove é seguro: só apaga arquivos que ainda são stubs gerados pelo kit (arquivos que você editou à
mão são preservados) e nunca remove core. Vale para qualquer IDE (cursor, codex, windsurf,
antigravity, copilot, trae) — add/remove iteram sobre todos os IDEs já instalados.
O router (
kit-router) e oCLAUDE.mdagregado são gerados bundle-aware: só citam os domínios e recursos dos packs que você instalou — sem rotear para/supabaseou agents ausentes.
Consciência de uso e custo (v1.40+)
Cada agent/skill declara cost_tier: leve | medio | pesado no frontmatter — você vê o peso no
seletor da IDE antes de acionar (ex.: executor é pesado porque encadeia subagentes). As
descriptions seguem o padrão outcome-first (o que entrega + quando usar + sinal de custo). Para o
gasto real em USD/tokens, use o pack cost-workflow: npx -y @luanpdd/kit-mcp cost today.
Em runtime (v1.41+): o cost_tier aparece nas listagens (kit kit list-agents, MCP tool kit)
e no CLAUDE.md agregado; os orquestradores fazem pré-flight antes de disparar subagentes em
massa (listam quem vão chamar + o tier), controlado pelo toggle workflow.cost_awareness
(silencioso | resumo | confirmar) em /configuracoes; e o rodapé de atribuição sugere
/custo-sessao quando o turno usou recursos medio/pesado.
Comandos diários
Comando | Para quê |
| Ver tool calls do servidor em tempo real (JSONL em |
| p50/p95/p99 + error rate + sidecar status |
| Diagnóstico completo (versão, sidecar, hooks, IDE config, log dir) |
| TUI live mostrando request/response do MCP |
| Inspecionar payloads de agents gravados |
Cost tracking (v1.37+)
Suíte de telemetria de custo USD/tokens consumidos pelo Claude Code, inspirada no
ccusage com paridade numérica auditável
(delta ≤ 0.5% vs ccusage em fixture golden). Diferencial: integração nativa com
as fases do framework (cost-phase correlaciona usage com .planning/phases/<n>/).
5 MCP tools
Tool | O que faz |
| Custo do dia corrente (default UTC; |
| Custo de uma sessão ( |
| Janelas de 5h com gap-detection (compatível com ccusage |
| Custo correlacionado a uma fase do framework + |
| Estimativa prévia (heurística |
Todas retornam o shape canônico com total_usd, by_model, entry_count,
deduped_count, unknown_models, pricing_source e pricing_staleness_days.
CLI kit cost
kit cost today # tabela human-friendly
kit cost today --json # raw output do tool
kit cost session --transcript <path> # sessão de um transcript
kit cost blocks --since 2026-06-01 # janelas 5h dos últimos N dias
kit cost phase --phase 172 # custo correlacionado à fase 172
kit cost estimate "prompt de exemplo" # estimativa ex-ante
kit cost statusline # contrato statusline Claude Code
kit cost refresh-pricing # refresca snapshot LiteLLM (manual)Statusline (Claude Code)
Adicione ao ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "npx -y @luanpdd/kit-mcp cost statusline"
}
}Output default compact: $0.42 sess | $1.20 day | $0.18 5h.
Override via KIT_MCP_STATUSLINE_FORMAT=verbose|json.
Bench: cold P50 ~148ms, warm P50 < 1ms (cache em os.tmpdir()).
Skill cost-tracking
Auto-trigger por keywords (custo, cost, gasto, tokens, usd, quanto gastei).
A skill tem bloco de disambiguation explícito vs burn-rate-status (SLO error budget)
e risk-budget (SRE risk) para evitar colisão de intent.
Pricing snapshot
Snapshot embedded do LiteLLM
em src/core/cost/pricing-snapshot.json (refresh weekly via GitHub Action,
sempre PR aberto para review humano — nunca auto-merge).
Limitação conhecida: o snapshot LiteLLM tem lag-behind oficial de 2-4 semanas
para modelos recém-lançados. Tools retornam pricing_staleness_days + warning
se > 30 dias. Modelo desconhecido NUNCA retorna $0 silencioso — sempre usd: null
entrada em
unknown_models[].
Persistência opt-in
Use --persist (CLI) ou persist: true (MCP tool) para gravar o output em
.planning/costs/<ts>-<tool>.json (gitignored, dev-only).
Sem novas runtime deps
Tudo offline-safe, zero deps adicionados em runtime (ccusage está em devDependencies
apenas para o golden test de paridade). Preserva o budget de 6 deps enforçado em CI.
O que a comunidade precisa saber
Dois fluxos diferentes, mesma origem
┌─────────────┐ kit sync ┌──────────────────┐
│ kit/ │ ──────────▶ │ .claude/agents/ │ IDE lê do disco
│ (npm pkg) │ (offline, │ .claude/skills/ │ na inicialização
│ │ one-shot) │ .claude/commands/│
└─────────────┘ └──────────────────┘
┌──────────────┐ spawns ┌──────────────────┐
│ Claude Code │ ────────────▶ │ kit-mcp (stdio) │ tools live via
│ (IDE host) │ stdin/stdout │ 14 tools │ JSON-RPC
└──────────────┘ ◀──────────── └──────────────────┘kit syncprojeta o conteúdo no formato nativo do IDE — funciona offline e o IDE só precisa dos arquivos.kit-mcp(MCP server) roda como subprocess do IDE e expõe 14 tools (kit,sync,reverse-sync,gates,forensics,install,metrics-snapshot,auto-install,ack-restart,cost-today,cost-session,cost-blocks,cost-phase,cost-estimate).
Sem output no terminal ao rodar kit-mcp? Não é bug. A spec MCP proíbe stdout fora do JSON-RPC. Use kit-mcp logs --follow ou o sidecar UI (porta auto-pick na faixa 7100-7199, impressa no stderr ao iniciar).
Stable API v1.0+ desde v1.13
16 releases sem breaking changes na superfície MCP. Sua config .mcp.json continua funcionando.
Princípio canônico do handoff cooperativo (v1.23+)
Agents não-Supabase planejam, agents Supabase materializam/hardenam, ninguém descarta upstream. BLOCK rígido é anti-pattern — verdicts são GO / STRENGTHEN / REWRITE com confirmação.
Defense-in-depth em 10 camadas (Supabase)
RLS + Column-Level + Custom Claims + Postgres Roles + Audit Log + LGPD + Super-admin + Realtime auth + Branching + CI/CD. Cada camada documentada com pattern canônico e anti-patterns.
Convenção PT-BR
Skills, agents e commands são em PT-BR. Termos técnicos canônicos (RLS, SLO, characterization tests) ficam em EN para preservar busca e referências.
Configuração via env vars
Var | Default | O que faz |
| unset |
|
|
| Override do log dir |
|
| Retention (0 = forever) |
| unset |
|
| unset |
|
Estrutura do kit
kit/
├── agents/ 86 agents executáveis (planner, executor, debugger, supabase-rls-hardener, …) — cada um com cost_tier
├── commands/ 99 slash-commands (/discutir-fase, /planejar-fase, /executar-fase, …)
├── skills/ 103 skills consultáveis (supabase-rls-policies, supabase-edge-functions-auth, …) — cada uma com cost_tier
├── packs/ manifestos dos Content Packs (core, supabase, observability, legacy, ui, cost-workflow)
├── framework/ workflows e templates que os agents delegam
└── hooks/ PostToolUse hooks (sidecar-tool-publisher, etc)Contribuindo
Issues e PRs: github.com/luanpdd/kit-mcp
Skills/agents são markdown puro com frontmatter YAML — editar e abrir PR
Antes de mexer em código
src/, leia o.planning/(workflow framework)
Quando NÃO usar
Você não usa Claude Code/Cursor/Codex (ou similar) nem trabalha com agents — provavelmente outro kit serve melhor
Você quer um framework genérico tipo LangChain — kit-mcp é opinionated e em PT-BR
Não usa Supabase? Ainda serve: instale
--packs core,observability,legacy,ui,cost-workflowe nenhum recurso Supabase entra. O packsupabaseé opcional, não o produto inteiro.
Licença
MIT — use, modifique, fork à vontade.
Criado por Luan PDD — engenharia, curadoria de conteúdo e direção do projeto.
Inspirado pelo vinilana/dotcontext.
Available Tools
16 toolsack-restartA
Acknowledge that the IDE session was restarted after kit:auto-install. Removes the .kit-mcp-restart-required marker so kit:doctor stops warning. Called automatically by the harness when it detects the marker after reload, or manually by the user.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states it removes a marker and stops a warning, disclosing a write operation. No additional behavioral details beyond what is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the purpose and add usage context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers purpose and usage but lacks parameter explanation, which is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (projectRoot) with no description in the schema (0% coverage). The description does not explain its meaning or usage, leaving the agent uninformed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: acknowledge IDE restart after kit:auto-install by removing a marker. It distinguishes from sibling tools like auto-install and kit by focusing on the acknowledgment step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: automatically by the harness after reload or manually. It does not explicitly exclude other contexts but the intent is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto-installA
IMPORTANT for first contact: project kit/ into the host's native layout (.claude/agents/, skills/, commands/) so 86 agents become real subagent_types in the Agent tool, 103 skills get native auto-trigger via descriptions, and 99 commands appear as /slash-commands in the IDE. Idempotent — re-running is a no-op if already in sync. Run once per project on first kit-mcp contact; restart the IDE session after to load the new agents/skills/commands. After restart, call ack-restart to clear the marker.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Re-write even if .kit-mcp-version already matches. Default: false. | |
| action | No | install: write files. check: read-only drift report. Default: install. | |
| target | No | IDE id (claude-code, cursor, …). Defaults to claude-code. | |
| projectRoot | No | Override the auto-detected project root. Usually omitted — server reads it from MCP roots capability. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly states idempotency ('re-running is a no-op'), the action of writing files, and the need for an IDE restart. It does not cover error cases or permission requirements, but the core safety and behavior are well-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with an IMPORTANT note and covers all key points in a single paragraph. While it includes specific numbers (86, 103, 99) that add detail, it is still concise and well-structured, with no unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description provides solid context for the main use case (first contact install) but omits explanation of the 'check' action and does not elaborate on parameter behavior like 'force'. The completeness is adequate for a simple installation tool but leaves minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema; for example, it mentions the 'install' action but not the 'check' action. The parameter details (force, target, projectRoot) are adequately documented in the schema, and the description does not explain them further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: installing the project kit into the host's native layout to make agents, skills, and commands available. It uses specific, actionable language ('project kit/ into the host's native layout') and distinguishes its role from sibling tools like 'ack-restart' by describing the follow-up steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage instructions: run once per project on first contact, restart IDE, then call ack-restart. It notes idempotency, implying re-use is not harmful. However, it does not directly differentiate from the sibling 'install' tool or cover when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cost-blocksA
Custo Claude Code por janelas deslizantes de 5h com gap detection (entries separadas por >5h iniciam novo bloco — pattern ccusage). Retorna blocks[] com started_at, ended_at, total_usd, by_model, entry_count, is_active + shape canônico agregado. Triggers: "custo por bloco", "5h windows", "blocks cost", "ccusage blocks". Use cost-today para dia, cost-session para sessão.
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | ||
| persist | No | ||
| config_dirs | No | ||
| projectRoot | No | ||
| refresh_pricing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the algorithm (gap detection, 5h windows) and output shape, which is sufficient for a read-only compute tool. However, it lacks explicit statement about not modifying data or behavioral side effects; with no annotations, some minor gaps exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise, includes key behavior, and front-loads the purpose. It includes trigger phrases which add slight redundancy but are acceptable. It could be more structured but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 undocumented parameters, no output schema, and sibling tools, the description is incomplete. It fails to specify parameter roles, and the return shape description ('shape canônico agregado') is vague. The agent lacks information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the 5 parameters (config_dirs, tz, refresh_pricing, persist, projectRoot). The agent has no guidance on what these parameters do, making correct invocation impossible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool computes Claude Code cost by sliding 5h windows with gap detection, returns blocks with specific fields, and distinguishes from siblings by advising to use cost-today for day and cost-session for session. The verb and resource are clear, and trigger phrases help discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: for block-based cost analysis with sliding windows. It also names alternative tools (cost-today, cost-session) for different granularities, effectively telling when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cost-estimateA
Estima custo USD de um prompt ANTES de mandar para Claude. Heurística chars/4 com range ±30% (sem tokenizer real na v1.37.0 — debt em SKILL.md). Retorna estimated_input_tokens, estimated_output_tokens, estimated_usd, estimated_usd_range:[low,high], disclaimer. Triggers: "quanto vai custar", "estimativa de prompt", "estimate cost", "price this prompt".
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Texto do prompt a estimar. | |
| model | No | Modelo alvo. Default: claude-sonnet-4-5. | |
| output_ratio | No | Multiplicador input → output esperado. Default: 3. | |
| chars_per_token | No | Override heurística. Default: 4. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the heuristic (chars/4 with ±30% range), return fields, and known limitation (debt in SKILL.md). This provides good transparency about what the tool does and its accuracy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently packs purpose, algorithm, limitations, return values, and triggers. Every clause adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 well-documented parameters, no output schema, and no annotations, the description provides sufficient context: algorithm, return values, and limitation. It is nearly complete, though the disclaimer content is not elaborated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds meaning by explaining the heuristic (chars/4) and mentioning that return values include estimated tokens and costs. The output_ratio parameter context is indirectly covered by the return description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates USD cost of a prompt before sending to Claude, using a heuristic. It distinguishes from sibling cost tools (cost-blocks, cost-phase, etc.) by specifying it's for a single prompt. The list of triggers further clarifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use before sending to Claude and lists trigger phrases. It does not explicitly state when not to use or compare with siblings, but the heuristic and limitation ('sem tokenizer real') guide appropriate use for rough estimates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cost-phaseB
Custo Claude Code correlacionado com uma fase do framework kit-mcp (.planning/phases/-*/). Cruza mtime de SPEC.md + completed_at de STATE.md + git log para inferir janela temporal. Retorna shape canônico + phase_id, phase_slug, correlation_confidence (high/medium/low/unknown). Diferencial vs ccusage: contexto de workflow. Triggers: "custo da fase", "quanto a fase X gastou", "phase cost".
| Name | Required | Description | Default |
|---|---|---|---|
| persist | No | ||
| phase_id | Yes | ID numérico ou string da fase (ex: "172"). | |
| config_dirs | No | ||
| projectRoot | No | Raiz onde está .planning/phases/. Default: cwd. | |
| refresh_pricing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It describes data crossing and inference but does not clarify side effects (e.g., whether persist modifies state), error conditions, or prerequisites. Parameters like refresh_pricing and persist hint at mutability, yet the description leaves their impact ambiguous, which is a significant gap for a tool with no annotation safety cues.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise and front-loaded with the core purpose and data sources, but it is a single dense paragraph without clear separation of concerns (e.g., no parameter breakdown, no usage examples). The trigger list at the end is helpful, but overall structure could be improved for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is incomplete. It lacks details on the return format ('canonical shape'), parameter interplay, and common usage patterns. It does not explain how to use optional parameters like config_dirs or persist, leaving significant gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 40% schema coverage, the description should compensate for undocumented parameters, but it does not. It explains phase_id conceptually, but config_dirs, refresh_pricing, and persist are not mentioned in the description at all. Users receive no guidance on their meaning or typical values beyond the minimal schema hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool correlates cost with a specific phase of the kit-mcp framework, detailing data sources (mtime, completed_at, git log) and output (canonical shape with confidence levels). It differentiates from ccusage via workflow context and lists trigger phrases, making the purpose highly specific and distinguishable from sibling tools like cost-session or cost-today.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides trigger phrases ('custo da fase', 'phase cost') indicating when to use, but does not explicitly state when not to use or compare against all relevant siblings (e.g., cost-session, cost-today). The mention of 'Diferencial vs ccusage' offers some context, but it's not a thorough guideline for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cost-sessionA
Custo Claude Code de uma sessão específica (ou da sessão ativa auto-deduzida pelo arquivo JSONL mais recente com mtime < 30min). Retorna shape canônico + session_id, started_at, last_activity_at, source_file. Triggers: "custo da sessão", "session cost", "quanto essa conversa gastou", "current session usd". Use cost-today para o dia inteiro.
| Name | Required | Description | Default |
|---|---|---|---|
| persist | No | ||
| session_id | No | UUID da sessão. Omita para auto-deduzir a sessão ativa. | |
| config_dirs | No | ||
| max_idle_ms | No | Janela de inatividade para considerar sessão ativa (auto-deduce). Default: 1800000 (30min). | |
| projectRoot | No | ||
| refresh_pricing | No | ||
| transcript_path | No | Path do arquivo JSONL (basename sem .jsonl = session_id). Alternativa a session_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses auto-deduction and return fields but does not state side effects (e.g., read-only, auth needs, rate limits). The tool appears to be a read operation, but behavioral details are incomplete given the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a few lines with trigger phrases, which is adequate but not highly structured. It could be more concise by omitting trigger phrases (which are not standard for tool descriptions) or integrating them more cleanly. Overall, acceptable length but room for improvement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no annotations, the description should be more comprehensive. It lacks explanations for most parameters, does not describe the exact return structure beyond 'canonical shape', and omits error handling or edge cases. The description is incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 43%, and the description does not compensate. It adds context only for max_idle_ms (the 30-minute window) but fails to explain config_dirs, refresh_pricing, persist, or projectRoot. Most parameters remain undocumented in the description, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the cost of a specific (or auto-deduced active) session, lists the returned fields (canonical shape, session_id, etc.), and distinguishes from sibling cost-today by explicitly directing to use that tool for daily totals. The trigger phrases further clarify purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (for session cost) and explicitly names an alternative (cost-today for entire day). It also describes the auto-deduction logic based on recent JSONL file mtime, giving clear context. No explicit 'when not to use' but the alternative serves as exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cost-todayA
Custo Claude Code do dia corrente (USD + tokens por modelo) lendo JSONLs de ~/.claude/projects/. tz default UTC (paridade ccusage). Retorna shape canônico: total_usd, by_model, entry_count, deduped_count, skipped_entry_count, parse_error_count, unknown_models, pricing_source, pricing_staleness_days. Triggers: "quanto gastei hoje", "custo do dia", "spent today", "daily cost". Use cost-session para a sessão atual, cost-blocks para janelas de 5h, cost-phase para uma fase do framework.
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | IANA timezone (ex: America/Sao_Paulo). Default: UTC (paridade ccusage). | |
| date | No | Override YYYY-MM-DD do dia alvo (default: hoje no tz). | |
| persist | No | Grava snapshot em .planning/costs/<ts>.json (opt-in). Default: false. | |
| config_dirs | No | Override CLAUDE_CONFIG_DIR. Default: discovery automática (CLAUDE_CONFIG_DIR > XDG_CONFIG_HOME/claude > ~/.claude > %APPDATA%/claude no Windows). | |
| projectRoot | No | Para persist: raiz do projeto. Default: cwd. | |
| refresh_pricing | No | Opt-in fallback models.dev pra modelos não cobertos pelo snapshot embedded. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the tool reads JSONL files, uses timezone defaults, and returns a canonical shape. It does not mention whether it modifies data or has side effects, but the description implies a read-only operation. The level of detail is good but could explicitly state non-destructive behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, front-loading the core purpose. It includes relevant details without being overly verbose. Could be slightly more structured, but it's effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description thoroughly explains the return shape (total_usd, by_model, etc.). It covers timezone handling, default configurations, and provides trigger phrases. The tool has 6 parameters and no output schema, and the description addresses all necessary contextual information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already well-documented. The tool description adds some context (e.g., 'opt-in' for certain params, 'paridade ccusage' for tz) but does not significantly enhance understanding beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: calculating daily cost of Claude Code from local JSONL files. It specifies the output shape and provides trigger phrases. It distinguishes from sibling tools (cost-session, cost-blocks, cost-phase) by name and usage context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool versus alternatives: 'Use cost-session para a sessão atual, cost-blocks para janelas de 5h, cost-phase para uma fase do framework.' This provides clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forensicsC
Failure dataset & replays — close the learning loop on failed agent runs.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | For action=reflect: agent name (e.g. executor) | |
| action | Yes | ||
| dryRun | No | For action=reflect: only save the assembled prompt, no API call | |
| outcome | No | For action=annotate-replay | |
| payload | No | For action=record-replay: the Task() payload to store. | |
| replayId | No | ||
| projectRoot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only mentions 'failure dataset' and 'replays' but not whether the tool is read-only, destructive, or requires specific permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase, which is concise but not a full sentence. It lacks structured information like what actions are available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and 8 action enums and no output schema, the description is severely incomplete. It does not explain the purpose of each action or the expected outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 57%, but the description adds no parameter-level details. Parameters like 'replayId' and 'projectRoot' lack descriptions in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Failure dataset & replays — close the learning loop on failed agent runs' gives a vague sense of purpose but lacks a clear verb and resource. It does not differentiate from siblings like 'metrics-snapshot' or 'sync'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description implies it's for failed agent runs but gives no context on prerequisites or when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gatesC
List, fetch, or execute reusable workflow gates (regression, confidence, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | For action=get or action=run | |
| stage | No | For action=for-stage | |
| action | Yes | ||
| autoSpawn | No | On action=run: auto-start the sidecar UI (kit ui) if not running and stream progress to it. | |
| projectRoot | No | For action=run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It minimally mentions actions like 'run' with autoSpawn sidecar, but lacks details on side effects, permissions, or state changes. The description is insufficient for a tool with 5 parameters and 2 enums.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core purpose. However, it could be structured with more detail on actions and parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 5 parameters and 2 enums, the description is too brief. It does not explain return values, combined parameter usage, or behavior for each action, leaving significant gaps for the AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The description adds general context ('reusable workflow gates') but does not enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists, fetches, or executes reusable workflow gates, with four explicit actions. However, it does not differentiate from sibling tools like 'kit' or 'sync', which could overlap in function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description lists actions but does not specify scenarios for each action or when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
installB
Register this kit-mcp server into an IDE's MCP config (Claude/Cursor/Codex/Antigravity/Windsurf).
| Name | Required | Description | Default |
|---|---|---|---|
| pkg | No | npm package name (only with via=npx). Default: @luanpdd/kit-mcp | |
| via | No | How the IDE will invoke the server. Default: local (this clone) | |
| name | No | Server name in the IDE config. Default: kit | |
| force | No | Overwrite existing entry with same name | |
| scope | No | Default: user | |
| action | Yes | ||
| target | No | IDE id. Use action=targets to list. | |
| projectRoot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only states the action without disclosing behavioral traits such as side effects (e.g., config file modification), required permissions, or reversibility. This lacks sufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the core purpose. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotation support, the description is too brief. It omits important context such as what 'dry-run' does, how to list targets, or default behaviors for optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, but the description adds no information about parameters. It does not explain the meaning, defaults, or relationships of 'action', 'target', 'scope', etc., beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Register' and the resource 'kit-mcp server into an IDE's MCP config', listing specific IDEs. This distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for IDE registration but does not explicitly specify when to use this tool versus alternatives like 'auto-install' or other tooling. Context is clear but exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kitA
Browse the personal kit: 86 agents, 99 commands, 103 skills. Call this when the user mentions Supabase (RLS, branching, migrations, Edge Functions, Custom Claims, Postgres Roles, Storage, Realtime, pgvector), multi-tenant SaaS, agentic harness, characterization tests, legacy refactor, observability (SLO, golden signals, error budgets), DDIA topics (consistency, replication lag, schema evolution), SRE (postmortems, toil, PRR), CI/CD (hermetic builds, pipelines), or any workflow that benefits from the canonical patterns. Use action=search to discover, action=get to read the full prompt/skill.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | For action=get | |
| name | No | For action=get | |
| tier | No | For action=list-agents: filter by tier. core = workflow backbone (~13); specialized = domain-specific (~54). Omit for all. | |
| query | No | For action=search | |
| terse | No | For action=list-*: omit description, return only {kind, name}. Default false (PERF-15-01). | |
| action | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It describes the read-only browse/search/get actions clearly. It does not claim any side effects or destructive behavior, which is consistent with the tool's apparent purpose. Explicitly stating 'read-only' would improve transparency, but the current text is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with the core purpose first, then context triggers, then action guidelines. It is slightly verbose but each sentence adds value. Removing the specific counts (86, 99, 103) might improve conciseness without loss of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description covers the core functionality, usage contexts, and parameter usage adequately. It does not describe return values explicitly, but that is acceptable when no output schema exists. The description is sufficiently complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the baseline is set to 3. The description adds context for when to use which parameter combinations (e.g., 'action=search to discover, action=get to read the full prompt/skill'), but the schema already enumerates parameters with descriptions. The added value is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Browse the personal kit' and lists the components (agents, commands, skills). It distinguishes actions (list, get, search) and provides a specific verb-resource pairing. No sibling tool has an equivalent purpose, so differentiation is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is given: 'Call this when the user mentions Supabase...' and a list of relevant topics. It also explains which action to use for different intents (search, get). However, it does not explicitly state when not to use it or mention alternative tools, though sibling names are provided for reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metrics-snapshotA
Read in-memory golden-signals metrics for this MCP server (counters + latency p50/p95/p99 per tool).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states it reads in-memory metrics, implying read-only, no destructive effects. With no annotations, the description provides basic transparency but could add more about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully specifies the tool's purpose and output data. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so baseline is 4. The description adds value by explaining what the tool returns (counters, latency percentiles) beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies verb 'Read' and resource 'in-memory golden-signals metrics' with detailed metrics (counters + latency p50/p95/p99 per tool), clearly distinguishing from sibling tools like install, sync, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives; usage is implied as the sole tool for reading server metrics, but lacks guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packA
Gerencia Content Packs (subconjuntos instaláveis do kit). action=list catálogo com contagens, info detalha um pack, resolve mostra o fecho de dependências, doctor reporta packs instalados por IDE, add/remove ajustam a seleção e re-sincronizam (escrevem o lockfile .kit-mcp-packs.json). Triggers: "instalar pack", "remover pack", "quais packs", "content pack".
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | For action=info | |
| packs | No | Pack ids for action=resolve|add|remove | |
| action | Yes | ||
| target | No | For add/remove/doctor: pin to one IDE. Default: todos os targets instalados. | |
| cascade | No | For action=remove: também remove packs dependentes (fecho reverso). | |
| projectRoot | No | For add/remove/doctor. Default: cwd. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that add/remove write a lockfile ('.kit-mcp-packs.json') and gives behavioral hints for actions. Could elaborate more on side effects (e.g., read/write behavior), but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but well-structured: general function, then action list with explanations, then trigger examples. It is concise and front-loaded with key information. Minor improvement: could be broken into bullet points for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters and complex action logic, the description covers actions, triggers, and side effects. No output schema exists, so completeness is adequate. It provides enough context for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83% (5 of 6 parameters described). The description adds value beyond the schema by explaining each action's purpose and context, such as 'action=list catálogo com contagens'. This helps agents understand parameter usage beyond enum labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool manages 'Content Packs' and explicitly lists six actions (list, info, resolve, doctor, add, remove) with brief explanations. It distinguishes from sibling tools like 'install' and 'sync' by focusing on pack-level management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by explaining when to use each action (e.g., 'resolve mostra o fecho de dependências') and lists common triggers ('instalar pack', 'remover pack'). However, it does not explicitly exclude scenarios or compare to alternatives like 'install'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projectsA
Consome o registro de projetos (PROJETOS.md na raiz, gerido pelo comando /base) em runtime. action=list retorna projeto principal + projetos conectados com status de completude por projeto; get busca um projeto pelo nome (pasta local, repositório, documentação local); doctor gera relatório de validação — campos obrigatórios, existência das pastas locais no disco e shape https?:// das URLs. Triggers: "registro de projetos", "projetos conectados", "PROJETOS.md", "/base", "projeto principal", "onde fica o projeto X".
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | For action=get — nome do projeto como registrado no PROJETOS.md (case-insensitive). | |
| action | Yes | ||
| projectRoot | No | Raiz onde está o PROJETOS.md. Default: cwd. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It reveals the tool is read-only ('consome'), describes validation outputs, and lists triggers. It lacks explicit statements about side effects, but the detail on actions compensates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is in a single paragraph but remains concise, covering purpose, actions, and triggers in about 150 words. It could benefit from bullet points or clearer separation, but it's not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides solid context: what each action returns and validation details. It lacks return format or error handling, but for a simple registry tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds meaning by explaining action-specific behaviors and the role of the name parameter in get. projectRoot is adequately described in both schema and description. The actions' implications go beyond enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool consumes the project registry (PROJETOS.md) and details three specific actions (list, get, doctor) with precise outcomes. It differentiates from siblings by focusing on project registry management, a niche not covered by other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit trigger phrases and action-specific behaviors, guiding when to use the tool. However, it does not specify when not to use it or contrast with sibling tools like sync, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse-syncC
Detect and apply edits made directly in an IDE back to the canonical kit/.
| Name | Required | Description | Default |
|---|---|---|---|
| only | No | For action=apply: limit to these kind/name pairs | |
| action | Yes | ||
| dryRun | No | ||
| target | Yes | IDE id (e.g. claude-code, cursor) | |
| strategy | No | For action=apply | |
| autoSpawn | No | On action=apply: auto-start the sidecar UI (kit ui) if not running and stream progress to it. | |
| projectRoot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should disclose behavior. It mentions detecting and applying edits but does not describe side effects, destructive actions, permissions, or other traits. The description is too minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but lacking structure. It front-loads the core purpose but does not elaborate or organize information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, 2 required, no output schema, and moderate complexity, the description is insufficient. It does not explain key aspects like the 'action' parameter, 'target', or how 'detect' and 'apply' work.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%; some parameters have descriptions in schema (e.g., 'only', 'strategy', 'autoSpawn'), but the overall description adds no extra parameter semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detects and applies IDE edits back to the canonical kit/, using specific verbs and resource. It distinguishes from sibling 'sync' by specifying the reverse direction (IDE to canonical).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'sync', or when to use 'detect' vs 'apply'. The description lacks context for appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
syncC
Project the kit into an IDE-specific layout (markdown references by default).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Default: reference | |
| action | Yes | ||
| dryRun | No | ||
| target | No | IDE id (e.g. claude-code, cursor, codex). Use action=targets to list. | |
| autoSpawn | No | On action=install: auto-start the sidecar UI (kit ui) if not running and stream progress to it. | |
| projectRoot | No | Defaults to cwd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only mentions projection and default mode, but does not disclose whether actions are destructive, if it requires network, or what happens to existing data. Behavioral traits like install/remove actions are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single 12-word sentence is very concise and front-loaded. However, it cuts off critical information, earning a 4 rather than 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is insufficient to fully understand the tool's behavior and constraints. It does not cover actions, dryRun, autoSpawn, etc.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so baseline is 3. The description adds some value by noting default mode (markdown references), but does not elaborate on action enums, target, or other parameters meaningfully beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Project' with resource 'kit' into 'IDE-specific layout', and mentions default mode (markdown references). It distinguishes from sibling 'reverse-sync' and others by focusing on projecting to IDE layout, but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like install, reverse-sync, etc. The description does not provide context for when sync is appropriate or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but the five cost-related tools (cost-blocks, cost-estimate, cost-phase, cost-session, cost-today) could cause confusion despite scope differentiation. Descriptions help, but the domain overlap is notable.
All names use lowercase with hyphens, but the semantic pattern is inconsistent: verb-noun (ack-restart, auto-install), noun-noun (cost-blocks, metrics-snapshot), and single-word (install, kit, sync). Mixed conventions reduce predictability.
16 tools is slightly above the ideal 3–15 range but still reasonable. The set covers multiple sub-domains (cost, kit management, projects), though some tools like forensics and gates feel vague.
The cost tools provide tracking but lack budgeting or forecasting. Kit management has sync and reverse-sync but no create/update for agents/skills/commands. Projects tool is limited to listing and validation; lifecycle operations are missing.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The project brain for AI coding agents — memory, decisions, sprints, knowledge base via MCP.
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
MCP server for generating rough-draft project plans from natural-language prompts.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA local-first MCP server that helps Claude Code prioritize your work by searching across your tools like GitHub and Slack.7MIT
- AlicenseAqualityAmaintenanceAn MCP server that bridges Claude Code with Antigravity CLI using a Swarm Agent architecture to optimize local development workflows and minimize LLM token costs. Includes a web UI for monitoring agent workflows.2122MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for project planning inside Claude. It tracks progress, knows your codebase, and resumes exactly where you left off every session.145
- AlicenseAqualityBmaintenanceOne MCP that turns Claude Code into your whole dev stack by swallowing other MCP servers, delegating to Codex & Gemini on your CLI subscriptions, remembering projects in a searchable knowledge graph, and carrying setup across sessions — secret-free by design.233MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luanpdd/kit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server