Servidor Jira MCP
Una colección de herramientas diseñadas para interactuar con Jira a través del Protocolo de contexto de modelo (MCP), que proporciona funcionalidades básicas de Jira y un asistente unificado y guiado para la creación y actualización de problemas.
Instalación
Para instalar esto en un cliente:
{
"mcpServers": {
"JiraMCP_Published": {
"command": "npx",
"args": [
"@timbreeding/jira-mcp-server@latest",
"--jira-base-url=https://example.atlassian.net",
"--jira-username=someJiraUserEmail@domain.com",
"--jira-api-token=<your jira token>"
],
"env": {
"DEBUG": "true",
"LOG_FILE_PATH": "" // Some full path. If blank, it will not write logs to a file.
}
}
}
}
Related MCP server: Python Jira MCP Server
Uso
...
Configuración
Variables de entorno
Para ejecutar localmente, puede colocar DEBUG y LOG_FILE_PATH en su .env.
Herramientas disponibles
Esta aplicación expone las siguientes herramientas a través del Protocolo de Contexto de Modelo:
Herramientas principales de Jira
getJiraIssue: recupera un problema de Jira por su clave.analyzeJiraIssue: realiza un análisis exhaustivo de un problema de Jira.jiraGet: obtiene datos de cualquier punto final GET de la API de Jira.getIssuesByJql: busca problemas de Jira mediante una consulta JQL.
Herramientas del asistente para la creación de problemas
Estas herramientas ofrecen un proceso guiado paso a paso para crear nuevas incidencias en Jira. El asistente mantiene el estado durante todo el flujo de creación, que generalmente incluye estas etapas: inicio del proceso, selección de un proyecto ( getProjects ), elección de un tipo de incidencia ( getIssueTypes ), recuperación y rellenado de los campos necesarios ( getFields , updateFields ), análisis opcional de los detalles de la incidencia y, finalmente, confirmación y creación de la incidencia ( createIssue ). Utilice getState y getStatus para supervisar el progreso, y resetState para empezar de nuevo.
issueCreation_getState: obtiene el estado interno actual del asistente.issueCreation_getStatus: obtiene el estado de alto nivel del asistente.issueCreation_initiateState: inicializa un nuevo estado del asistente.issueCreation_resetState: restablece el estado del asistente.issueCreation_updateState: actualiza el estado del asistente (proyecto, tipo de problema, campos, paso).issueCreation_createIssue: crea un problema de Jira utilizando el estado del asistente.issueCreation_getProjects: recupera los proyectos de Jira disponibles.issueCreation_getIssueTypes: obtiene los tipos de problemas disponibles para el proyecto seleccionado.issueCreation_getFields: recupera los campos necesarios para el proyecto/tipo de problema seleccionado.issueCreation_updateFields: actualiza valores de campos específicos en el estado del asistente.issueCreation_setAnalysisComplete: establece el indicador de análisis completado.issueCreation_setUserConfirmation: establece el indicador de confirmación del usuario antes de la creación.issueCreation_analyzeIssue: analiza los detalles del problema dentro del contexto del asistente.
Herramientas del Asistente para actualización de problemas (Flujo de trabajo de actualización unificado)
Estas herramientas proporcionan un mecanismo unificado y robusto para actualizar cualquier incidencia de Jira, ya sea nueva o existente. Todas las actualizaciones ahora utilizan un flujo de trabajo único y consistente:
issueUpdateWizard_loadIssueIntoState: obtiene un problema de Jira por clave y lo carga en el administrador de estado para flujos de trabajo de actualización unificados.issueUpdateWizard_updateIssueFromState: actualiza cualquier problema cargado utilizando el estado actual (campos, proyecto, tipo, etc.).
Principios clave:
Todas las actualizaciones de problemas (nuevos o existentes) siguen el mismo patrón: cargar el problema en el estado, modificar los campos y actualizar a través de la API.
No hay duplicación de código entre actualizaciones de problemas nuevos y existentes.
Manejo de errores mínimo, explícito y robusto.
Cobertura de pruebas unitarias del 100% para operaciones de actualización.
Desarrollo
Ejecución de pruebas
Jest está configurado para realizar pruebas. Para ejecutar el conjunto de pruebas:
npm testControles de calidad del código
Para ejecutar la comprobación de tipos, el análisis de errores y las pruebas en conjunto:
npm run check-codebaseEjecutando con MCP Inspector
Para el desarrollo y las pruebas locales utilizando el Inspector de protocolo de contexto de modelo, puede iniciar la aplicación y pasar las variables de entorno requeridas usando el indicador -e :
npx @modelcontextprotocol/inspector -e JIRA_BASE_URL=https://your-domain.atlassian.net -e JIRA_USERNAME=your-email@example.com -e JIRA_API_TOKEN=your-api-token -e DEBUG=true node build/index.js(Asegúrese de haber compilado el proyecto primero si usa
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo LICENSE para obtener más detalles.