juliooidella/my-server-mcp
If you are the rightful owner of my-server-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This document provides a comprehensive overview of the Jira MCP Server, a Model Context Protocol server designed for seamless integration with Jira, following SOLID principles.
🚀 MCP Server (Jira + Discord)
Um servidor MCP (Model Context Protocol) para integração com Jira Cloud e Discord através do GitHub Copilot no VS Code.
📘 > Aprenda como configurar este servidor MCP e integrá-lo com o GitHub Copilot no Visual Studio Code.
📑 Índice
- ✨ Funcionalidades
- 🛠️ Ferramentas Disponíveis
- 📋 Pré-requisitos
- 🚀 Instalação e Configuração
- 🔐 Autenticação de Servidor MCP
- 💡 Exemplos de Uso
- 🐳 Docker
- 📁 Estrutura do Projeto
- 🏗️ Arquitetura SOLID
- 🔧 Solução de Problemas
✨ Funcionalidades
- 🔍 Jira: Buscar informações de issues (título e descrição).
- ✏️ Jira: Atualizar descrições, informações técnicas e planos de testes.
- 📢 Discord: Enviar mensagens para canais via Webhook.
- 🤖 Integração nativa com GitHub Copilot.
- 🐳 Suporte completo ao Docker.
🛠️ Ferramentas Disponíveis
Ferramentas Jira
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
hello | Teste de conexão | name |
get_title_description_issue | Buscar detalhes da issue | key |
update_infos_issue | Atualizar campos técnicos | key, info_tecnicas, desc_implementacao, plan_testes |
update_description | Atualizar descrição | key, description |
Ferramentas Discord
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
enviar_mensagem_discord | Envia mensagem via webhook | mensagem |
outra_ferramenta | Ferramenta de exemplo | param |
📋 Pré-requisitos
- Visual Studio Code (v1.102+)
- GitHub Copilot habilitado
- Docker e Docker Compose
- Conta Atlassian Jira Cloud
- Webhook do Discord (opcional)
🚀 Instalação e Configuração
1. Token de API do Jira
- Aceda a Atlassian API Tokens.
- Clique em "Create API token".
- Nomeie o token (ex: "MCP Server - VS Code").
- Copie e guarde o token com segurança.
2. Configuração Rápida com Docker
# Clone o repositório
git clone [https://github.com/juliooidella/my-server-mcp.git](https://github.com/juliooidella/my-server-mcp.git)
cd my-server-mcp
# Configure as variáveis de ambiente
cp .env.example .env
Edite o ficheiro .env (certifique-se de usar MCP_PROD_TOKEN):
# Credenciais do Jira
ATLASSIAN_USERNAME=seu_email@empresa.com
ATLASSIAN_API_TOKEN=seu_token_aqui
JIRA_URL=[https://sua-empresa.atlassian.net/](https://sua-empresa.atlassian.net/)
# Integração Discord (Opcional)
DISCORD_WEBHOOK_URL=[https://discord.com/api/webhooks/](https://discord.com/api/webhooks/)...
# Segurança MCP (OBRIGATÓRIO)
MCP_PROD_TOKEN=seu_token_secreto_aqui_123456
# Configurações do Servidor
SERVER_HOST=0.0.0.0
SERVER_PORT=8015
# Inicie o servidor
docker-compose up --build -d
# Verifique se está a funcionar
curl http://localhost:8015
3. Configuração Alternativa (Python Local)
# Usando UV (recomendado)
uv sync
uv run app.py
# Ou usando Python tradicional
python -m venv venv
source venv/bin/activate # Linux/Mac
pip install -r requirements.txt
python app.py
4. Integração com VS Code
Opção A: Configuração Global
- Abra a Command Palette (
Ctrl+Shift+P). - Digite: MCP: Add Server.
- Configure:
- Server Name:
jira-mcp - URL:
http://localhost:8015 - Scope: Global
- Server Name:
Opção B: Configuração por Workspace (.vscode/mcp.json)
{
"inputs": [
{
"type": "promptString",
"id": "mcp-prod-token",
"description": "Insira o Token MCP (definido no .env como MCP_PROD_TOKEN)",
"password": true
}
],
"servers": {
"jira-mcp": {
"type": "http",
"url": "http://localhost:8015/mcp",
"headers": {
"Authorization": "Bearer ${input:mcp-prod-token}"
}
}
}
}
5. Iniciar e Verificar
- Command Palette → MCP: List Servers.
- Selecione jira-mcp → Start Server.
- No chat do Copilot, clique no ícone Tools (🔧).
- Verifique se as ferramentas do Jira e Discord aparecem.
🔐 Autenticação de Servidor MCP
Este projeto utiliza autenticação via Token Bearer. O token deve ser definido na variável de ambiente MCP_PROD_TOKEN no servidor. O cliente (VS Code) deve enviar este mesmo token no cabeçalho Authorization.
💡 Exemplos de Uso
Jira
Busque os detalhes da issue PROJ-123
Atualize a issue PROJ-456 com:
- Informações técnicas: React 18 + TypeScript
- Implementação: Componentes funcionais com hooks
Discord
Envie uma mensagem no Discord avisando que terminei a tarefa PROJ-123
🐳 Docker
Executar em background
docker-compose up -d
Ver logs
docker-compose logs -f jira-server
📁 Estrutura do Projeto
my-server-mcp/
├── app.py # Ponto de entrada
├── src/
│ ├── main.py # Configuração do FastMCP e registo de ferramentas
│ ├── config/
│ │ └── settings.py # Validação de variáveis de ambiente
│ ├── services/
│ │ ├── jira_service.py # Lógica do Jira
│ │ └── discord_service.py # Lógica do Discord
│ └── tools/
│ ├── jira_tools.py # Definições das ferramentas Jira
│ └── discord_tools.py # Definições das ferramentas Discord
└── ...
🏗️ Arquitetura SOLID
O projeto foi estruturado seguindo os princípios SOLID, separando responsabilidades entre Configuração, Serviços e Ferramentas (Tools). Veja mais detalhes em REFACTORING.md.
🔧 Solução de Problemas
Erro: "MCP_PROD_TOKEN não pode estar vazio"
Certifique-se de que definiu a variável MCP_PROD_TOKEN no seu ficheiro .env e não MCP_AUTH_TOKEN.
Servidor não conecta
Verifique se o container Docker está a correr:
docker-compose ps
Ferramentas não aparecem
- Command Palette → MCP: Reset Cached Tools
- Command Palette → MCP: List Servers → Restart
Desenvolvido para integração Jira + Discord + GitHub Copilot