Jira
Um servidor para consultar issues do Jira, exigindo um token Jira para autenticação.
Documentação
redhat-ai-tools/jira-mcp
Um servidor MCP Python containerizado para o Cursor fornecer acesso ao Jira.
[!IMPORTANT] Este projeto é experimental e foi inicialmente criado como um exercício de aprendizado. Esteja ciente de que existem soluções Jira MCP mais capazes e maduras disponíveis, como sooperset/mcp-atlassian, e o próprio MCP Server da Atlassian.
Veja também redhat-ai-tools/jira-mcp-snowflake que fornece outra maneira de acessar os dados do Jira da Red Hat.
Início Rápido
-
Prepare um token do Jira
- Vá para Red Hat Jira Personal Access Tokens e crie um token
- Crie um arquivo .env semelhante a example.env
-
Configure o Cursor
- No Cursor, vá para "Settings", "Tools & Integrations" e clique em "New MCP Server"
- Cole o seguinte JSON (ou insira apenas o objeto
jiraMcpsob a chavemcpServers). - Atualize
"/path/to/your/dotenv/file.env"para apontar para o arquivo do passo 1. - Salve
{
"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"
}
}
}
Início Rápido (para desenvolvedores)
-
Pré-requisitos
- podman - Instale com
sudo dnf install podman(Fedora/RHEL) oubrew install podman(macOS) - yq - Instale com
sudo dnf install yq(Fedora/RHEL) oubrew install yq(macOS) - make - Geralmente pré-instalado na maioria dos sistemas
- podman - Instale com
-
Obtenha o código
git clone git@github.com:redhat-ai-tools/jira-mcp.git
cd jira-mcp
- Construa a imagem e configure o Cursor
Isso também cria um arquivo~/.rh-jira-mcp.envcomo este.
make setup
-
Prepare um token do Jira
- Vá para Red Hat Jira Personal Access Tokens e crie um token
- Edite o arquivo
.rh-jira-mcp.envno seu diretório inicial e cole o token
-
Decida se deseja habilitar operações de escrita
Habilitar seu servidor MCP para fazer edições no Jira pode ser muito útil, mas também pode causar muitos problemas se você não tiver cuidado ao usar as ferramentas MCP.
Por padrão, o servidor tem as operações de escrita desativadas.
Se quiser ativá-las, edite o arquivo .rh-jira-mcp.env no seu diretório inicial para definir JIRA_ENABLE_WRITE=true.
- Verifique se está funcionando no Cursor
Para confirmar que está funcionando, execute o Cursor, vá para Configurações e clique em "Tools & Integrations". Em Ferramentas MCP, você deve ver "jiraMcp" com 20 ferramentas habilitadas se
JIRA_ENABLE_WRITE=false (o valor padrão) ou 30 ferramentas habilitadas se JIRA_ENABLE_WRITE=true.
Usando com um aplicativo MCP baseado em HTTP
Se você quiser usar este servidor MCP com um aplicativo que se comunica via HTTP, então você precisa executar o servidor com um mecanismo de transporte baseado em HTTP. Aqui está um exemplo de como fazer isso usando Streamable HTTP, que é o mecanismo de transporte baseado em HTTP atualmente recomendado para MCP:
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport http --port 3075
Aqui está um exemplo de como fazer isso usando SSE, que é um mecanismo de transporte baseado em HTTP obsoleto (por exemplo, porque você tem um aplicativo cliente MCP mais antigo que depende de SSE):
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport sse --port 3075
Para Streamable HTTP ou SSE, a JIRA_API_KEY no seu ambiente é ignorada (e não é necessária). Isso é um recurso de segurança importante, porque caso contrário, qualquer pessoa que tivesse acesso ao serviço HTTP teria acesso às informações da conta de quem configurou e executou esse servidor. Em vez disso, os aplicativos chamadores devem enviar seu próprio token do Jira como um token Bearer. Aqui está um exemplo de como fazer isso 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}"
}
}
]
)
Ferramentas Disponíveis
Este servidor MCP fornece as seguintes ferramentas:
Pesquisa e Recuperação de Issues
get_jira- Obtenha detalhes de um issue específico do Jira pela chave.search_issues- Pesquise issues usando JQL
Criação e Gerenciamento de Issues
create_issue- Crie um novo issue do Jira com resumo, descrição, tipo, prioridade e responsávelupdate_issue- Atualize o resumo, a descrição, a prioridade ou o responsável de um issue existentedelete_issue- Exclua um issue do Jira (use com cautela)
Comentários de Issues
get_issue_comments- Obtenha todos os comentários de um issue do Jiraadd_comment- Adicione um comentário a um issue do Jiradelete_comment- Exclua um comentário de um issue do Jira
Atribuição de Issues
assign_issue- Atribua um issue do Jira a um usuáriounassign_issue- Desatribua um issue do Jira
Fluxo de Trabalho e Status de Issues
transition_issue- Transicione um issue do Jira para um novo status (por exemplo, "In Progress", "Done")get_issue_transitions- Obtenha as transições disponíveis para um issue do Jira
Rótulos de Issues
add_issue_labels- Adicione rótulos a um issue do Jiraremove_issue_labels- Remova rótulos de um issue do Jira
Gerenciamento de Projetos
list_projects- Liste todos os projetosget_project- Obtenha detalhes do projeto pela chaveget_project_components- Obtenha componentes de um projetoget_project_versions- Obtenha versões de um projetoget_project_roles- Obtenha papéis de um projetoget_project_permission_scheme- Obtenha o esquema de permissões de um projetoget_project_issue_types- Obtenha os tipos de issue de um projeto
Gerenciamento de Quadros e Sprints
list_boards- Liste todos os quadroslist_sprints- Liste os sprints de um quadroget_sprint- Obtenha detalhes do sprint por IDget_sprints_by_name- Obtenha sprints por nome para um quadro, opcionalmente filtrados por estado
Gerenciamento de Usuários
search_users- Pesquise usuários por consultaget_user- Obtenha detalhes do usuário por ID da contaget_current_user- Obtenha informações do usuário atualget_assignable_users_for_project- Obtenha usuários atribuíveis para um projetoget_assignable_users_for_issue- Obtenha usuários atribuíveis para um issue
Comandos de Desenvolvimento
make build- Construa a imagemmake run- Execute o contêinermake clean- Limpe a imagem construídamake cursor-config- Modifique~/.cursor/mcp.jsonpara instalar este servidor MCPmake setup- Constrói a imagem, configura o Cursor e cria~/.rh-jira-mcp.envse ele não existir
Solução de Problemas
Servidor Não Iniciando
- Confirme que
make runfunciona - Verifique se o JIRA_API_TOKEN está correto
- Verifique se a imagem foi construída com sucesso com
podman images jira-mcp - Vá para a aba "Output" no painel inferior do Cursor, escolha "MCP Logs" no menu suspenso e examine os logs lá
- (MacOS) jiraMcp aparece na seção de ferramentas do Cursor, mas não mostra ferramentas ativas:
- Edite a seção de argumentos do jiraMcp no seu arquivo
mcp.jsonpara incluir o caminho completo para o arquivo.rh-jira-mcp.env. - Exemplo:
"~/.rh-jira-mcp.env",para"/Users/your_username/.rh-jira-mcp.env",
- Edite a seção de argumentos do jiraMcp no seu arquivo
Problemas de Conexão
- Reinicie o Cursor após alterações de configuração
- Verifique o console do desenvolvedor do Cursor para mensagens de erro
- Verifique se a URL do Jira está acessível a partir da sua rede
Licença
Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.