Confluence MCP

Um servidor MCP que

Documentação

Confluence MCP

Um servidor Model Context Protocol (MCP) para Confluence, que permite que assistentes de IA interajam com o conteúdo do Confluence por meio de uma interface padronizada.

ℹ️ Existe um servidor MCP separado para o Jira

Funcionalidades

  • Autenticar no Confluence usando um token de API pessoal
  • Recuperar e pesquisar páginas e espaços do Confluence
  • Criar e atualizar conteúdo do Confluence
  • Recuperar e adicionar comentários a páginas
  • Recuperar e adicionar anexos a páginas
  • Limpar e transformar o conteúdo do Confluence para consumo por IA
  • Gerenciar comunicação com a API, tratamento de erros e transformação de dados
  • Limitação básica de taxa para prevenir abuso da API

Pré-requisitos

  • Bun (v1.0.0 ou superior)
  • Conta Confluence com acesso à API

Instalação

# 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

Configuração

Para usar este servidor MCP, você precisa definir as seguintes variáveis de ambiente:

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

Configuração do Claude Desktop / Cline

Adicione esta configuração ao seu arquivo de configurações:

{
  "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"
      }
    }
  }
}

Desenvolvimento

# Run in development mode
bun run dev

# Run tests
bun test

Ferramentas Disponíveis

O servidor MCP Confluence expõe as seguintes ferramentas:

get_page

Recupera uma página do Confluence por ID. Format refere-se ao formato de retorno do conteúdo e pode ser text ou markdown. O parâmetro includeMarkup permite recuperar a marcação original do Confluence Storage Format (XHTML), o que é útil para atualizar páginas preservando a formatação.

{
  "pageId": "123456",
  "format": "text",
  "includeMarkup": true
}

search_pages

Pesquisa páginas do Confluence usando CQL (Confluence Query Language). Format refere-se ao formato de retorno do conteúdo e pode ser text ou markdown. O parâmetro includeMarkup permite recuperar a marcação original do Confluence Storage Format (XHTML) para cada página.

{
  "query": "space = DEV and label = documentation",
  "limit": 10,
  "format": "text",
  "includeMarkup": true
}

get_spaces

Lista todos os espaços disponíveis do Confluence.

{
  "limit": 50
}

create_page

Cria uma nova página no Confluence. O parentId é opcional e pode ser usado para criar uma página filha sob uma página existente.

{
  "spaceKey": "DEV",
  "title": "New Page Title",
  "content": "<p>Page content in Confluence Storage Format (XHTML)</p>",
  "parentId": "123456"
}

update_page

Atualiza uma página existente do Confluence.

{
  "pageId": "123456",
  "title": "Updated Page Title",
  "content": "<p>Updated content in Confluence Storage Format (XHTML)</p>",
  "version": 1
}

get_comments

Recupera comentários de uma página específica do Confluence. Format refere-se ao formato de retorno do conteúdo e pode ser text ou markdown.

{
  "pageId": "123456",
  "limit": 25,
  "format": "text"
}

add_comment

Adiciona um comentário a uma página do Confluence. O parentId é opcional para criar respostas em tópicos.

{
  "pageId": "123456",
  "content": "<p>This is a new comment.</p>",
  "parentId": "789012"
}

get_attachments

Recupera anexos de uma página específica do Confluence.

{
  "pageId": "123456",
  "limit": 25
}

add_attachment

Adiciona um anexo a uma página do Confluence. O fileContentBase64 deve ser a string codificada em base64 do conteúdo do arquivo.

{
  "pageId": "123456",
  "filename": "document.pdf",
  "fileContentBase64": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+P...",
  "comment": "Uploaded new version of the document"
}

LICENÇA

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENÇA para detalhes.