Taiga MCP Server
Servidor MCP que conecta asistentes de IA con Taiga: proyectos, épicas, historias de usuario, tareas, incidencias, sprints, wiki y más.
Documentación
Servidor MCP de Taiga
Conecta Claude, Cursor, Windsurf o cualquier otro asistente de IA compatible con MCP a tu herramienta de gestión de proyectos Taiga — lee y actualiza épicas, historias de usuario, tareas, incidencias, sprints, comentarios y páginas wiki simplemente conversando, en lenguaje natural. No se requiere programación para usarlo.
En palabras sencillas: MCP (Protocolo de Contexto de Modelo) es un estándar que permite a un asistente de IA usar herramientas externas de forma segura — como leer tus archivos o navegar por la web. Este paquete es esa "herramienta" para Taiga: es el puente que permite a tu asistente de IA ver y modificar cosas en tu cuenta de Taiga cuando se lo pides.
Paquete en npm: @madebyclowd/taiga-mcp-server
No es un producto oficial de Taiga. Esta es una integración independiente de código abierto.
Tabla de contenidos
- ¿Qué puedo hacer realmente con esto?
- Antes de empezar
- Instalación
- Configúralo con Claude Desktop, Claude Code, Cursor o Windsurf
- Ejecutarlo como servidor HTTP compartido
- Toda la configuración (variables de entorno)
- Qué cubre y cómo maneja los problemas
- Preguntas frecuentes
- Contribuir / ejecutar las pruebas
- Seguridad
- Licencia
¿Qué puedo hacer realmente con esto?
Una vez conectado, puedes pedirle a tu asistente de IA cosas como:
- "Muéstrame todos los errores abiertos en el proyecto Website."
- "Crea una tarea llamada 'Arreglar botón de inicio de sesión' bajo el sprint actual."
- "Mueve la historia de usuario #482 a la columna de QA."
- "Resume qué cambió en la épica #12 esta semana."
- "Busca en la wiki nuestros pasos de despliegue."
No escribes código ni llamadas a API tú mismo — solo preguntas, en frases normales, y el asistente hace el resto.
Detrás de escena, el asistente hace esto llamando a este servidor, que se comunica con la API real de Taiga usando tu propio inicio de sesión de Taiga. Solo hace lo que tu cuenta de Taiga ya tiene permitido hacer — no puede ver ni cambiar nada para lo que no tengas permiso en Taiga.
Soporta:
- Proyectos, épicas, historias de usuario, tareas, incidencias, sprints (hitos), páginas wiki, comentarios (incluyendo editar/eliminar), adjuntos (incluyendo descarga), miembros del proyecto, votar/seguir, búsqueda por referencia (
#436→ el elemento correcto), creación por lotes y búsqueda. Si está en Taiga, hay muchas posibilidades de que esto lo cubra. - Asigna personas por correo electrónico o nombre completo en lugar de buscar un ID numérico de usuario — el servidor deduce a quién te refieres a partir de la lista de miembros del proyecto.
- Cada respuesta le indica al asistente de IA si hay más resultados esperando (paginación) y le permite pedir una versión más corta o más completa de los datos (una configuración
verbosity:minimal/standard/full). En términos simples: pedir "lista mi backlog" no arrojará un muro de datos crudos a tu conversación ni consumirá la memoria del asistente sobre lo que has estado hablando — obtiene solo lo suficiente para responderte. - Búsquedas económicas de ID de filtro (
user_story_filters_data,task_filters_data,issue_filters_data) en lugar de paginar una lista completa solo para encontrar un estado o ID de etiqueta válido. - Cada herramienta está claramente etiquetada como de solo lectura, segura de repetir, o que modifica datos — para que tu asistente de IA (y tú) puedan ver de un vistazo qué es inofensivo ejecutar y qué merece una segunda mirada antes de confirmar.
- Una herramienta de "solicitud cruda" de respaldo para los raros endpoints de la API de Taiga que aún no tienen una herramienta dedicada (webhooks, importación/exportación y funciones similares de nivel administrativo).
Antes de empezar
Necesitas:
- Una cuenta de Taiga — ya sea en Taiga Cloud o una instancia de Taiga autoalojada.
- Node.js versión 22.11 o superior, o versión 24 o superior.
- Un asistente de IA que soporte MCP — Claude Desktop, Claude Code, Cursor, Windsurf o cualquier otro cliente compatible con MCP.
No necesitas instalar ni ejecutar nada relacionado con Taiga tú mismo — esto se conecta a tu cuenta de Taiga existente a través de internet (o la URL de tu instancia autoalojada).
Instalación
No necesitas instalar esto manualmente. Tu asistente de IA lo descargará y ejecutará automáticamente la primera vez que se use, mediante npx. Si prefieres instalarlo tú mismo:
# Run it once, without installing anything permanently
npx -y @madebyclowd/taiga-mcp-server
O instálalo globalmente, usando el gestor de paquetes que ya uses — solo necesitas uno de estos:
pnpm add -g @madebyclowd/taiga-mcp-server
# or
npm install -g @madebyclowd/taiga-mcp-server
Configúralo con Claude Desktop, Claude Code, Cursor o Windsurf
Todas estas herramientas usan el mismo tipo de archivo de configuración, generalmente un archivo JSON con una sección mcpServers. Añade esto al tuyo:
Opción A: usando un token de acceso de Taiga (recomendado)
Esta es la opción más segura — tu contraseña nunca se almacena en ningún lugar.
- Inicia sesión en Taiga en tu navegador.
- Obtén tu token de autenticación (en Taiga Cloud, esto está disponible a través de la configuración de tu cuenta o la API; para Taiga autoalojado, pregunta a tu administrador cómo se emiten los tokens).
- Añade esto a tu configuración:
{
"mcpServers": {
"taiga": {
"command": "npx",
"args": ["-y", "@madebyclowd/taiga-mcp-server"],
"env": {
"TAIGA_BASE_URL": "https://api.taiga.io",
"TAIGA_TOKEN": "your-taiga-auth-token"
}
}
}
}
Opción B: usando tu nombre de usuario y contraseña
{
"mcpServers": {
"taiga": {
"command": "npx",
"args": ["-y", "@madebyclowd/taiga-mcp-server"],
"env": {
"TAIGA_BASE_URL": "https://api.taiga.io",
"TAIGA_USERNAME": "your-username",
"TAIGA_PASSWORD": "your-password"
}
}
}
}
¿Usas Taiga autoalojado? Solo cambia TAIGA_BASE_URL a la URL de tu propia instancia, por ejemplo https://taiga.mycompany.com.
Después de guardar la configuración, reinicia tu asistente de IA (o recarga sus conexiones MCP). Ahora debería mostrar las herramientas de Taiga como disponibles.
Ejecutarlo como servidor HTTP compartido
La configuración anterior (llamada "stdio") ejecuta una copia privada del servidor solo para ti, en tu propia computadora. Si en cambio quieres ejecutar un servidor compartido al que un equipo pueda conectarse a través de la red, usa el modo HTTP.
La diferencia importante: en modo HTTP, el inicio de sesión de Taiga de nadie se almacena en el servidor. Cada persona que se conecta envía su propio token de Taiga con cada solicitud, por lo que todos mantienen sus propios permisos de Taiga y su rastro de auditoría — nadie tiene que compartir una cuenta.
# Start the HTTP server — same package, a different command it exposes
npx -y --package=@madebyclowd/taiga-mcp-server -- taiga-mcp-server-http
Cada cliente se conecta enviando su token de Taiga en un encabezado HTTP estándar:
POST /mcp HTTP/1.1
Host: your-server:3000
Content-Type: application/json
Authorization: Bearer <your-taiga-auth-token>
Si vas a exponer este servidor en internet (no solo en tu propia máquina o red local), lee la nota de HTTP_ALLOWED_ORIGINS en la tabla de configuración a continuación — el valor predeterminado es permisivo a propósito para facilitar el uso local/en equipo, y deberías restringirlo para un despliegue público.
Toda la configuración (variables de entorno)
Usadas por ambos modos
| Configuración | ¿Requerido? | Qué hace | Predeterminado |
|---|---|---|---|
TAIGA_BASE_URL | Sí | La dirección de la API de Taiga a la que conectarse. | https://api.taiga.io |
LOG_LEVEL | No | Cuánto registra el servidor (error, info, debug, etc.). | info |
TAIGA_REQUIRE_ELICITATION | No | true/1 para requerir una confirmación humana real en el bucle para cada eliminación. Con esto activado, un cliente MCP que se conecte y no soporte confirmación interactiva (elicitation) nunca podrá eliminar nada — sin solución alternativa de dos llamadas confirm: true. Déjalo desactivado para el comportamiento predeterminado, donde esos clientes aún pueden eliminar mediante ese patrón de dos llamadas. | sin definir (respaldo permitido) |
Solo para el modo normal (stdio)
| Configuración | ¿Requerido? | Qué hace |
|---|---|---|
TAIGA_TOKEN | Uno de estos tres es requerido | Tu token de acceso de Taiga. Preferido sobre nombre de usuario/contraseña. |
TAIGA_USERNAME | Requerido si no usas un token | Tu nombre de usuario de Taiga. |
TAIGA_PASSWORD | Requerido si no usas un token | Tu contraseña de Taiga. |
Solo para el modo de servidor HTTP
En modo HTTP, el servidor en sí no guarda ningún inicio de sesión de Taiga — cada cliente que se conecta envía su propio token, por lo que ninguna de las configuraciones a continuación trata sobre credenciales.
| Configuración | ¿Requerido? | Qué hace | Predeterminado |
|---|---|---|---|
HTTP_PORT | No | El puerto de red en el que escucha el servidor. | 3000 |
HTTP_ALLOWED_ORIGINS | No | Lista separada por comas de sitios web permitidos para conectarse desde un navegador (CORS). Si no se define, cualquier sitio web está permitido — está bien para uso local/en equipo, pero defínelo explícitamente si expones el servidor públicamente. | sin definir (cualquier sitio permitido) |
HTTP_SESSION_TTL_MS | No | Cuánto tiempo permanece abierta una conexión inactiva antes de cerrarse automáticamente, en milisegundos. | 1800000 (30 minutos) |
HTTP_MAX_SESSIONS | No | La cantidad máxima de conexiones que el servidor mantendrá abiertas a la vez, para mantener acotado el uso de memoria. | 1000 |
Qué cubre y cómo maneja los problemas
Descripción sencilla de lo que sucede detrás de escena, para que sepas qué esperar:
- Usa tus propios permisos de Taiga. Si no puedes ver o editar algo en la propia aplicación web de Taiga, este servidor tampoco podrá — realiza las mismas llamadas a la API que haría tu navegador.
- Tu contraseña/token nunca se escribe en disco ni se registra en registros. Solo se mantiene en memoria mientras el servidor está en ejecución.
- Si dos personas editan el mismo elemento al mismo tiempo, Taiga normalmente rechazaría el segundo guardado. Este servidor automáticamente vuelve a obtener la versión más reciente y reintenta el guardado una vez en lugar de simplemente fallar.
- Si Taiga limita temporalmente la tasa de solicitudes, el servidor espera y reintenta automáticamente en lugar de rendirse de inmediato.
- Los errores se devuelven de forma estructurada (qué campo estaba mal y por qué) en lugar de un genérico "algo salió mal" — esto ayuda al asistente de IA a entender y solucionar el problema en lugar de adivinar.
- Probado contra la API real de Taiga, no solo con respuestas simuladas — el conjunto de pruebas automatizadas incluye pruebas que se ejecutan contra un proyecto real de Taiga, además de las pruebas offline habituales.
- Publicado con procedencia npm — un registro firmado que demuestra que el paquete publicado se construyó desde este repositorio exacto de GitHub, no modificado ni subido desde otro lugar.
Cambio importante en 1.0.0
Cada herramienta con forma de lista (*_list, comment_list, attachment_list, epic_related_user_stories, search) ahora devuelve { items, pagination } en lugar de un array simple. Si tienes código que analiza una de estas respuestas directamente como un array, lee .items en su lugar. pagination es { count, current_page, has_next }. Este es el punto en el que las formas de respuesta de la superficie de herramientas se consideran estables — se ha probado cuidadosamente, incluso en vivo contra la API real de Taiga, pero aún no ha tenido uso real por parte de otros, así que si encuentras un problema, por favor repórtalo.
Preguntas frecuentes
¿Qué es Taiga? Taiga es una herramienta de gestión de proyectos, similar a Jira o Linear — se usa para rastrear épicas, historias de usuario, tareas, errores y sprints.
¿Qué es MCP / Model Context Protocol? Es un estándar que permite a los asistentes de IA (como Claude) conectarse a herramientas externas y fuentes de datos de manera consistente, en lugar de que cada integración se construya a medida. Este paquete implementa ese estándar para Taiga.
¿Cómo conecto Claude (o Cursor, Windsurf) a Taiga? Añade este paquete a la configuración MCP de tu asistente con tu token de Taiga — consulta Configúralo arriba. Funciona de la misma manera para cualquier cliente compatible con MCP, no solo Claude.
¿Está hecho por el equipo de Taiga? No. Este es un proyecto independiente de código abierto, no afiliado ni respaldado por Taiga/Kaleidos.
¿Necesito ejecutar mi propio servidor? No, para uso personal normal. Tu asistente de IA inicia y detiene este servidor automáticamente en segundo plano. Solo necesitas ejecutarlo tú mismo como servidor independiente si lo estás configurando para un equipo (consulta modo HTTP).
¿Funciona con Taiga autoalojado, o solo con Taiga Cloud?
Ambos. Solo apunta TAIGA_BASE_URL a tu propia instancia.
¿Es seguro darle mi contraseña de Taiga? No tienes que hacerlo — un token de acceso de Taiga (Opción A arriba) es la forma recomendada, y tu contraseña nunca se involucra en absoluto. Si usas nombre de usuario/contraseña, solo se mantiene en memoria, nunca se escribe en disco ni se registra.
¿Puede hacer cosas que no tengo permitido hacer en Taiga? No. Usa tu propia cuenta de Taiga y se limita a los mismos permisos que ya tienes.
Contribuir / ejecutar las pruebas
# Install dependencies
pnpm install
# Build
pnpm build
# Lint, format check, type-check
pnpm lint
pnpm format
pnpm typecheck
# Run the offline test suite
pnpm test
# Check dependencies for known security issues
pnpm audit
# Run the live test suite against a real Taiga project (see docs/testing.md)
pnpm test:integration
Consulta docs/testing.md para saber cómo configurar el proyecto de pruebas en vivo.
Seguridad
Consulta SECURITY.md para saber cómo reportar un problema de seguridad de forma privada.
Licencia
MIT.