FogBugz

Un servidor MCP local para interactuar con el rastreador de incidencias FogBugz a través de un LLM.

Documentación

FogBugz MCP Server icon Servidor MCP de FogBugz

Test count Version License Node MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que conecta asistentes de IA a una instancia activa de FogBugz. Busca y gestiona casos, rastrea el historial, asigna y resuelve — todo desde una conversación en lenguaje natural. Funciona con instalaciones de FogBugz locales y bajo demanda.

Características

  • Buscar y listar casos usando la sintaxis de consulta de FogBugz (p. ej. project:Website status:Active)
  • Leer detalles de casos incluyendo el historial completo de eventos y comentarios
  • Crear y actualizar casos — establecer título, proyecto, área, hito, prioridad y comentarios
  • Gestión completa del ciclo de vida — asignar, resolver, reabrir y cerrar casos
  • Descubrimiento de usuarios, proyectos y áreas — listar personas, categorías, proyectos, hitos y estados
  • Crear nuevos proyectos directamente desde la conversación
  • Selección automática de API — detecta tu versión de FogBugz y cambia entre las API XML y JSON automáticamente

Requisitos

  • FogBugz (local o bajo demanda)
  • Node.js 20 o posterior
  • Un token de API de FogBugz

Cómo obtener un token de API de FogBugz

Necesitas un token de API para autenticar el servidor MCP con FogBugz. Hay dos formas de obtenerlo:

Mediante la interfaz web

Ve a Cuenta y Configuración → Opciones de Usuario y haz clic en el enlace Crear Token de API.

Consulta la guía oficial: Crear Token de API usando la interfaz de FogBugz

Mediante solicitud de API

Envía la siguiente solicitud (reemplaza los marcadores de posición con tus valores):

https://[your-fogbugz-server]/api.asp?cmd=logon&email=[your-email]&password=[your-password]

La respuesta contendrá tu token de API.

Consulta la guía oficial: Obtener un Token de API usando comandos de la API de FogBugz


Configuración del Cliente de IA

MCP es un estándar abierto — este servidor funciona con cualquier cliente de IA compatible con MCP. La configuración varía según el cliente.

Claude Desktop ✓ (probado)

Instalación con un clic: Descarga el paquete .mcpb más reciente desde la página de Lanzamientos y ábrelo — Claude Desktop instalará y configurará el servidor automáticamente, solicitándote tu URL de FogBugz y tu token de API.

Configuración manual: Añade a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %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 ✓ (probado)

Añade a .mcp.json en la raíz de tu proyecto:

{
  "mcpServers": {
    "fogbugz": {
      "command": "npx",
      "args": ["-y", "@todevs/fogbugz-mcp"],
      "env": {
        "FOGBUGZ_URL": "https://your-fogbugz-server.com",
        "FOGBUGZ_API_KEY": "your-api-token"
      }
    }
  }
}

Otros clientes compatibles con MCP

Cualquier cliente que admita servidores MCP stdio debería funcionar. Consulta la documentación de tu cliente sobre cómo registrar un servidor MCP stdio con variables de entorno. El punto de entrada del servidor es npx @todevs/fogbugz-mcp (o node /path/to/dist/index.js para una compilación local).


Herramientas

Gestión de Casos

HerramientaDescripción
create_caseCrear un nuevo caso
update_caseActualizar un caso existente (título, comentario, proyecto, área, hito, prioridad)
assign_caseAsignar un caso a un usuario
resolve_caseResolver (marcar como corregido/completado) un caso
reopen_caseReabrir un caso resuelto o cerrado
close_caseCerrar un caso

Búsqueda y Visualización

HerramientaDescripción
search_casesBuscar usando la sintaxis de consulta de FogBugz (p. ej. project:Website status:Active)
list_my_casesListar casos asignados a un usuario (por defecto, el usuario actual)
get_caseObtener información detallada del caso, incluido el historial completo de eventos/comentarios
get_case_linkObtener una URL directa a un caso

Datos de Referencia

HerramientaDescripción
list_peopleListar todos los usuarios con IDs, nombres y correos electrónicos
list_categoriesListar categorías de casos (Error, Solicitud de Función, etc.)
list_projectsListar todos los proyectos activos con IDs y nombres
list_milestonesListar hitos/versiones, opcionalmente por proyecto
list_statusesListar estados de casos con indicadores de resolución, opcionalmente por categoría
view_projectObtener información detallada del proyecto
view_areaObtener información detallada del área
create_projectCrear un nuevo proyecto

Avanzado

HerramientaDescripción
api_requestVía de escape genérica de la API XML para comandos no cubiertos por herramientas dedicadas.
⚠️ ADVERTENCIA: puede ejecutar cualquier comando de API que el token configurado permita, incluidas operaciones destructivas (eliminar, editar usuarios, modificación masiva).

Ejemplos de Uso

Ejemplo 1: Encontrar errores abiertos en un proyecto

Tú: "Muéstrame todos los errores abiertos en el proyecto Website sin asignar a nadie."

Claude llama: search_cases con la consulta project:Website status:Active assignedTo:nobody category:Bug.

Resultado: Una lista de errores sin asignar con sus IDs, títulos y fechas de creación — listos para clasificar o asignar.


Ejemplo 2: Crear un caso a partir de un informe de error

Tú: "Crea un error en el proyecto Mobile titulado 'El botón de inicio de sesión no responde en iOS 17', asígnalo a alice y establece la prioridad en 2."

Claude llama: create_case con proyecto, título, asignado y prioridad establecidos en una sola llamada, luego get_case_link para devolver una URL directa.

Resultado: Nuevo caso creado. Claude confirma el número de caso y proporciona un enlace.


Ejemplo 3: Resolver un caso con un comentario de cierre

Tú: "Resuelve el caso 1042 y añade un comentario diciendo que la corrección se implementó en la v3.5.1."

Claude llama: resolve_case con el ID del caso y un comentario que describe la corrección.

Resultado: Caso resuelto. Claude confirma el cambio de estado y que el comentario se guardó.


Ejemplo 4: Revisar la carga de trabajo de tu equipo

Tú: "¿Qué casos abiertos tiene bob en este momento?"

Claude llama: list_people para encontrar el ID de usuario de Bob, luego list_my_cases filtrado a ese usuario.

Resultado: Un resumen de los casos activos de Bob agrupados por proyecto, con prioridades y fechas de vencimiento.


Ejemplo 5: Actualizar un caso después de una revisión de código

Tú: "Mueve el caso 987 al proyecto Backend, cambia el hito a v4.0 y deja un comentario diciendo que se redefinió el alcance después de la revisión de arquitectura."

Claude llama: update_case con el nuevo proyecto, hito y comentario establecidos en una sola llamada.

Resultado: Caso actualizado. Claude confirma cada cambio de campo.


Cómo Funciona

Este servidor implementa el Protocolo de Contexto de Modelo a través de stdio. El cliente de IA traduce solicitudes en lenguaje natural a consultas o llamadas de API de FogBugz, invoca la herramienta adecuada y presenta los resultados. El servidor es un proxy ligero — pasa las solicitudes directamente a tu instancia de FogBugz y devuelve la respuesta.

Detección Automática de API

Al iniciar, el servidor selecciona automáticamente el cliente de API adecuado para tu instancia de FogBugz:

  1. Sondea /api.xml para leer el número de versión de FogBugz.
  2. Si la versión es ≥ 9, intenta alcanzar la API JSON (/f/api/0/jsonapi) — usa FogBugzJsonClient en caso de éxito.
  3. Recurre a FogBugzXmlClient (API XML a través de /api.asp) para versiones < 9 o si el punto final JSON no es accesible.
Versión de FogBugzAPI utilizada
≥ 9 (API JSON disponible)API JSON (/f/api/0/jsonapi)
< 9 o API JSON inaccesibleAPI XML (/api.asp)

Nota sobre el formato de texto: Solo se admite texto sin formato en descripciones y comentarios cuando se conecta a FogBugz 8.x mediante la API XML. El HTML y Markdown se almacenan y muestran literalmente.


Referencia de Configuración

VariableRequeridaDescripción
FOGBUGZ_URLSíURL base de tu instancia de FogBugz (p. ej. https://company.fogbugz.com)
FOGBUGZ_API_KEYSíToken de API de FogBugz

Instalación

Mediante npx (sin necesidad de instalación)

# Latest stable release
npx @todevs/fogbugz-mcp

# Latest dev build (pre-release)
npx @todevs/fogbugz-mcp@dev

Desde el código fuente

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

Desarrollo

npm run dev    # run via ts-node (no build needed)
npm run build  # compile TypeScript to dist/
npm test       # run all Jest tests

Compatibilidad

  • FogBugz local y bajo demanda (probado con FogBugz 8.8.53 mediante API XML)
  • Node.js 20+

Política de Privacidad

Este servidor no recopila, almacena ni transmite ningún dato a ToDevelopers ni a terceros. Toda la comunicación se realiza directamente entre tu cliente de IA y tu propia instancia de FogBugz utilizando la URL y las credenciales que proporcionas. No se envían datos de uso, contenido de casos ni credenciales a ningún lugar que no sea tu servidor FogBugz configurado.

Para obtener información completa sobre privacidad, consulta la Política de Privacidad de FogBugz.

Agradecimientos

Este proyecto se basa en el trabajo original de Sarasvati Akari Lara-Almeida — gracias por los cimientos.

Licencia

MIT © Tomáš Gažovič, ToDevelopers s.r.o.