FogBugz
Um servidor MCP local para interagir com o rastreador de
Documentação
Servidor MCP FogBugz
Um servidor Model Context Protocol (MCP) que conecta assistentes de IA a uma instância FogBugz ativa. Pesquise e gerencie casos, acompanhe o histórico, atribua e resolva — tudo a partir de uma conversa em linguagem natural. Funciona com instalações FogBugz locais (on-premise) e sob demanda (on-demand).
Recursos
- Pesquise e liste casos usando a sintaxe de consulta do FogBugz (ex.:
project:Website status:Active) - Leia detalhes do caso incluindo histórico completo de eventos e comentários
- Crie e atualize casos — defina título, projeto, área, marco, prioridade e comentários
- Gerenciamento completo do ciclo de vida — atribua, resolva, reabra e feche casos
- Descoberta de usuários, projetos e áreas — liste pessoas, categorias, projetos, marcos e status
- Crie novos projetos diretamente da conversa
- Seleção automática de API — detecta a versão do seu FogBugz e alterna entre as APIs XML e JSON automaticamente
Requisitos
- FogBugz (local ou sob demanda)
- Node.js 20 ou superior
- Um token de API do FogBugz
Como obter um token de API do FogBugz
Você precisa de um token de API para autenticar o servidor MCP com o FogBugz. Há duas maneiras de obter um:
Pela interface web
Vá para Conta e Configurações → Opções do Usuário e clique no link Criar Token de API.
Consulte o guia oficial: Criar Token de API usando a interface do FogBugz
Via solicitação de API
Envie a seguinte solicitação (substitua os espaços reservados pelos seus valores):
https://[your-fogbugz-server]/api.asp?cmd=logon&email=[your-email]&password=[your-password]
A resposta conterá seu token de API.
Consulte o guia oficial: Obter um Token de API usando comandos da API do FogBugz
Configuração do Cliente de IA
MCP é um padrão aberto — este servidor funciona com qualquer cliente de IA compatível com MCP. A configuração varia conforme o cliente.
Claude Desktop ✓ (testado)
Instalação com um clique: Baixe o pacote .mcpb mais recente da página de Releases e abra-o — o Claude Desktop instalará e configurará o servidor automaticamente, solicitando a URL do seu FogBugz e o token de API.
Configuração manual: Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"fogbugz": {
"command": "npx",
"args": ["-y", "@todevs/fogbugz-mcp"],
"env": {
"FOGBUGZ_URL": "https://your-fogbugz-server.com",
"FOGBUGZ_API_KEY": "your-api-token"
}
}
}
}
Claude Code ✓ (testado)
Adicione em .mcp.json na raiz do seu projeto:
{
"mcpServers": {
"fogbugz": {
"command": "npx",
"args": ["-y", "@todevs/fogbugz-mcp"],
"env": {
"FOGBUGZ_URL": "https://your-fogbugz-server.com",
"FOGBUGZ_API_KEY": "your-api-token"
}
}
}
}
Outros clientes compatíveis com MCP
Qualquer cliente que suporte servidores MCP stdio deve funcionar. Consulte a documentação do seu cliente sobre como registrar um servidor MCP stdio com variáveis de ambiente. O ponto de entrada do servidor é npx @todevs/fogbugz-mcp (ou node /path/to/dist/index.js para uma compilação local).
Ferramentas
Gerenciamento de Casos
| Ferramenta | Descrição |
|---|---|
create_case | Criar um novo caso |
update_case | Atualizar um caso existente (título, comentário, projeto, área, marco, prioridade) |
assign_case | Atribuir um caso a um usuário |
resolve_case | Resolver (marcar como corrigido/concluído) um caso |
reopen_case | Reabrir um caso resolvido ou fechado |
close_case | Fechar um caso |
Pesquisa e Visualização
| Ferramenta | Descrição |
|---|---|
search_cases | Pesquisar usando a sintaxe de consulta do FogBugz (ex.: project:Website status:Active) |
list_my_cases | Listar casos atribuídos a um usuário (padrão: usuário atual) |
get_case | Obter informações detalhadas do caso, incluindo histórico completo de eventos/comentários |
get_case_link | Obter uma URL direta para um caso |
Dados de Referência
| Ferramenta | Descrição |
|---|---|
list_people | Listar todos os usuários com IDs, nomes e e-mails |
list_categories | Listar categorias de casos (Bug, Solicitação de Recurso, etc.) |
list_projects | Listar todos os projetos ativos com IDs e nomes |
list_milestones | Listar marcos/fix-fors, opcionalmente por projeto |
list_statuses | Listar status de casos com flags de resolvido, opcionalmente por categoria |
view_project | Obter informações detalhadas do projeto |
view_area | Obter informações detalhadas da área |
create_project | Criar um novo projeto |
Avançado
| Ferramenta | Descrição |
|---|---|
api_request | Escape-hatch genérico da API XML para comandos não cobertos por ferramentas dedicadas. ⚠️ AVISO: pode executar qualquer comando de API que a chave configurada permitir, incluindo operações destrutivas (excluir, editar usuários, modificar em massa). |
Exemplos de Uso
Exemplo 1: Encontrando bugs abertos em um projeto
Você: "Mostre-me todos os bugs abertos no projeto Website que não estão atribuídos a ninguém."
Claude chama: search_cases com a consulta project:Website status:Active assignedTo:nobody category:Bug.
Resultado: Uma lista de bugs não atribuídos com seus IDs, títulos e datas de criação — prontos para triagem ou atribuição.
Exemplo 2: Criando um caso a partir de um relatório de bug
Você: "Crie um bug no projeto Mobile intitulado 'Botão de login sem resposta no iOS 17', atribua-o a alice e defina a prioridade como 2."
Claude chama: create_case com projeto, título, responsável e prioridade definidos em uma única chamada, depois get_case_link para retornar uma URL direta.
Resultado: Novo caso criado. Claude confirma o número do caso e fornece um link.
Exemplo 3: Resolvendo um caso com um comentário de encerramento
Você: "Resolva o caso 1042 e adicione um comentário dizendo que a correção foi implantada na v3.5.1."
Claude chama: resolve_case com o ID do caso e um comentário descrevendo a correção.
Resultado: Caso resolvido. Claude confirma a mudança de status e que o comentário foi salvo.
Exemplo 4: Revisando a carga de trabalho da sua equipe
Você: "Quais casos abertos o bob tem agora?"
Claude chama: list_people para encontrar o ID de usuário do Bob, depois list_my_cases filtrado para esse usuário.
Resultado: Um resumo dos casos ativos do Bob agrupados por projeto, com prioridades e datas de vencimento.
Exemplo 5: Atualizando um caso após uma revisão de código
Você: "Mova o caso 987 para o projeto Backend, altere o marco para v4.0 e deixe um comentário dizendo que foi reescopado após a revisão de arquitetura."
Claude chama: update_case com o novo projeto, marco e comentário definidos em uma única chamada.
Resultado: Caso atualizado. Claude confirma cada alteração de campo.
Como Funciona
Este servidor implementa o Model Context Protocol via stdio. O cliente de IA traduz solicitações em linguagem natural em consultas ou chamadas de API do FogBugz, invoca a ferramenta apropriada e apresenta os resultados. O servidor é um proxy leve — ele encaminha solicitações diretamente para sua instância FogBugz e retorna a resposta.
Detecção Automática de API
Na inicialização, o servidor seleciona automaticamente o cliente de API correto para sua instância FogBugz:
- Verifica
/api.xmlpara ler o número da versão do FogBugz. - Se a versão for ≥ 9, tenta acessar a API JSON (
/f/api/0/jsonapi) — usaFogBugzJsonClientem caso de sucesso. - Recorre a
FogBugzXmlClient(API XML via/api.asp) para versão < 9 ou se o endpoint JSON estiver inacessível.
| Versão do FogBugz | API usada |
|---|---|
| ≥ 9 (API JSON disponível) | API JSON (/f/api/0/jsonapi) |
| < 9 ou API JSON inacessível | API XML (/api.asp) |
Nota sobre formatação de texto: Apenas texto simples é suportado em descrições e comentários ao conectar-se ao FogBugz 8.x via API XML. HTML e Markdown são armazenados e exibidos literalmente.
Referência de Configuração
| Variável | Obrigatória | Descrição |
|---|---|---|
FOGBUGZ_URL | Sim | URL base da sua instância FogBugz (ex.: https://company.fogbugz.com) |
FOGBUGZ_API_KEY | Sim | Token de API do FogBugz |
Instalação
Via npx (sem necessidade de instalação)
# Latest stable release
npx @todevs/fogbugz-mcp
# Latest dev build (pre-release)
npx @todevs/fogbugz-mcp@dev
A partir do código-fonte
git clone https://github.com/todevelopers/fogbugz-mcp.git
cd fogbugz-mcp
npm install
npm run build
node dist/index.js https://your-fogbugz-server.com your-api-token
Desenvolvimento
npm run dev # run via ts-node (no build needed)
npm run build # compile TypeScript to dist/
npm test # run all Jest tests
Compatibilidade
- FogBugz local e sob demanda (testado com FogBugz 8.8.53 via API XML)
- Node.js 20+
Política de Privacidade
Este servidor não coleta, armazena ou transmite dados à ToDevelopers ou a terceiros. Toda a comunicação é diretamente entre seu cliente de IA e sua própria instância FogBugz, usando a URL e as credenciais que você fornece. Nenhum dado de uso, conteúdo de caso ou credenciais são enviados para qualquer lugar além do seu servidor FogBugz configurado.
Para informações completas sobre privacidade, consulte a Política de Privacidade do FogBugz.
Agradecimentos
Este projeto é baseado no trabalho original de Sarasvati Akari Lara-Almeida — obrigado pela base.
Licença
MIT © Tomáš Gažovič, ToDevelopers s.r.o.