Jira MCP Server

Interaja com projetos do Jira usando linguagem natural.

Documentação

Jira MCP Server

smithery badge MCP Claude Cursor

Fale com o Jira em linguagem natural para obter informações e modificar seu projeto. Use-o com o Claude Desktop em combinação com um README personalizado que você criará com informações do projeto, para que você possa delegar tarefas de PM (por exemplo, dado que você tem uma lista da sua equipe e suas especialidades, atribua qualquer nova tarefa à pessoa mais relevante).

Construído usando o Model Context Protocol.

Jira Server MCP server

O servidor permite:

  • Criação e configuração de projetos
  • Gerenciamento de tarefas e subtarefas
  • Vinculação de tarefas e dependências
  • Fluxos de trabalho automatizados de tarefas

Configuração

Variáveis de ambiente obrigatórias:

Variáveis de ambiente opcionais:

  • JIRA_API_VERSION: Versão da API do Jira a ser usada (padrão: "3")

Para Autenticação Básica (padrão):

  • JIRA_EMAIL: O e-mail da sua conta Jira (obrigatório ao usar autenticação básica)

Para Autenticação com Token de Acesso Pessoal (PAT):

  • Defina JIRA_AUTH_TYPE=bearer e forneça seu PAT como JIRA_API_TOKEN
  • JIRA_EMAIL não é obrigatório ao usar PAT

Configuração do Token de Acesso Pessoal

Os Tokens de Acesso Pessoal (PATs) são o método de autenticação recomendado para o Jira Cloud, pois oferecem melhor segurança do que os tokens de API. Para criar um PAT:

  1. Vá para as configurações da sua instância do Jira
  2. Navegue até Personal Access Tokens (geralmente em Security ou Account Settings)
  3. Clique em Create token
  4. Dê ao seu token um nome descritivo (por exemplo, "Jira MCP Server")
  5. Defina escopos/permissões apropriados (normalmente você precisará de acesso de leitura e escrita a projetos e tarefas)
  6. Copie o token gerado e use-o como seu JIRA_API_TOKEN
  7. Defina JIRA_AUTH_TYPE=bearer na sua configuração

Nota: Os PATs não estão disponíveis para todas as instâncias do Jira. Se a sua instância não suportar PATs, use o método de autenticação básica com seu token de API regular.

Ferramentas Disponíveis

1. Gerenciamento de Usuários

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

2. Gerenciamento de Tipos de Tarefa

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

3. Tipos de Vínculo de Tarefas

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

4. Gerenciamento de Tarefas

Recuperando Tarefas

// 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"
}

Criando Tarefas

// 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"
}

Atualizando Tarefas

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

Dependências de Tarefas

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

Excluindo Tarefas

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

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

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

Formatação de Campos

Campo de Descrição

O campo de descrição suporta formatação no estilo markdown:

  • Use linhas em branco entre parágrafos
  • Use "- " para marcadores
  • Use "1. " para listas numeradas
  • Use cabeçalhos terminando com ":" (seguidos de linha em branco)

Exemplo:

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

Tratamento de Erros

O servidor fornece mensagens de erro detalhadas para:

  • Chaves de tarefa inválidas
  • Campos obrigatórios ausentes
  • Problemas de permissão
  • Limites de taxa da API

Instruções de Configuração

  1. Clone o repositório:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. Instale as dependências:

    npm install
    
  3. Configure as variáveis de ambiente: Crie um arquivo .env no diretório raiz:

    Para Autenticação Básica (padrão):

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

    Para Autenticação com Token de Acesso Pessoal (PAT):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_API_TOKEN=your-personal-access-token
    JIRA_AUTH_TYPE=bearer
    
  4. Compile o projeto:

    npm run build
    
  5. Inicie o servidor:

    npm start
    

Configurando o Claude Desktop

Para usar este servidor MCP com o Claude Desktop:

  1. Localize o arquivo de configuração do 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. Adicione o servidor Jira MCP à sua configuração:

    Para Autenticação Básica (padrão):

    {
      "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 Autenticação com Token de Acesso Pessoal (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"
          }
        }
      }
    }
    

    Substitua /path/to/jira-server pelo caminho absoluto do seu repositório clonado. Substitua /path/to/node pelo caminho absoluto do seu executável Node.js (geralmente você pode encontrá-lo executando which node ou where node no seu terminal). Usar o caminho direto para o executável Node.js e o arquivo JavaScript compilado (build/index.js após executar npm run build) é recomendado para confiabilidade.

  3. Reinicie o Claude Desktop para aplicar as alterações.

Configurando o Cursor

Para usar este servidor Jira MCP com o Cursor:

  1. Garanta que o servidor esteja compilado: Execute npm run build no diretório Jira-MCP-Server para criar o arquivo build/index.js necessário.

  2. Localize ou crie o arquivo de configuração MCP do Cursor:

    • Para configuração específica do projeto: .cursor/mcp.json no diretório raiz do seu projeto.
    • Para configuração global (todos os projetos): ~/.cursor/mcp.json no seu diretório pessoal.
  3. Adicione a configuração do servidor Jira MCP ao mcp.json:

    Para Autenticação Básica (padrão):

    {
      "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 Autenticação com Token de Acesso Pessoal (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
      }
    }
    
    • Substitua /path/to/your/Jira-MCP-Server pelo caminho absoluto correto de onde você clonou o repositório Jira-MCP-Server.
    • Se node não estiver no PATH do seu sistema ou se você preferir um caminho absoluto, substitua "node" pelo caminho completo do seu executável Node.js (por exemplo, /usr/local/bin/node ou C:\Program Files\nodejs\node.exe).
    • Garanta que os detalhes da sua instância do Jira e o token de API estejam preenchidos corretamente na seção env.
  4. Reinicie o Cursor para aplicar as alterações.

Usando Regras do Cursor para Contexto do Jira

Para tornar a interação com o Jira mais fluida, você pode definir seu projeto Jira padrão e identificador de usuário nas regras do Cursor. Isso ajuda a IA do Cursor a entender seu contexto sem que você precise especificá-lo em cada prompt.

Crie ou edite seu arquivo de Regras do Cursor (por exemplo, no seu projeto .cursor/rules.json ou global ~/.cursor/rules.json (o arquivo e o método exatos para regras podem variar, consulte a documentação do Cursor para "Rules" ou "Context Management")). Adicione 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'.

Substitua YOUR_PROJECT_KEY_HERE e your_jira_email@example.com pelos seus detalhes reais.

Exemplo de Uso no Chat do Cursor

Depois de configurado (especialmente com Regras do Cursor para contexto), você pode perguntar ao Cursor:

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

Se você não configurou regras, ou precisar especificar um projeto ou usuário diferente, você seria mais 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."

A IA do Cursor usará o servidor Jira MCP para buscar as tarefas e, em seguida, prosseguirá com a solicitação de planejamento e agendamento.

Instalando via Smithery

Para instalar o Jira MCP Server para Claude Desktop automaticamente via Smithery:

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

Instalação Manual

  1. Clone o repositório:

    git clone https://github.com/George5562/Jira-MCP-Server.git
    cd Jira-MCP-Server
    
  2. Instale as dependências:

    npm install
    
  3. Configure as variáveis de ambiente: Crie um arquivo .env no diretório raiz:

    Para Autenticação Básica (padrão):

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

    Para Autenticação com Token de Acesso Pessoal (PAT):

    JIRA_HOST=your-instance.atlassian.net
    JIRA_API_TOKEN=your-personal-access-token
    JIRA_AUTH_TYPE=bearer
    
  4. Compile o projeto:

    npm run build
    
  5. Inicie o servidor:

    npm start
    

Referências