Jira MCP Server
# đ Jira MCP Server - Claro Digital
**Model Context Protocol (MCP) server for Jira integration** - permite gerenciar suas tarefas Jira diretamente através do Claude de forma conversacional.
## đŻ O que Ă© isso?
Este Ă© um **MCP Server** que conecta o Claude ao Jira da Claro Digital, permitindo:
- đ Consultar suas tarefas e subtarefas
- â±ïž Registrar tempo trabalhado (worklogs)
- đŹ Adicionar comentĂĄrios para rastreabilidade
- đ Executar queries JQL personalizadas
Tudo através de **conversação natural** com assistentes de IA!
## đ Compatibilidade Multi-Editor
Este MCP server funciona em **qualquer editor** que suporte o Model Context Protocol:
- â
**Claude Code** - Suporte nativo
- â
**Cursor** - Configuração por projeto (`.cursor/mcp.json`)
- â
**VS Code + GitHub Copilot** - GA desde v1.102
- đĄ **JetBrains IDEs** - Preview via AI Assistant
- đĄ **Visual Studio** - Preview
- đĄ **Eclipse** - Preview
**MCP Ă© um protocolo aberto** (nĂŁo exclusivo do Claude!) - funciona com qualquer cliente compatĂvel!
## âš Funcionalidades
### 10 Tools DisponĂveis:
**Queries (6 tools)**:
- `list_my_tasks` - Lista todas suas tarefas
- `list_subtasks` - Lista subtarefas (com filtros)
- `list_sprint_active` - Tarefas da sprint ativa
- `list_in_development` - Tarefas em desenvolvimento
- `list_projects` - Lista projetos disponĂveis
- `custom_query` - Execute JQL customizado
**Worklogs (2 tools)**:
- `add_worklog` - Registrar tempo em uma issue
- `list_worklogs` - Ver registros de tempo
**Comments (2 tools)**:
- `add_comment` - Adicionar comentĂĄrio
- `list_comments` - Ver comentĂĄrios
## đïž Arquitetura
```
jira-mcp-server/
âââ src/
â âââ index.ts # MCP Server principal
â âââ jira-client.ts # Client da API Jira
â âââ tools/
â â âââ queries.ts # Tools de queries
â â âââ worklog.ts # Tools de worklog
â â âââ comments.ts # Tools de comments
â âââ types/
â âââ jira.ts # TypeScript types
âââ dist/ # CĂłdigo compilado
âââ package.json
âââ tsconfig.json
âââ .env # Suas credenciais (nĂŁo commitar!)
âââ .env.example # Template
```
## đ Quick Start
### 1. Instalar DependĂȘncias
```bash
cd jira-mcp-server
npm install
```
### 2. Configurar Credenciais
Copie `.env.example` para `.env` e preencha:
```bash
cp .env.example .env
```
Edite `.env`:
```env
JIRA_URL=https://clarodigital.atlassian.net
JIRA_EMAIL=seu-email@claro.com.br
JIRA_API_TOKEN=seu-token-aqui
```
**Gerar API Token**: https://id.atlassian.com/manage/api-tokens
### 3. Compilar TypeScript
```bash
npm run build
```
### 4. Configurar no Claude Code
Edite `~/.config/claude/claude_desktop_config.json` (ou `~/Library/Application Support/Claude/claude_desktop_config.json` no Mac):
```json
{
"mcpServers": {
"jira-claro": {
"command": "node",
"args": ["/caminho/absoluto/para/jira-mcp-server/dist/index.js"],
"env": {
"JIRA_URL": "https://clarodigital.atlassian.net",
"JIRA_EMAIL": "seu-email@claro.com.br",
"JIRA_API_TOKEN": "seu-token-aqui"
}
}
}
}
```
**Importante**: Use o caminho absoluto para o arquivo `dist/index.js`!
### 5. Reiniciar Claude Code
Feche e abra o Claude Code novamente para carregar o MCP server.
## đŹ Exemplos de Uso
ApĂłs configurar, vocĂȘ pode conversar com o Claude assim:
```
VocĂȘ: "Mostre minhas subtarefas da sprint atual"
Claude: [usa list_subtasks]
đ Found 6 subtasks:
**CCOE-82835**: Implementar polĂticas de branch protection
Status: To Development | Priority: Medium | Assignee: pedro.hedro...
Updated: 2025-10-06
**CCOE-82834**: Configurar templates de PR
Status: To Development | Priority: Medium | Assignee: pedro.hedro...
Updated: 2025-10-06
...
```
```
VocĂȘ: "Adicione 2 horas de worklog em CCOE-82835 com comentĂĄrio 'Desenvolvimento da feature'"
Claude: [usa add_worklog]
â
Worklog added successfully to **CCOE-82835**
â±ïž Time logged: 2h (2h 0m)
đŹ Comment: Desenvolvimento da feature
```
```
VocĂȘ: "Adicione comentĂĄrio em CCOE-82835: 'Iniciando desenvolvimento'"
Claude: [usa add_comment]
â
Comment added successfully to **CCOE-82835**
đ€ Author: pedro.hedro@globalhitss.com.br
đ
Created: 2025-10-06
đŹ Comment: Iniciando desenvolvimento
```
## đ Documentação Detalhada
### Setup por Editor
- **[SETUP.md](./SETUP.md)** - Guia completo para **Claude Code**
- **[CURSOR_SETUP.md](./CURSOR_SETUP.md)** - Guia completo para **Cursor**
- **[VSCODE_COPILOT_SETUP.md](./VSCODE_COPILOT_SETUP.md)** - Guia completo para **VS Code + GitHub Copilot**
### ReferĂȘncias
- **[TOOLS.md](./TOOLS.md)** - Documentação de cada tool disponĂvel (todos os editores)
- **[SHARING.md](./SHARING.md)** - Como compartilhar com sua equipe
## đ€ Compartilhamento com Colegas
### Opção 1: Local Install (Mais Simples)
1. Compartilhe o repositĂłrio:
```bash
zip -r jira-mcp-server.zip jira-mcp-server/
# Enviar arquivo para colegas
```
2. Colegas descompactam e seguem Quick Start
### Opção 2: Git Clone
```bash
git clone https://github.com/TechTeam-ClaroEmpresas/jira-mcp-server
cd jira-mcp-server
npm install
cp .env.example .env
# Editar .env com credenciais
npm run build
# Configurar no claude_desktop_config.json
```
### Opção 3: NPM (Futuro)
*Planejado para publicação no npm interno da Claro*
## đ Segurança
- â
**Credenciais via `.env`** - Nunca hardcode tokens
- â
**`.gitignore` configurado** - `.env` nunca Ă© commitado
- â
**HTTPS-only** - Comunicação segura com API Jira
- â
**Token pessoal** - Cada pessoa usa seu prĂłprio token
## đ ïž Desenvolvimento
### Scripts DisponĂveis
```bash
npm run build # Compilar TypeScript
npm run watch # Compilar em modo watch
npm run dev # Rodar em modo desenvolvimento
```
### Estrutura de Tools
Cada tool segue o padrĂŁo:
```typescript
{
description: string,
inputSchema: z.object({...}), // Validação com Zod
handler: async (args) => {
// LĂłgica do tool
return {
content: [{ type: 'text', text: '...' }]
};
}
}
```
## đ Troubleshooting
### MCP Server nĂŁo aparece no Claude
1. Verifique o caminho em `claude_desktop_config.json`
2. Use caminho absoluto (nĂŁo relativo)
3. Reinicie o Claude Code completamente
4. Verifique logs em `~/Library/Logs/Claude/mcp*.log` (Mac)
### Erro de Autenticação
1. Verifique se o `.env` estĂĄ preenchido corretamente
2. Gere um novo API token: https://id.atlassian.com/manage/api-tokens
3. Certifique-se que o email estĂĄ correto
### Tools nĂŁo funcionam
1. Verifique se vocĂȘ tem permissĂŁo na issue
2. Para worklog: use formato correto ("2h 30m", "1d", etc)
3. Veja logs para mensagens de erro detalhadas
## đ Tecnologias Usadas
- **TypeScript** - Type safety
- **@modelcontextprotocol/sdk** - SDK oficial MCP
- **axios** - HTTP client
- **zod** - Schema validation
- **dotenv** - Environment variables
## đ Changelog
### v1.0.1 (2025-10-07)
- â
**API Migration**: Atualizado para usar a nova API do Jira `/rest/api/3/search/jql` (POST)
- A API antiga `/rest/api/3/search` (GET) foi descontinuada pela Atlassian
- ReferĂȘncia: [CHANGE-2046](https://developer.atlassian.com/changelog/#CHANGE-2046)
## đ Learn More
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Jira REST API Documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/)
- [Claude Code Documentation](https://docs.claude.com/)
## đ„ Autores
- **Pedro Hedro** - *Initial work* - pedro.hedro@globalhitss.com.br
- **Claro Digital Team** - CCoE
## đ License
MIT
---
**Made with â€ïž by Claro Digital Team**
TDQS
Scored across 22 tools
Several tools overlap in purpose: list_my_tasks, list_subtasks, list_sprint_active, list_in_development, and list_my_board_tasks all list tasks assigned to the current user with only subtle filter differences. custom_query can also replicate these searches, making tool boundaries unclear.
Most tools follow a consistent verb_noun snake_case pattern (e.g., list_projects, create_issue, add_comment, get_confluence_page). Minor deviations include custom_query (not verb_noun) and update_issue_status (three-part), but the overall style is predictable.
With 22 tools, the server is on the heavier side for a Jira+Confluence integration. While not extreme, the count falls in the 16-25 range that feels somewhat bloated but still manageable for the scope.
Core workflows are covered: issue creation/update/status, comments, worklogs, attachments, JQL queries, and Confluence get/search/create/update. However, there is no direct get_issue by key, no delete operations for issues/comments/worklogs/attachments, and no Confluence space listing, leaving notable gaps that require workarounds.