claude-mcp-jira
claude-mcp-jira
Integración de Claude con Jira vía MCP server interno, diseñada para entornos corporativos con red privada (Jira Server/Data Center).
Arquitectura
[CLI (Typer)] ──HTTP──►
[Service Layer (FastAPI)] → [Claude API — LiteLLM proxy]
[MCP Server SSE] ──HTTP──► → [Jira REST API v2 — jira.zurich.com]El MCP server y el service layer corren dentro de la red corporativa. Ningún dato sale hacia servicios cloud externos.
Setup
conda env create -f environment.yml
conda activate claude-mcp-jira
cp .env.example .env # completar JIRA_PAT y MCP_API_KEYUso
# Levantar stack completo (service layer + MCP server)
docker compose up
# Desarrollo local (fuera de Docker)
bash scripts/dev.sh both # service :18000 + MCP :18001
bash scripts/dev.sh service # solo service layer
bash scripts/dev.sh stop # detener todo
bash scripts/dev.sh restart # reinicio limpio
# Tests
bash scripts/test-dev.sh # service layer: 8 tests (CLI → FastAPI → Jira)
bash scripts/test-mcp.sh # MCP server: 10 tests (SSE tools + auth + RBAC)
bash scripts/test-multi.sh # multi-proyecto: 19 tests (ZNRX/AIPROJECTS/SAZ + auto-discovery)
bash scripts/test-actions.sh # endpoints de acción: 24 tests (comments, assign, priority, labels, worklog, transition, clone, link, saz)
pytest tests/ # unitarios: 52 tests (sanitizer, jql, auth, rbac)
# Comandos CLI
python cli/main.py create "bug login en producción prioridad alta"
python cli/main.py update ZNRX-123 "cambiar prioridad a alta"
python cli/main.py summarize ZNRX-123
python cli/main.py list-issues "mis tareas abiertas de esta semana"Proyectos Jira configurados
Ver docs/jira-projects.md para metadata completa, restricciones de campos y configuración por proyecto.
Proyecto |
|
| Propósito |
ZNRX |
|
| Gestión de requerimientos y desarrollo |
AIPROJECTS |
|
| IA y automatización de negocio |
SAZ |
|
| Solicitudes Release / DevOps |
SCRX |
|
| Desarrollo ágil Ecuador/LATAM |
Certificados corporativos
certs/ contiene los certificados raíz Zurich. Ambos Dockerfiles los instalan automáticamente en /etc/ssl/certs/.
Archivo | Uso |
| Servicios internos estándar ( |
| SSL inspection CA ( |
| Endpoints UAT de workflow |
| CA de desarrollo local |
En .env, REQUESTS_CA_BUNDLE apunta al cert del endpoint que se va a llamar. Ver .env.example para detalles.
Estado de implementación
Fase | Estado | Descripción |
1 — Prototipo CLI | ✅ Completa | Comando |
2 — Service Layer | ✅ Completa | FastAPI + sanitización + audit log + timeouts |
3 — Comandos completos | ✅ Completa |
|
4 — MCP Server | ✅ Completa | SSE Docker + auth API key + RBAC + rate limit + output normalizado |
4.1 — Ajustes e2e + TICKET_LANG | ✅ Completa | Campos ZNRX, priority IDs, prompts ES, idioma configurable |
4.2 — Deuda técnica | ✅ Completa | JQL injection fix, audit MCP, rate limiter compartido, 52 unit tests |
4.3 — Transiciones y Log Work | ✅ Completa |
|
4.4 — Mejoras API | ✅ Completa | comments, assign, priority, labels, clone |
4.5 — Link dinámico | ✅ Completa |
|
5 — Soporte SAZ | ✅ Completa |
|
7 — Multi-proyecto | ✅ Completa |
|
6 — Observabilidad | Futura | Prometheus + OpenTelemetry + caching — activar cuando el volumen lo justifique |
8a — PAT dinámico | Futura |
|
8 — UI | Futura | Streamlit MVP → Next.js si hay adopción; login PAT → JWT → propaga como X-Jira-Token |
9.1–9.4 — Git Intelligence | ✅ Completa | Scanner, analyzer, mapper, |
9.5 — Human-sensity worklogs | Futura | Señales contextuales + human-in-the-loop editable antes de registrar |
Documentación
Documento | Descripción |
Proyectos Jira — restricciones, issuetypes, | |
Campos requeridos y valores permitidos por proyecto | |
Permisos efectivos del usuario en los 4 proyectos | |
Tipos de link — 29 tipos en jira.zurich.com; también disponible vía | |
Statuses y transiciones por proyecto | |
Base de datos SQLite — tablas | |
Arquitectura, plan de implementación, evaluaciones e informes técnicos | |
Variables de entorno y configuración del MCP server |