Ferramentas MCP
Referência completa de todas as 22 ferramentas MCP do SpecForge — parâmetros, uso e exemplos.
O SpecForge expõe 22 ferramentas MCP organizadas em cinco categorias. Essas ferramentas estão disponíveis para qualquer agente de código compatível com MCP (Claude Code, Cursor, VS Code com Copilot, Gemini CLI, etc.) uma vez que o servidor MCP do SpecForge esteja configurado.
Consultas
Seis ferramentas para ler dados do projeto, buscar tickets e gerar relatórios. São somente leitura — nunca modificam sua especificação.
get
Recupera uma única entidade por tipo e ID.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | "project" | "specification" | "epic" | "ticket" | "implementation_session" | Sim | Tipo de entidade a recuperar |
id | string | Sim | ID da entidade |
specificationId | string | Não | Contexto da especificação (obrigatório para épicos e tickets) |
{
"type": "ticket",
"id": "tkt_abc123",
"specificationId": "spec_xyz789"
}Retorna o objeto completo do ticket incluindo título, descrição, passos, critérios de aceite, dependências, status, complexidade, prioridade, tags e expectativas de arquivo.
list
Lista entidades de um tipo dado com filtros opcionais.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | "projects" | "specifications" | "epics" | "tickets" | Sim | Tipo de entidade a listar |
projectId | string | Não | Filtrar por projeto (obrigatório para especificações) |
specificationId | string | Não | Filtrar por especificação (obrigatório para épicos e tickets) |
epicId | string | Não | Filtrar tickets por épico |
{
"type": "tickets",
"specificationId": "spec_xyz789",
"epicId": "epic_456"
}Retorna um array de todos os tickets pertencentes ao épico especificado.
search
Busca unificada em tickets com consultas full-text e filtros estruturados.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
query | string | Não | Busca full-text em títulos e descrições de tickets |
files | string[] | Não | Filtrar por caminhos de arquivo esperados |
tags | string[] | Não | Filtrar por tags |
status | string[] | Não | Filtrar por status: "pending", "ready", "active", "done" |
complexity | string[] | Não | Filtrar por complexidade: "small", "medium", "large", "xlarge" |
priority | string[] | Não | Filtrar por prioridade: "low", "medium", "high", "critical" |
limit | number | Não | Máximo de resultados a retornar |
offset | number | Não | Offset de paginação |
fields | string[] | Não | Campos específicos a incluir nos resultados |
{
"query": "authentication middleware",
"status": ["ready", "pending"],
"priority": ["high", "critical"],
"limit": 10
}✅ Combine
filescomtagspara encontrar todos os tickets tocando uma parte específica do seu codebase. Por exemplo,files: ["src/auth/**"]comtags: ["security"].
get_next_actionable_tickets
Retorna tickets em status ready com todas as dependências satisfeitas, ordenados por prioridade e complexidade.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a consultar |
projectId | string | Não | Contexto do projeto |
limit | number | Não | Máximo de tickets a retornar |
{
"specificationId": "spec_xyz789",
"limit": 5
}Este é o ponto de entrada principal para agentes decidindo no que trabalhar a seguir. No Agent Teams, o orquestrador chama isso para atribuir tickets a workers.
get_blocked_tickets
Retorna tickets em status pending junto com os motivos pelos quais estão bloqueados.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a consultar |
Cada ticket bloqueado inclui suas dependências não resolvidas e quaisquer motivos de bloqueio externo.
get_report
Gera relatórios analíticos em diferentes escopos e intervalos de tempo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | "implementation" | "time" | "blockers" | "work" | "implementation_analysis" | Sim | Tipo de relatório |
scope | "project" | "specification" | "epic" | Sim | Escopo do relatório |
scopeId | string | Sim | ID da entidade de escopo |
startDate | string | Não | Data inicial para relatórios com intervalo de tempo (ISO 8601) |
endDate | string | Não | Data final para relatórios com intervalo de tempo (ISO 8601) |
| Tipo de Relatório | Descrição |
|---|---|
implementation | Resumo de progresso com percentuais de conclusão e trabalho restante |
time | Análise de rastreamento de tempo com horas estimadas vs. reais |
blockers | Análise detalhada de bloqueadores com cadeias de dependência |
work | Histórico de work sessions e log de atividade |
implementation_analysis | Análise profunda de qualidade e padrões de implementação |
Ciclo de Vida
Nove ferramentas que conduzem especificações através de planejamento, implementação e revisão. São as ferramentas centrais do fluxo de trabalho.
start_planning_session
Abre uma sessão de planejamento para uma especificação, habilitando mudanças estruturais.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a planejar |
A especificação deve estar em estado draft, planning, specifying ou validating.
action_planning_session
Realiza operações dentro de uma sessão de planejamento ativa. Esta é a ferramenta principal para construir especificações — ela lida com 18 operações distintas.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação sendo planejada |
operation | string | Sim | Operação a realizar (veja tabela abaixo) |
Parâmetros adicionais dependem da operação.
Operações de Estrutura
| Operação | Descrição |
|---|---|
set_metadata | Atualizar título, descrição ou tags da especificação |
create_epic | Criar um novo épico com título, descrição e ordenação |
update_epic | Modificar um épico existente |
create_ticket | Criar um ticket dentro de um épico |
update_ticket | Modificar um ticket existente |
delete_epic | Remover um épico e seus tickets |
delete_ticket | Remover um único ticket |
Operações de Vinculação
| Operação | Descrição |
|---|---|
add_dependencies | Definir links de dependência entre tickets |
remove_dependency | Remover um link de dependência |
create_blueprint | Criar um novo documento de blueprint |
link_blueprint | Vincular um blueprint a um épico |
update_blueprint | Modificar um blueprint existente |
delete_blueprint | Remover um blueprint |
unlink_blueprint | Desvincular um blueprint de um épico |
Operações de Consulta e Controle
| Operação | Descrição |
|---|---|
get_ticket | Recuperar um ticket dentro do contexto da sessão |
advance_phase | Avançar manualmente a fase da especificação |
get_status | Obter status atual da sessão de planejamento |
gps | Obter um resumo de planejamento com indicadores de progresso |
Exemplo — Criando um ticket:
{
"specificationId": "spec_xyz789",
"operation": "create_ticket",
"epicId": "epic_456",
"title": "Implement JWT token generation",
"description": "Create a service that generates signed JWT access tokens with configurable expiration.",
"complexity": "medium",
"priority": "high",
"steps": [
"Create JwtService class in src/auth/jwt.service.ts",
"Implement generateAccessToken method with RS256 signing",
"Add token expiration configuration via environment variables",
"Write unit tests for token generation and validation"
],
"acceptanceCriteria": [
"Tokens are signed with RS256 algorithm",
"Token expiration is configurable",
"Invalid tokens are rejected with clear error messages"
]
}ℹ️ A especificação transiciona automaticamente entre os estados
planning,specifyingevalidatingbaseado nas operações que você realiza. Você não gerencia essas transições manualmente.
complete_planning_session
Encerra a sessão de planejamento e dispara o gate de Planning Review.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação para completar o planejamento |
Se o gate de Planning Review está habilitado e a especificação passa, ela avança para ready.
start_work_session
Inicia trabalho de implementação em um ticket específico.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ticketId | string | Sim | Ticket para trabalhar (deve estar em status ready) |
Transiciona o ticket de ready para active. Retorna o contexto completo do ticket: passos de implementação, critérios de aceite, expectativas de arquivo, outputs de dependência e blueprints vinculados.
action_work_session
Registra progresso, resultados e descobertas durante a implementação.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ticketId | string | Sim | Ticket ativo |
steps | object[] | Não | Atualizações de conclusão de passos |
acceptanceCriteria | object[] | Não | Resultados de critérios de aceite |
testResults | object[] | Não | Resultados de execução de testes |
notes | string | Não | Notas de implementação |
files | object[] | Não | Mudanças de arquivo feitas |
discovery | object | Não | Novas informações descobertas durante implementação |
blockReason | string | Não | Reportar um bloqueador externo |
{
"ticketId": "tkt_abc123",
"steps": [
{ "index": 0, "completed": true },
{ "index": 1, "completed": true }
],
"files": [
{ "path": "src/auth/jwt.service.ts", "action": "created" },
{ "path": "src/auth/jwt.service.test.ts", "action": "created" }
],
"notes": "Used jose library instead of jsonwebtoken for Edge Runtime compatibility."
}complete_work_session
Finaliza trabalho em um ticket com um resumo e resultados de validação.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ticketId | string | Sim | Ticket ativo |
summary | string | Sim | Resumo do trabalho realizado |
files | object[] | Não | Lista final de mudanças de arquivo |
actualHours | number | Não | Horas gastas na implementação |
validation | object | Não | Resultados de validação: tests, lint, typeCheck, build |
Transiciona o ticket de active para done. Tickets dependentes são recalculados e podem se tornar ready.
start_review_session
Inicia uma sessão de Implementation Review para uma especificação.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a revisar (deve estar em estado ready_for_review) |
action_review_session
Endereça achados durante uma sessão de review ativa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação sendo revisada |
reviewSessionId | string | Sim | ID da sessão de review ativa |
findingsAddressed | object[] | Sim | Lista de achados e como foram endereçados |
complete_review_session
Conclui o Implementation Review.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação sendo revisada |
reviewSessionId | string | Sim | ID da sessão de review |
summary | string | Sim | Resumo do review |
confirmAllDismissed | boolean | Não | Confirmar que todos os achados restantes são intencionalmente descartados |
Mutações
Quatro ferramentas para criar, modificar e vincular dados do projeto.
create_specification
Cria uma nova especificação dentro de um projeto.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
projectId | string | Sim | Projeto onde criar a especificação |
title | string | Sim | Título da especificação |
description | string | Sim | Descrição detalhada do que construir |
reopen_specification
Reabre uma especificação completada ou revisada para trabalho adicional.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a reabrir |
reset_work_session
Reseta tickets completados de volta a um estado trabalhável.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Contexto da especificação |
ticketIds | string[] | Sim | Tickets a resetar |
options | object | Não | Opções de reset (ex.: limpar arquivos, limpar notas) |
⚠️ Resetar tickets limpa dados de work session. Commits e PRs vinculados são preservados, mas conclusões de passos, notas e resultados de critérios de aceite são removidos. O reset cascateia para tickets dependentes.
link_pull_request
Associa um pull request a um ticket completado.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ticketId | string | Sim | Ticket a vincular |
prNumber | number | Sim | Número do pull request |
prUrl | string | Sim | URL completa do pull request |
title | string | Sim | Título do PR |
author | string | Sim | Autor do PR |
repoUrl | string | Sim | URL do repositório |
Orquestração
Duas ferramentas para entender e navegar o grafo de dependência.
get_critical_path
Calcula a cadeia de dependência mais longa em uma especificação — a sequência de tickets que determina o tempo mínimo para conclusão.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a analisar |
Retorna uma lista ordenada de tickets formando o caminho crítico, junto com o esforço total estimado.
get_dependency_tree
Renderiza a árvore de dependência completa upstream e downstream para uma especificação.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
specificationId | string | Sim | Especificação a analisar |
Retorna uma estrutura de árvore mostrando todos os tickets, suas dependências e status atuais. Útil para visualizar a forma geral do trabalho e identificar gargalos.
Utilitário
feedback
Submeta feedback, reporte problemas ou sugira melhorias.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
operation | "submit" | "list" | "get" | Sim | Operação de feedback |
category | string | Não | Categoria do feedback (para submit) |
summary | string | Não | Resumo do feedback (para submit) |
severity | string | Não | Severidade do problema (para submit) |
tool | string | Não | Qual ferramenta o feedback se refere (para submit) |
Veja Também
- Comandos CLI — Equivalentes CLI para operações comuns
- Estados da Especificação — Máquina de estados disparada por ferramentas de ciclo de vida
- Estados do Ticket — Estados de ticket acionados por ferramentas de work session