Jira
Un servidor para consultar incidencias de Jira, que requiere un token de Jira para la autenticación.
Documentación
redhat-ai-tools/jira-mcp
Un servidor MCP de Python contenerizado para Cursor que proporciona acceso a Jira.
[!IMPORTANT] Este proyecto es experimental y fue creado inicialmente como un ejercicio de aprendizaje. Ten en cuenta que existen soluciones MCP de Jira más capaces y maduras disponibles, como sooperset/mcp-atlassian, y el propio MCP Server de Atlassian.
Ver también redhat-ai-tools/jira-mcp-snowflake que proporciona otra forma de acceder a los datos de Red Hat Jira.
Inicio Rápido
-
Prepara un token de Jira
- Ve a Red Hat Jira Personal Access Tokens y crea un token
- Crea un archivo .env similar a example.env
-
Configura Cursor
- En Cursor ve a "Settings", "Tools & Integrations", y haz clic en "New MCP Server"
- Pega el siguiente JSON, (o inserta solo el objeto
jiraMcpbajo la clavemcpServers). - Actualiza
"/path/to/your/dotenv/file.env"para que apunte al archivo del paso 1. - Guarda
{
"mcpServers": {
"jiraMcp": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/path/to/your/dotenv/file.env",
"quay.io/sbaird/jira-mcp:latest"
],
"description": "A containerized MCP server to query Jira issues"
}
}
}
Inicio Rápido (para desarrolladores)
-
Requisitos previos
- podman - Instala con
sudo dnf install podman(Fedora/RHEL) obrew install podman(macOS) - yq - Instala con
sudo dnf install yq(Fedora/RHEL) obrew install yq(macOS) - make - Generalmente preinstalado en la mayoría de los sistemas
- podman - Instala con
-
Obtén el código
git clone git@github.com:redhat-ai-tools/jira-mcp.git
cd jira-mcp
- Construye la imagen y configura Cursor
Esto también crea un archivo~/.rh-jira-mcp.envcomo este.
make setup
-
Prepara un token de Jira
- Ve a Red Hat Jira Personal Access Tokens y crea un token
- Edita el archivo
.rh-jira-mcp.enven tu directorio personal y pega el token
-
Decide si habilitar operaciones de escritura
Habilitar que tu servidor MCP realice ediciones en Jira puede ser muy útil, pero también puede causar muchos problemas si no tienes cuidado en cómo usas las herramientas MCP.
Por defecto, el servidor tiene las operaciones de escritura desactivadas.
Si quieres activarlas, edita el archivo .rh-jira-mcp.env en tu directorio personal para establecer JIRA_ENABLE_WRITE=true.
- Comprueba si funciona en Cursor
Para confirmar que funciona, ejecuta Cursor, ve a Settings y haz clic en "Tools & Integrations". Bajo MCP Tools deberías ver "jiraMcp" con 20 herramientas habilitadas si
JIRA_ENABLE_WRITE=false (el valor predeterminado) o 30 herramientas habilitadas si JIRA_ENABLE_WRITE=true.
Uso con una aplicación MCP basada en HTTP
Si quieres usar este servidor MCP con una aplicación que se comunica mediante HTTP, entonces necesitas ejecutar el servidor con un mecanismo de transporte basado en HTTP. Aquí hay un ejemplo de cómo hacer esto usando Streamable HTTP, que es el mecanismo de transporte basado en HTTP actualmente recomendado para MCP:
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport http --port 3075
Aquí hay un ejemplo de cómo hacer esto usando SSE, que es un mecanismo de transporte basado en HTTP obsoleto (por ejemplo, porque tienes una aplicación cliente MCP más antigua que depende de SSE):
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport sse --port 3075
Tanto para Streamable HTTP como para SSE, el JIRA_API_KEY en tu entorno se ignora (y no es necesario). Esta es una característica de seguridad importante, porque de lo contrario cualquiera que tuviera acceso al servicio HTTP tendría acceso a la información de la cuenta de quien configuró y ejecutó ese servidor. En su lugar, las aplicaciones que llaman deben enviar su propio token de Jira como token Bearer. Aquí hay un ejemplo de cómo hacerlo usando Llama Stack:
from llama_stack_client import LlamaStackClient
client = LlamaStackClient(base_url=LLAMA_STACK_URL)
mcp_llama_stack_client_response = client.responses.create(
model=LLAMA_STACK_MODEL_ID,
input="Tell me about RHAISTRAT-24.",
tools=[
{
"type": "mcp",
"server_url": JIRA_MCP_URL,
"server_label": "Jira_tools",
"headers": {
"Authorization": f"Bearer {JIRA_API_TOKEN}"
}
}
]
)
Herramientas Disponibles
Este servidor MCP proporciona las siguientes herramientas:
Búsqueda y Recuperación de Incidencias
get_jira- Obtén detalles de una incidencia específica de Jira por clave.search_issues- Busca incidencias usando JQL
Creación y Gestión de Incidencias
create_issue- Crea una nueva incidencia de Jira con resumen, descripción, tipo, prioridad y asignadoupdate_issue- Actualiza el resumen, descripción, prioridad o asignado de una incidencia existentedelete_issue- Elimina una incidencia de Jira (usar con precaución)
Comentarios de Incidencias
get_issue_comments- Obtén todos los comentarios de una incidencia de Jiraadd_comment- Añade un comentario a una incidencia de Jiradelete_comment- Elimina un comentario de una incidencia de Jira
Asignación de Incidencias
assign_issue- Asigna una incidencia de Jira a un usuariounassign_issue- Desasigna una incidencia de Jira
Flujo de Trabajo y Estado de Incidencias
transition_issue- Transiciona una incidencia de Jira a un nuevo estado (por ejemplo, "En Progreso", "Hecho")get_issue_transitions- Obtén las transiciones disponibles para una incidencia de Jira
Etiquetas de Incidencias
add_issue_labels- Añade etiquetas a una incidencia de Jiraremove_issue_labels- Elimina etiquetas de una incidencia de Jira
Gestión de Proyectos
list_projects- Lista todos los proyectosget_project- Obtén detalles del proyecto por claveget_project_components- Obtén componentes de un proyectoget_project_versions- Obtén versiones de un proyectoget_project_roles- Obtén roles de un proyectoget_project_permission_scheme- Obtén el esquema de permisos de un proyectoget_project_issue_types- Obtén tipos de incidencia de un proyecto
Gestión de Tableros y Sprints
list_boards- Lista todos los tableroslist_sprints- Lista sprints de un tableroget_sprint- Obtén detalles del sprint por IDget_sprints_by_name- Obtén sprints por nombre para un tablero, opcionalmente filtrados por estado
Gestión de Usuarios
search_users- Busca usuarios por consultaget_user- Obtén detalles del usuario por ID de cuentaget_current_user- Obtén información del usuario actualget_assignable_users_for_project- Obtén usuarios asignables para un proyectoget_assignable_users_for_issue- Obtén usuarios asignables para una incidencia
Comandos de Desarrollo
make build- Construye la imagenmake run- Ejecuta el contenedormake clean- Limpia la imagen construidamake cursor-config- Modifica~/.cursor/mcp.jsonpara instalar este Servidor MCPmake setup- Construye la imagen, configura Cursor y crea~/.rh-jira-mcp.envsi no existe
Solución de Problemas
El Servidor No Se Inicia
- Confirma que
make runfunciona - Verifica que el JIRA_API_TOKEN sea correcto
- Verifica que la imagen se construyó correctamente con
podman images jira-mcp - Ve a la pestaña "Output" en el panel inferior de Cursor, elige "MCP Logs" en el menú desplegable y examina los registros allí
- (MacOS) jiraMcp aparece en la sección de herramientas de Cursor pero no muestra herramientas activas:
- Edita la sección de argumentos de jiraMcp en tu archivo
mcp.jsonpara incluir tu ruta completa al archivo.rh-jira-mcp.env. - Ejemplo:
"~/.rh-jira-mcp.env",a"/Users/your_username/.rh-jira-mcp.env",
- Edita la sección de argumentos de jiraMcp en tu archivo
Problemas de Conexión
- Reinicia Cursor después de los cambios de configuración
- Revisa la consola de desarrollador de Cursor para ver mensajes de error
- Verifica que la URL de Jira sea accesible desde tu red
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.