Jira MCP Server

Interactúa con proyectos de Jira usando lenguaje natural.

Documentación

Jira MCP Server

smithery badge MCP Claude Cursor

Habla con Jira en lenguaje natural para obtener información sobre tu proyecto y modificarlo. Úsalo con Claude Desktop junto con un README personalizado que crearás con información del proyecto, para que puedas delegar tareas de gestión de proyectos (por ejemplo, si tienes una lista de tu equipo y sus especialidades, asigna cualquier nuevo problema a la persona más relevante).

Construido usando el Model Context Protocol.

Jira Server MCP server

El servidor permite:

  • Creación y configuración de proyectos
  • Gestión de problemas y subtareas
  • Vinculación de problemas y dependencias
  • Flujos de trabajo automatizados de problemas

Configuración

Variables de entorno requeridas:

Variables de entorno opcionales:

  • JIRA_API_VERSION: Versión de la API de Jira a usar (predeterminado: "3")

Para autenticación básica (predeterminada):

  • JIRA_EMAIL: El correo electrónico de tu cuenta de Jira (requerido al usar autenticación básica)

Para autenticación con Token de Acceso Personal (PAT):

  • Establece JIRA_AUTH_TYPE=bearer y proporciona tu PAT como JIRA_API_TOKEN
  • JIRA_EMAIL no es requerido al usar PAT

Configuración del Token de Acceso Personal

Los Tokens de Acceso Personal (PAT) son el método de autenticación recomendado para Jira Cloud, ya que ofrecen mejor seguridad que los tokens de API. Para crear un PAT:

  1. Ve a la configuración de tu instancia de Jira
  2. Navega a Personal Access Tokens (generalmente en Security o Account Settings)
  3. Haz clic en Create token
  4. Dale a tu token un nombre descriptivo (por ejemplo, "Jira MCP Server")
  5. Establece los alcances/permisos apropiados (normalmente necesitarás acceso de lectura y escritura a proyectos y problemas)
  6. Copia el token generado y úsalo como tu JIRA_API_TOKEN
  7. Establece JIRA_AUTH_TYPE=bearer en tu configuración

Nota: Los PAT no están disponibles en todas las instancias de Jira. Si tu instancia no admite PAT, usa el método de autenticación básica con tu token de API regular.

Herramientas Disponibles

1. Gestión de Usuarios

// Get user's account ID by email
{
  email: "user@example.com";
}

2. Gestión de Tipos de Problemas

// List all available issue types
// Returns: id, name, description, subtask status
// No parameters required

3. Tipos de Vínculos de Problemas

// List all available issue link types
// Returns: id, name, inward/outward descriptions
// No parameters required

4. Gestión de Problemas

Recuperación de Problemas

// Get all issues in a project
{
  projectKey: "PROJECT"
}

// Get issues with JQL filtering
{
  projectKey: "PROJECT",
  jql: "status = 'In Progress' AND assignee = currentUser()"
}

// Get issues assigned to user
{
  projectKey: "PROJECT",
  jql: "assignee = 'user@example.com' ORDER BY created DESC"
}

Creación de Problemas

// Create a standard issue
{
  projectKey: "PROJECT",
  summary: "Issue title",
  issueType: "Task",  // or "Story", "Bug", etc.
  description: "Detailed description",
  assignee: "accountId",  // from get_user tool
  labels: ["frontend", "urgent"],
  components: ["ui", "api"],
  priority: "High"
}

// Create a subtask
{
  parent: "PROJECT-123",
  projectKey: "PROJECT",
  summary: "Subtask title",
  issueType: "Subtask",
  description: "Subtask details",
  assignee: "accountId"
}

Actualización de Problemas

// Update issue fields
{
  issueKey: "PROJECT-123",
  summary: "Updated title",
  description: "New description",
  assignee: "accountId",
  status: "In Progress",
  priority: "High"
}

Dependencias de Problemas

// Create issue link
{
  linkType: "Blocks",  // from list_link_types
  inwardIssueKey: "PROJECT-124",  // blocked issue
  outwardIssueKey: "PROJECT-123"  // blocking issue
}

Eliminación de Problemas

// Delete single issue
{
  issueKey: "PROJECT-123"
}

// Delete issue with subtasks
{
  issueKey: "PROJECT-123",
  deleteSubtasks: true
}

// Delete multiple issues
{
  issueKeys: ["PROJECT-123", "PROJECT-124"]
}

Formato de Campos

Campo de Descripción

El campo de descripción admite formato estilo markdown:

  • Usa líneas en blanco entre párrafos
  • Usa "- " para viñetas
  • Usa "1. " para listas numeradas
  • Usa encabezados que terminen con ":" (seguidos de una línea en blanco)

Ejemplo:

Task Overview:

This task involves implementing new features:
- Feature A implementation
- Feature B testing

Steps:
1. Design component
2. Implement logic
3. Add tests

Acceptance Criteria:
- All tests passing
- Documentation updated

Manejo de Errores

El servidor proporciona mensajes de error detallados para:

  • Claves de problemas inválidas
  • Campos requeridos faltantes
  • Problemas de permisos
  • Límites de tasa de API

Instrucciones de Configuración

  1. Clona el repositorio:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. Instala las dependencias:

    npm install
    
  3. Configura las variables de entorno: Crea un archivo .env en el directorio raíz:

    Para autenticación básica (predeterminada):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your-api-token
    JIRA_AUTH_TYPE=basic
    

    Para autenticación con Token de Acceso Personal (PAT):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_API_TOKEN=your-personal-access-token
    JIRA_AUTH_TYPE=bearer
    
  4. Compila el proyecto:

    npm run build
    
  5. Inicia el servidor:

    npm start
    

Configuración de Claude Desktop

Para usar este servidor MCP con Claude Desktop:

  1. Localiza tu archivo de configuración de Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Añade el servidor MCP de Jira a tu configuración:

    Para autenticación básica (predeterminada):

    {
      "mcpServers": {
        "jira-server": {
          "name": "jira-server",
          "command": "/path/to/node",
          "args": ["/path/to/jira-server/build/index.js"],
          "cwd": "/path/to/jira-server",
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_EMAIL": "your-email@example.com",
            "JIRA_API_TOKEN": "your-api-token",
            "JIRA_AUTH_TYPE": "basic"
          }
        }
      }
    }
    

    Para autenticación con Token de Acceso Personal (PAT):

    {
      "mcpServers": {
        "jira-server": {
          "name": "jira-server",
          "command": "/path/to/node",
          "args": ["/path/to/jira-server/build/index.js"],
          "cwd": "/path/to/jira-server",
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_API_TOKEN": "your-personal-access-token",
            "JIRA_AUTH_TYPE": "bearer"
          }
        }
      }
    }
    

    Reemplaza /path/to/jira-server con la ruta absoluta a tu repositorio clonado. Reemplaza /path/to/node con la ruta absoluta a tu ejecutable de Node.js (normalmente puedes encontrarla ejecutando which node o where node en tu terminal). Se recomienda usar la ruta directa al ejecutable de Node.js y al archivo JavaScript compilado (build/index.js después de ejecutar npm run build) para mayor fiabilidad.

  3. Reinicia Claude Desktop para aplicar los cambios.

Configuración de Cursor

Para usar este servidor MCP de Jira con Cursor:

  1. Asegúrate de que el servidor esté compilado: Ejecuta npm run build en el directorio Jira-MCP-Server para crear el archivo build/index.js necesario.

  2. Localiza o crea el archivo de configuración MCP de Cursor:

    • Para configuración específica del proyecto: .cursor/mcp.json en el directorio raíz de tu proyecto.
    • Para configuración global (todos los proyectos): ~/.cursor/mcp.json en tu directorio de usuario.
  3. Añade la configuración del servidor MCP de Jira a mcp.json:

    Para autenticación básica (predeterminada):

    {
      "mcpServers": {
        "jira-mcp-server": {
          "command": "node", // Or provide the absolute path to your Node.js executable
          "args": [
            "/path/to/your/Jira-MCP-Server/build/index.js" // Absolute path to the server's built index.js
          ],
          "cwd": "/path/to/your/Jira-MCP-Server", // Absolute path to the Jira-MCP-Server directory
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_EMAIL": "your-email@example.com", // Your Jira email
            "JIRA_API_TOKEN": "your-api-token", // Your Jira API token
            "JIRA_AUTH_TYPE": "basic"
          }
        }
        // You can add other MCP server configurations here
      }
    }
    

    Para autenticación con Token de Acceso Personal (PAT):

    {
      "mcpServers": {
        "jira-mcp-server": {
          "command": "node", // Or provide the absolute path to your Node.js executable
          "args": [
            "/path/to/your/Jira-MCP-Server/build/index.js" // Absolute path to the server's built index.js
          ],
          "cwd": "/path/to/your/Jira-MCP-Server", // Absolute path to the Jira-MCP-Server directory
          "env": {
            "JIRA_HOST": "your-jira-instance.atlassian.net",
            "JIRA_API_TOKEN": "your-personal-access-token", // Your Jira PAT
            "JIRA_AUTH_TYPE": "bearer"
          }
        }
        // You can add other MCP server configurations here
      }
    }
    
    • Reemplaza /path/to/your/Jira-MCP-Server con la ruta absoluta correcta donde clonaste el repositorio Jira-MCP-Server.
    • Si node no está en el PATH de tu sistema o prefieres una ruta absoluta, reemplaza "node" con la ruta completa a tu ejecutable de Node.js (por ejemplo, /usr/local/bin/node o C:\Program Files\nodejs\node.exe).
    • Asegúrate de que los detalles de tu instancia de Jira y el token de API estén correctamente completados en la sección env.
  4. Reinicia Cursor para aplicar los cambios.

Usar Reglas de Cursor para Contexto de Jira

Para facilitar la interacción con Jira, puedes definir tu proyecto de Jira predeterminado y tu identificador de usuario en las reglas de Cursor. Esto ayuda al AI de Cursor a entender tu contexto sin que tengas que especificarlo en cada mensaje.

Crea o edita tu archivo de Reglas de Cursor (por ejemplo, en tu proyecto .cursor/rules.json o global ~/.cursor/rules.json (el archivo y método exactos para las reglas pueden variar, consulta la documentación de Cursor sobre "Rules" o "Context Management")). Añade entradas como:

As an AI assistant, when I am asked about Jira tasks:
- Assume the primary Jira project key is 'YOUR_PROJECT_KEY_HERE'.
- Assume 'my assigned tasks' or tasks assigned to 'me' refer to the Jira user with the email 'your_jira_email@example.com' (or your Jira Account ID).
You can then use these in your JQL queries, for example: project = YOUR_PROJECT_KEY_HERE AND assignee = 'your_jira_email@example.com'.

Reemplaza YOUR_PROJECT_KEY_HERE y your_jira_email@example.com con tus detalles reales.

Ejemplo de Uso en el Chat de Cursor

Una vez configurado (especialmente con Reglas de Cursor para contexto), puedes preguntarle a Cursor:

"Using Jira MCP, list my assigned tasks. Then, based on these tasks, come up with an implementation plan and work schedule."

Si no has configurado reglas, o necesitas especificar un proyecto o usuario diferente, serías más explícito:

"Using Jira MCP, list tasks assigned to 'user@example.com' in project 'PROJECT_KEY'. Then, based on these tasks, come up with an implementation plan and work schedule."

El AI de Cursor usará el servidor MCP de Jira para obtener las tareas, y luego procederá con la solicitud de planificación y programación.

Instalación vía Smithery

Para instalar Jira MCP Server para Claude Desktop automáticamente vía Smithery:

npx -y @smithery/cli install @George5562/Jira-MCP-Server --client claude

Instalación Manual

  1. Clona el repositorio:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. Instala las dependencias:

    npm install
    
  3. Configura las variables de entorno: Crea un archivo .env en el directorio raíz:

    Para autenticación básica (predeterminada):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your-api-token
    JIRA_AUTH_TYPE=basic
    

    Para autenticación con Token de Acceso Personal (PAT):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_API_TOKEN=your-personal-access-token
    JIRA_AUTH_TYPE=bearer
    
  4. Compila el proyecto:

    npm run build
    
  5. Inicia el servidor:

    npm start
    

Referencias