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_report
accesible 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
.
📋 Requisitos previos
- Python 3.10 o posterior.
uv
(recomendado) opip
para 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):
- Instalar dependencias: Recomendamos utilizar
uv
:Alternativamente, utilicepip
: - Crear archivo
.env
: Cree un archivo llamado.env
en el mismo directorio quejira_reporter_server.py
. Agregue los datos de su conexión de Jira:- Seguridad:
- ¡Nunca envíes tu archivo
.env
al control de versiones! Agrega.env
a 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 .
- ¡Nunca envíes tu archivo
- Seguridad:
▶️ Ejecución del servidor (independiente)
Puede ejecutar el servidor de forma independiente para realizar pruebas u otros fines:
- Directamente con Python:
- Usando la CLI de FastMCP:Para ejecutar con SSE (por ejemplo, para acceso remoto):
🖥️ 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
fastmcp
esté 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.json
- Windows:
%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/
)
- macOS:
- Editar el archivo de configuración: abra
claude_desktop_config.json
en 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:"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.json
y 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_report
- Descripció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 |
---|---|---|---|---|
jql_query | string | No | updated >= -7d ORDER BY updated DESC | Consulta JQL opcional. Si se omite, se utiliza el valor predeterminado. |
project_key | string | No | None | Clave de proyecto Jira opcional (por ejemplo, "PROJ") para limitar el alcance de la búsqueda (agregada como project = 'KEY' AND ... ). |
max_results | integer | No | 50 | Número máximo de problemas a incluir en los datos del informe sin procesar. |
summarize | boolean | No | false | Si true , el servidor solicitará un resumen del LLM del cliente a través de ctx.sample() . |
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
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Se conecta a instancias de Jira para generar informes semanales basados en la actividad del problema, admitiendo consultas JQL personalizadas y resumen LLM opcional.
Related MCP Servers
- AsecurityAlicenseAqualityProvides capabilities for searching Jira issues using JQL and retrieving detailed issue information.Last updated -215217JavaScriptMIT License
- AsecurityAlicenseAqualityProvides integration with Jira's REST API, allowing AI assistants to manage Jira issues programmatically.Last updated -68JavaScriptMIT License
- -securityFlicense-qualityA server implementation that allows AI models to interact with Jira through the Model Context Protocol, enabling tasks like JQL searches and retrieving issue details.Last updated -Python
- AsecurityAlicenseAqualityA TypeScript-based server that enables interaction with Jira, providing tools to execute JQL queries, manage tickets, list projects and statuses through natural language.Last updated -1120JavaScriptMIT License