Jira MCP Server for Cursor

by kornbed
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Allows interaction with Jira tickets, including listing tickets, viewing details, creating new tickets, adding comments, and updating ticket status through Jira's API.

Servidor Jira MCP para cursor

Un servidor MCP basado en TypeScript que se integra con Jira, lo que permite que Cursor interactúe con los tickets de Jira.

Características

  • Lista de tickets de Jira
  • Obtener detalles de las entradas
  • Obtener comentarios de tickets
  • Crear nuevos tickets
  • Añadir comentarios a los tickets
  • Actualizar el estado del ticket
  • Compatibilidad total con el protocolo MCP para la integración del cursor

Configuración

  1. Instalar dependencias:
npm install
  1. Cree un archivo .env basado en .env.example y complete sus credenciales de Jira:
JIRA_HOST=https://your-domain.atlassian.net JIRA_EMAIL=your-email@example.com JIRA_API_TOKEN=your-api-token PORT=3000

Para obtener su token de API de Jira:

  1. Inicie sesión en https://id.atlassian.com/manage/api-tokens
  2. Haga clic en "Crear token de API".
  3. Copia el token y pégalo en tu archivo .env

Desarrollo

Ejecute el servidor de desarrollo:

npm run dev

Construir y ejecutar

Construir el proyecto:

npm run build

Iniciar el servidor:

npm start

Integración del cursor

Para utilizar este servidor MCP con Cursor, tiene dos opciones:

Opción 1: Integración basada en comandos (recomendada)

  1. Construir el proyecto:
npm run build
  1. Abrir la configuración del cursor:
    • Haga clic en el menú del Cursor
    • Seleccione "Configuración" (o utilice el atajo de teclado)
    • Vaya a la sección "Extensiones" o "Integraciones".
  2. Agregue la configuración de MCP:
{ "mcpServers": { "jira": { "command": "node", "args": ["/path/to/jira-mcp-cursor/dist/server.js"] } } }

Reemplace /path/to/jira-mcp-cursor con la ruta absoluta a su proyecto.

Opción 2: Integración basada en HTTP (Alternativa)

  1. Inicie el servidor MCP (si aún no está en ejecución):
npm start
  1. Abrir la configuración del cursor:
    • Haga clic en el menú del Cursor
    • Seleccione "Configuración" (o utilice el atajo de teclado)
    • Vaya a la sección "Extensiones" o "Integraciones".
  2. Agregue la configuración de MCP:
{ "mcpServers": { "jira": { "url": "http://localhost:3000", "capabilities": [ "list_tickets", "get_ticket", "get_comments", "create_ticket", "update_status", "add_comment" ] } } }

Usando Jira en Cursor

Después de configurar el servidor MCP, puedes usar comandos Jira directamente en Cursor:

  • /jira list - Lista tus tickets
  • /jira view TICKET-123 - Ver detalles del ticket
  • /jira comments TICKET-123 - Obtener comentarios del ticket
  • /jira create - Crea un nuevo ticket
  • /jira comment TICKET-123 - Añadir un comentario
  • /jira status TICKET-123 - Actualizar el estado del ticket

Compatibilidad con el protocolo MCP

El servidor implementa el Protocolo Modelo-Cliente (MCP) requerido por Cursor:

  • Comunicación Stdio para integración basada en comandos
  • Registro de herramientas para operaciones de Jira

Puntos finales de API

Lista de entradas

Recupera una lista de tickets de Jira, opcionalmente filtrados por una consulta JQL.

Punto final: GET /api/tickets

Parámetros de consulta:

ParámetroTipoRequeridoDescripción
jqlcadenaNoCadena de lenguaje de consulta de Jira (JQL) para filtrar tickets

Ejemplo de solicitud:

GET /api/tickets?jql=project=TEST+AND+status=Open

Ejemplo de respuesta:

TEST-123: Example ticket (Open) TEST-124: Another ticket (In Progress)

Obtener boleto

Recupera información detallada sobre un ticket específico.

Punto final: GET /api/tickets/:id

Parámetros de ruta:

ParámetroTipoRequeridoDescripción
identificacióncadenaEl ID del ticket de Jira (por ejemplo, TEST-123)

Ejemplo de solicitud:

GET /api/tickets/TEST-123

Ejemplo de respuesta:

Key: TEST-123 Summary: Example ticket Status: Open Type: Task Description: Detailed ticket description

Obtener comentarios de entradas

Recupera todos los comentarios de un ticket específico.

Punto final: GET /api/tickets/:id/comments

Parámetros de ruta:

ParámetroTipoRequeridoDescripción
identificacióncadenaEl ID del ticket de Jira (por ejemplo, TEST-123)

Ejemplo de solicitud:

GET /api/tickets/TEST-123/comments

Ejemplo de respuesta:

[3/20/2024, 10:00:00 AM] John Doe: Comment text --- [3/20/2024, 9:30:00 AM] Jane Smith: Another comment ---

Crear ticket

Crea un nuevo ticket de Jira.

Punto final: POST /api/tickets

Cuerpo de la solicitud:

ParámetroTipoRequeridoDescripción
resumencadenaEl resumen del ticket
descripcióncadenaLa descripción del billete
clave del proyectocadenaLa clave del proyecto (por ejemplo, TEST)
tipo de problemacadenaEl tipo de problema (por ejemplo, tarea, error)

Ejemplo de solicitud:

POST /api/tickets Content-Type: application/json { "summary": "New feature request", "description": "Implement new functionality", "projectKey": "TEST", "issueType": "Task" }

Ejemplo de respuesta:

Created ticket: TEST-124

Añadir comentario

Agrega un nuevo comentario a un ticket existente.

Punto final: POST /api/tickets/:id/comments

Parámetros de ruta:

ParámetroTipoRequeridoDescripción
identificacióncadenaEl ID del ticket de Jira (por ejemplo, TEST-123)

Cuerpo de la solicitud:

ParámetroTipoRequeridoDescripción
cuerpocadenaEl texto del comentario

Ejemplo de solicitud:

POST /api/tickets/TEST-123/comments Content-Type: application/json { "body": "This is a new comment" }

Ejemplo de respuesta:

Added comment to TEST-123

Estado de actualización

Actualiza el estado de un ticket existente.

Punto final: POST /api/tickets/:id/status

Parámetros de ruta:

ParámetroTipoRequeridoDescripción
identificacióncadenaEl ID del ticket de Jira (por ejemplo, TEST-123)

Cuerpo de la solicitud:

ParámetroTipoRequeridoDescripción
ID de transicióncadenaEl ID de la transición a realizar

Ejemplo de solicitud:

POST /api/tickets/TEST-123/status Content-Type: application/json { "transitionId": "21" }

Ejemplo de respuesta:

Updated status of TEST-123

Buscar entradas

Busca tickets en proyectos específicos mediante la búsqueda de texto.

Punto final: GET /api/tickets/search

Parámetros de consulta:

ParámetroTipoRequeridoDescripción
buscarTextocadenaTexto a buscar en los tickets
Claves del proyectocadenaLista separada por comas de claves de proyecto para buscar
resultados máximosnúmeroNoNúmero máximo de resultados a devolver (predeterminado: 50)

Ejemplo de solicitud:

GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10

Ejemplo de respuesta:

Found 2 tickets matching "login bug" [TEST] TEST-123: Login page bug Status: Open (Updated: 3/20/2024, 10:00:00 AM) Description: Users unable to login using SSO ---------------------------------------- [PROD] PROD-456: Fix login performance Status: In Progress (Updated: 3/19/2024, 3:30:00 PM) Description: Login page taking too long to load ----------------------------------------

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor basado en TypeScript que permite al editor de Cursor interactuar con los tickets de Jira para ver, crear, comentar y actualizar tickets directamente desde el editor.

  1. Features
    1. Setup
      1. Development
        1. Build and Run
          1. Cursor Integration
            1. Option 1: Command-based Integration (Recommended)
            2. Option 2: HTTP-based Integration (Alternative)
          2. Using Jira in Cursor
            1. MCP Protocol Support
              1. API Endpoints
                1. List Tickets
                2. Get Ticket
                3. Get Ticket Comments
                4. Create Ticket
                5. Add Comment
                6. Update Status
                7. Search Tickets
              ID: s4vkqq31kd