Servidor MCP atrasado
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Backlog. Este servidor proporciona herramientas para gestionar proyectos, incidencias, páginas wiki y más en Backlog mediante agentes de IA como Claude Desktop, Cline, Cursor, etc.
Características
- Gestión de proyectos (crear, leer, actualizar, eliminar)
- Seguimiento de problemas (crear, actualizar, eliminar, listar)
- Gestión de páginas wiki
- Gestión del repositorio Git
- Gestión de solicitudes de extracción (crear, actualizar, listar, comentar)
- Gestión de notificaciones
- Gestión de listas de vigilancia
- Selección de campos al estilo GraphQL para respuestas optimizadas
- Limitación de tokens para respuestas grandes
- Manejo mejorado de errores
- Y más integraciones de API Backlog
Requisitos
- Estibador
- Una cuenta Backlog con acceso a la API
- Clave API de su cuenta Backlog
Instalación
Opción 1: Instalar mediante Docker
La forma más sencilla de utilizar este servidor MCP es a través de la configuración de MCP para Claude Desktop o Cline:
- Abra Claude Desktop o la configuración de Cline
- Navegue a la sección de configuración de MCP
- Agregue la siguiente configuración:
Reemplace your-domain.backlog.com
con su dominio de Backlog y your-api-key
con su clave API de Backlog.
Opciones de configuración avanzadas
Este es un enfoque experimental y no la forma estándar de reducir el tamaño de la ventana de contexto. Si tiene problemas al usar este MCP con algún agente de IA, intente ajustar la siguiente configuración. Puede agregar opciones adicionales para personalizar el comportamiento del servidor:
MAX_TOKENS
: Número máximo de tokens permitidos en las respuestas (predeterminado: 50000)OPTIMIZE_RESPONSE
: Habilita la selección de campos de estilo GraphQL para optimizar el tamaño de la respuesta (valor predeterminado: falso)
Mantener la imagen de Docker actualizada
De forma predeterminada, Docker usará una imagen almacenada en caché local si ya se ha extraído. Para garantizar que siempre uses la última versión de ghcr.io/nulab/backlog-mcp-server
, considera uno de los siguientes métodos:
Opción 1: utilizar --pull always
(recomendado)
Si está utilizando Docker 20.10 o posterior, puede modificar la matriz args
para incluir el indicador --pull always
:
Esto garantiza que Docker siempre extraiga la última imagen de GitHub Container Registry antes de ejecutarse.
Opción 2: Extraer manualmente la última imagen
Si su versión de Docker no admite --pull always, puede extraer manualmente la última imagen antes de ejecutar el servidor:
Opción 2: Instalación manual
- Clonar el repositorio:
- Instalar dependencias:
- Construir el proyecto:
- Configura tu json para usarlo como MCP
Herramientas disponibles
El servidor proporciona las siguientes herramientas para interactuar con Backlog:
Herramientas espaciales
Nombre de la herramienta | Descripción |
---|---|
get_space | Devuelve información sobre el espacio Backlog |
get_users | Devuelve la lista de usuarios en el espacio Backlog |
get_myself | Devuelve información sobre el usuario autenticado |
get_priorities | Devuelve la lista de prioridades |
get_resolutions | Devuelve una lista de resoluciones de problemas |
get_issue_types | Devuelve una lista de tipos de problemas para un proyecto |
Herramientas del proyecto
Nombre de la herramienta | Descripción |
---|---|
get_project_list | Devuelve la lista de proyectos |
add_project | Crea un nuevo proyecto |
get_project | Devuelve información sobre un proyecto específico |
update_project | Actualiza un proyecto existente |
delete_project | Elimina un proyecto |
get_custom_fields | Devuelve una lista de campos personalizados para un proyecto |
Herramientas de problemas
Nombre de la herramienta | Descripción |
---|---|
get_issue | Devuelve información sobre un problema específico |
get_issues | Devuelve la lista de problemas |
count_issues | Devuelve el recuento de problemas |
add_issue | Crea un nuevo problema en el proyecto especificado |
update_issue | Actualiza un problema existente |
delete_issue | Elimina un problema |
Herramientas para comentarios
Nombre de la herramienta | Descripción |
---|---|
get_issue_comments | Devuelve una lista de comentarios para un problema |
add_issue_comment | Añade un comentario a un problema. |
Herramientas Wiki
Nombre de la herramienta | Descripción |
---|---|
get_wiki_pages | Devuelve la lista de páginas Wiki |
get_wikis_count | Devuelve el recuento de páginas wiki en un proyecto |
get_wiki | Devuelve información sobre una página wiki específica |
add_wiki | Crea una nueva página wiki |
Herramientas de categoría
Nombre de la herramienta | Descripción |
---|---|
get_categories | Devuelve una lista de categorías para un proyecto |
Herramientas de notificación
Nombre de la herramienta | Descripción |
---|---|
get_notifications | Devuelve la lista de notificaciones |
count_notifications | Devuelve el recuento de notificaciones |
reset_unread_notification_count | Restablecer el recuento de notificaciones no leídas |
mark_notification_as_read | Marcar una notificación como leída |
Herramientas del repositorio Git
Nombre de la herramienta | Descripción |
---|---|
get_git_repositories | Devuelve una lista de repositorios Git para un proyecto |
get_git_repository | Devuelve información sobre un repositorio Git específico |
Herramientas de solicitud de extracción
Nombre de la herramienta | Descripción |
---|---|
get_pull_requests | Devuelve la lista de solicitudes de extracción para un repositorio |
get_pull_requests_count | Devuelve el recuento de solicitudes de extracción para un repositorio |
get_pull_request | Devuelve información sobre una solicitud de extracción específica |
add_pull_request | Crea una nueva solicitud de extracción |
update_pull_request | Actualiza una solicitud de extracción existente |
get_pull_request_comments | Devuelve la lista de comentarios para una solicitud de extracción |
add_pull_request_comment | Agrega un comentario a una solicitud de extracción |
update_pull_request_comment | Actualiza un comentario en una solicitud de extracción |
Herramientas de observación
Nombre de la herramienta | Descripción |
---|---|
get_watching_list_items | Devuelve una lista de elementos monitoreados por un usuario |
get_watching_list_count | Devuelve el recuento de elementos vistos por un usuario |
Ejemplos de uso
Una vez configurado el servidor MCP en los agentes de IA, podrá usar las herramientas directamente en sus conversaciones. A continuación, se muestran algunos ejemplos:
Listado de proyectos
Crear un nuevo problema
Obtener detalles del proyecto
Trabajar con repositorios Git
Gestión de solicitudes de extracción
Observando objetos
Uso de la selección de campos
Cuando la opción OPTIMIZE_RESPONSE
está habilitada, puede especificar qué campos desea recuperar utilizando la sintaxis de estilo GraphQL:
La IA utilizará la selección de campos para optimizar la respuesta:
Esto reduce el tamaño de la respuesta y el tiempo de procesamiento, especialmente para objetos grandes.
Funciones avanzadas
Optimización de la respuesta
Selección de campo
Cuando se habilita con OPTIMIZE_RESPONSE=true
, puede usar la sintaxis de estilo GraphQL para seleccionar campos específicos:
Esto le permite:
- Reducir el tamaño de la respuesta solicitando solo los campos necesarios
- Centrarse en puntos de datos específicos
- Mejorar el rendimiento para respuestas grandes
Limitación de tokens
Las respuestas grandes se limitan automáticamente para evitar exceder los límites de tokens:
- Límite predeterminado: 50.000 tokens
- Configurable a través de la variable de entorno
MAX_TOKENS
- Las respuestas que excedan el límite se truncan con un mensaje.
i18n / Descripciones de reemplazo
Puede anular las descripciones de las herramientas creando un archivo .backlog-mcp-serverrc.json
en su directorio de inicio .
El archivo debe contener un objeto JSON con los nombres de las herramientas como claves y las nuevas descripciones como valores.
Por ejemplo:
Cuando se inicia el servidor, determina la descripción final de cada herramienta según la siguiente prioridad:
- Variables de entorno (por ejemplo,
BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION
) - Entradas en
.backlog-mcp-serverrc.json
: formatos de archivos de configuración admitidos: .json, .yaml, .yml - Valores de respaldo integrados (en inglés)
Configuración de muestra:
Exportación de traducciones actuales
Puede exportar las traducciones predeterminadas actuales (incluida cualquier anulación) ejecutando el binario con el indicador --export-translations.
Esto imprimirá todas las descripciones de las herramientas en la salida estándar, incluidas todas las personalizaciones que haya realizado.
Ejemplo:
o
Uso de una plantilla de traducción al japonés
Se proporciona un archivo de configuración japonés de muestra en:
Para usarlo, cópielo a su directorio de inicio como .backlog-mcp-serverrc.json:
Luego puede editar el archivo para personalizar las descripciones según sea necesario.
Uso de variables de entorno
Alternativamente, puede anular las descripciones de herramientas a través de variables de entorno.
Los nombres de las variables de entorno se basan en las claves de herramientas, tienen el prefijo BACKLOG_MCP_ y están escritos en mayúsculas.
Ejemplo: Para anular TOOL_ADD_ISSUE_COMMENT_DESCRIPTION:
El servidor carga el archivo de configuración sincrónicamente al iniciarse.
Las variables de entorno siempre tienen prioridad sobre el archivo de configuración.
Desarrollo
Ejecución de pruebas
Agregar nuevas herramientas
- Crea un nuevo archivo en
src/tools/
siguiendo el patrón de las herramientas existentes - Crear un archivo de prueba correspondiente
- Agregue la nueva herramienta a
src/tools/tools.ts
- Construya y pruebe sus cambios
Opciones de línea de comandos
El servidor admite varias opciones de línea de comandos:
--export-translations
: Exportar todas las claves y valores de traducción--optimize-response
: Habilitar la selección de campos al estilo GraphQL--max-tokens=NUMBER
: Establecer el límite máximo de tokens para las respuestas
Ejemplo:
Licencia
Este proyecto está licenciado bajo la licencia MIT .
Tenga en cuenta: esta herramienta se proporciona bajo la licencia MIT sin ninguna garantía ni soporte oficial .
Úselo bajo su propio riesgo después de revisar el contenido y determinar su idoneidad para sus necesidades.
Si encuentra algún problema, infórmelo a través de Problemas de GitHub .
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Un servidor de protocolo de contexto de modelo que permite a Claude interactuar con las herramientas de gestión de proyectos Backlog a través de la integración de API, lo que permite la gestión de proyectos, problemas, páginas wiki y otros recursos Backlog.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that allows Claude to interact with Linear's API for managing teams, issues, projects, and cycles.Last updated -211TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to interact with the ConnectWise Manage API to perform operations like retrieving, creating, updating, and deleting tickets, companies, contacts, and other entities.Last updated -JavaScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that allows Claude to make API requests on your behalf, providing tools for testing various APIs including HTTP requests and OpenAI integrations without sharing your API keys in the chat.Last updated -Python
- -securityFlicense-qualityIntegrates Backlog project management with Claude via Model Context Protocol, enabling access to projects, issues, and wiki pages through natural language interactions.Last updated -TypeScript