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.