Servidor MCP de Jira Weekly Reporter
Este proyecto proporciona un servidor FastMCP que se conecta a su instancia de Jira (nube o servidor/centro de datos) para generar informes semanales basados en la actividad de incidencias. Utiliza la biblioteca pycontribs-jira para la interacción con Jira y, opcionalmente, puede usar el Modelo de Lenguaje Grande (LLM) del cliente conectado para resumir el informe generado.
✨ Características
Conexión Jira: se conecta de forma segura a Jira mediante tokens API almacenados en un archivo
.env.Herramienta MCP: expone una herramienta
generate_jira_reportaccesible a través del Protocolo de contexto de modelo.Informes flexibles:
El valor predeterminado es informar problemas actualizados en los últimos 7 días.
Permite especificar una consulta JQL personalizada.
Puede filtrar informes por una clave de proyecto de Jira específica.
Limita el número de resultados devueltos (configurable).
(Opcional) Resumen de LLM: se puede utilizar el LLM del cliente (a través de
ctx.sample()) para proporcionar un resumen conciso del informe.Manejo asincrónico: maneja adecuadamente las llamadas sincrónicas de la biblioteca Jira dentro del servidor FastMCP asincrónico usando
asyncio.to_thread.
Related MCP server: mcp-jira-server
📋 Requisitos previos
Python 3.10 o posterior.
uv(recomendado) opippara la gestión de paquetes.Acceso a una instancia de Jira (nube, servidor o centro de datos).
Un token de API de Jira (token de acceso personal para servidor/DC).
FastMCP CLI instalado y disponible en la RUTA de su sistema.
⚙️ Configuración
Clonar el repositorio (si corresponde):
git clone https://github.com/Jongryong/jira_reporter.git cd jira_reporterInstalar dependencias: Recomendamos utilizar
uv:uv pip install fastmcp "jira[cli]" python-dotenv httpx anyioAlternativamente, utilice
pip:pip install fastmcp "jira[cli]" python-dotenv httpx anyioCrear archivo Cree un archivo llamado
.enven el mismo directorio quejira_reporter_server.py. Agregue los datos de su conexión de Jira:# .env JIRA_URL=https://your-domain.atlassian.net # Your Jira Cloud URL or Self-Hosted URL JIRA_USERNAME=your_email@example.com # Your Jira login email JIRA_API_TOKEN=your_api_token_or_pat # Your generated API Token or PATSeguridad:
¡Nunca envíes tu archivo Agrega
.enva tu archivo.gitignore.Jira Cloud: genere un token de API desde la configuración de su cuenta de Atlassian: Administrar tokens de API .
Jira Server/Data Center: Genere un token de acceso personal (PAT) a partir de la configuración de su perfil de usuario de Jira: Uso de tokens de acceso personal .
▶️ Ejecución del servidor (independiente)
Puede ejecutar el servidor de forma independiente para realizar pruebas u otros fines:
Directamente con Python:
python jira_reporter_server.pyUsando la CLI de FastMCP:
fastmcp run jira_reporter_server.pyPara ejecutar con SSE (por ejemplo, para acceso remoto):
fastmcp run jira_reporter_server.py --transport sse --port 8001
🖥️ Uso con Claude Desktop
Para que este servidor esté disponible como herramienta dentro de la aplicación Claude Desktop:
Asegúrese de cumplir con los requisitos previos: asegúrese de que
fastmcpesté instalado y accesible en la RUTA de su sistema, ya que la configuración a continuación utiliza el comandofastmcp.Localizar el archivo de configuración de Claude: Busca el archivo
claude_desktop_config.json. Su ubicación depende del sistema operativo:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(normalmenteC:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json)Linux:
~/.config/Claude/claude_desktop_config.json(o$XDG_CONFIG_HOME/Claude/)
Editar el archivo de configuración: abra
claude_desktop_config.jsonen un editor de texto.Añadir la configuración del servidor: Busca el objeto
"mcpServers"en el JSON (si no existe, créalo como un objeto vacío{}). Agrega la siguiente entrada dentro demcpServers, asegurándote de reemplazar"path/to/your/jira_reporter_server.py"con la ruta absoluta a tu script:{ "mcpServers": { // ... other servers might be here ... "jira_report": { "command": "fastmcp", "args": [ "run", "/path/to/your/jira_reporter_server.py" // <-- IMPORTANT: Use the full, absolute path here ] } // ... other servers might be here ... } // ... rest of your Claude config ... }"jira_report": Este es el nombre interno que usa Claude. Puedes cambiarlo si lo deseas."command": "fastmcp": le dice a Claude que use la herramienta de línea de comandosfastmcp."args": [...]: Le dice a Claude que ejecutefastmcp run /path/to/your/jira_reporter_server.py.
Guardar y reiniciar: guarde el archivo
claude_desktop_config.jsony reinicie la aplicación Claude Desktop.Invocar la herramienta: Ahora debería poder usar la herramienta en Claude mencionando el nombre del servidor definido en el script de Python (
Jira Weekly Reporter). Por ejemplo:@Jira Weekly Reporter generate jira report for project MYPROJ and summarize it
🛠️ Detalles de la herramienta MCP
Nombre de la herramienta:
generate_jira_reportDescripción: Genera un informe de incidencias de Jira basado en una consulta JQL (el valor predeterminado es "actualizado recientemente"). Opcionalmente, resume el informe utilizando el LLM del cliente.
Parámetros:
Parámetro | Tipo | Requerido | Por defecto | Descripción |
|
| No |
| Consulta JQL opcional. Si se omite, se utiliza el valor predeterminado. |
|
| No |
| Clave de proyecto Jira opcional (por ejemplo, "PROJ") para limitar el alcance de la búsqueda (agregada como
). |
|
| No |
| Número máximo de problemas a incluir en los datos del informe sin procesar. |
|
| No |
| Si
, el servidor solicitará un resumen del LLM del cliente a través de
. |
Dependencias del servidor
El constructor FastMCP incluye dependencies=["jira"] . Esto indica a herramientas como fastmcp install que la biblioteca jira es necesaria para que este servidor funcione correctamente al crear entornos aislados.
🤝 Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar incidencias o solicitudes de incorporación de cambios.
📄 Licencia
Licencia MIT