Confluence MCP
Un servidor MCP que permite a los asistentes de IA interactuar con contenido de Confluence a través de una interfaz estandarizada.
Documentación
Confluence MCP
Un servidor de Model Context Protocol (MCP) para Confluence, que permite a los asistentes de IA interactuar con el contenido de Confluence a través de una interfaz estandarizada.
ℹ️ Existe un servidor MCP independiente para Jira
Características
- Autenticarse en Confluence mediante un token de API personal
- Recuperar y buscar páginas y espacios de Confluence
- Crear y actualizar contenido de Confluence
- Recuperar y añadir comentarios a las páginas
- Recuperar y añadir archivos adjuntos a las páginas
- Limpiar y transformar el contenido de Confluence para el consumo por IA
- Gestionar la comunicación con la API, el manejo de errores y la transformación de datos
- Limitación básica de velocidad para prevenir el abuso de la API
Requisitos previos
- Bun (v1.0.0 o superior)
- Cuenta de Confluence con acceso a la API
Instalación
# Clone the repository
git clone https://github.com/cosmix/confluence-mcp.git
cd confluence-mcp
# Install dependencies
bun install
# Build the project
bun run build
Configuración
Para usar este servidor MCP, debes configurar las siguientes variables de entorno:
CONFLUENCE_API_TOKEN=your_api_token
CONFLUENCE_BASE_URL=your_confluence_instance_url # e.g., https://your-domain.atlassian.net/wiki
CONFLUENCE_USER_EMAIL=your_email
Configuración de Claude Desktop / Cline
Añade esta configuración a tu archivo de configuración:
{
"mcpServers": {
"confluence": {
"command": "bun",
"args": ["/absolute/path/to/confluence-mcp/dist/index.js"],
"env": {
"CONFLUENCE_API_TOKEN": "your_api_token",
"CONFLUENCE_BASE_URL": "your_confluence_instance_url/wiki",
"CONFLUENCE_USER_EMAIL": "your_email"
}
}
}
}
Desarrollo
# Run in development mode
bun run dev
# Run tests
bun test
Herramientas disponibles
El servidor MCP de Confluence expone las siguientes herramientas:
get_page
Recupera una página de Confluence por ID. El formato se refiere al formato de retorno del contenido y puede ser text o markdown. El parámetro includeMarkup permite recuperar el marcado original del Formato de Almacenamiento de Confluence (XHTML), lo que resulta útil para actualizar páginas conservando el formato.
{
"pageId": "123456",
"format": "text",
"includeMarkup": true
}
search_pages
Busca páginas de Confluence mediante CQL (Confluence Query Language). El formato se refiere al formato de retorno del contenido y puede ser text o markdown. El parámetro includeMarkup permite recuperar el marcado original del Formato de Almacenamiento de Confluence (XHTML) para cada página.
{
"query": "space = DEV and label = documentation",
"limit": 10,
"format": "text",
"includeMarkup": true
}
get_spaces
Enumera todos los espacios de Confluence disponibles.
{
"limit": 50
}
create_page
Crea una nueva página de Confluence. El parentId es opcional y se puede utilizar para crear una página secundaria bajo una página existente.
{
"spaceKey": "DEV",
"title": "New Page Title",
"content": "<p>Page content in Confluence Storage Format (XHTML)</p>",
"parentId": "123456"
}
update_page
Actualiza una página de Confluence existente.
{
"pageId": "123456",
"title": "Updated Page Title",
"content": "<p>Updated content in Confluence Storage Format (XHTML)</p>",
"version": 1
}
get_comments
Recupera los comentarios de una página de Confluence específica. El formato se refiere al formato de retorno del contenido y puede ser text o markdown.
{
"pageId": "123456",
"limit": 25,
"format": "text"
}
add_comment
Añade un comentario a una página de Confluence. El parentId es opcional para crear respuestas en hilo.
{
"pageId": "123456",
"content": "<p>This is a new comment.</p>",
"parentId": "789012"
}
get_attachments
Recupera los archivos adjuntos de una página de Confluence específica.
{
"pageId": "123456",
"limit": 25
}
add_attachment
Añade un archivo adjunto a una página de Confluence. El fileContentBase64 debe ser la cadena codificada en base64 del contenido del archivo.
{
"pageId": "123456",
"filename": "document.pdf",
"fileContentBase64": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+P...",
"comment": "Uploaded new version of the document"
}
LICENCIA
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENCE para más detalles.