Outline MCP Server
Servidor MCP para a base de conhecimento e ferramenta de gerenciamento de documentos Outline.
Documentação
Outline MCP Server
Um servidor Model Context Protocol (MCP) para Outline que permite ler e escrever documentos através da API do Outline.
Recursos
- Ler Documentos: Obter documentos individuais, pesquisar e listar documentos
- Escrever Documentos: Criar, atualizar e excluir documentos
- Gerenciamento de Coleções: Listar e recuperar informações de coleções
- Pesquisa de Texto Completo: Pesquisar em todos os documentos da sua instância do Outline
- Suporte a Markdown: Criar e editar documentos com formatação Markdown completa
Início Rápido (npx)
A maneira mais fácil de usar este servidor é via npx — sem necessidade de clonar ou compilar.
Aponte seu cliente MCP diretamente para ele:
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "getoutline-mcp-server"],
"env": {
"OUTLINE_API_KEY": "your-secret-api-token",
"OUTLINE_BASE_URL": "https://your-outline-instance.com"
}
}
}
}
Consulte Configuração para saber como obter o token da API.
Instalação (a partir do código-fonte)
Para desenvolvimento local, ou para executar a partir do código-fonte em vez do npm:
- Clone ou baixe este repositório
- Instale as dependências:
npm install - Compile o projeto:
npm run build
Configuração
Antes de usar o servidor, você precisa configurar suas credenciais da API do Outline:
-
Obtenha seu token da API do Outline:
- Faça login na sua instância do Outline (ex.: https://app.getoutline.com)
- Vá em Configurações → Tokens de API
- Crie um novo token
-
Defina as variáveis de ambiente:
export OUTLINE_BASE_URL="https://your-outline-instance.com" export OUTLINE_API_KEY="your-api-token-here"
Uso
Executando o Servidor
Inicie o servidor MCP:
npm start
O servidor se comunica via stdio e é compatível com qualquer cliente MCP.
Ferramentas Disponíveis
Operações com Documentos
-
outline_get_document
- Obter um documento específico por ID
- Parâmetros:
id(string, obrigatório)
-
outline_search_documents
- Pesquisar documentos na sua instância do Outline
- Parâmetros:
query(string, obrigatório),limit(número, opcional, padrão: 25)
-
outline_list_documents
- Listar documentos, opcionalmente filtrados por coleção
- Parâmetros:
collectionId(string, opcional),limit(número, opcional, padrão: 25)
-
outline_create_document
- Criar um novo documento
- Parâmetros:
title(string, obrigatório)text(string, obrigatório) - Conteúdo em MarkdowncollectionId(string, opcional)parentDocumentId(string, opcional)publish(booleano, opcional, padrão: false)
-
outline_update_document
- Atualizar um documento existente
- Parâmetros:
id(string, obrigatório)title(string, opcional)text(string, opcional) - Conteúdo em Markdownpublish(booleano, opcional)
-
outline_delete_document
- Excluir um documento
- Parâmetros:
id(string, obrigatório)
Operações com Coleções
-
outline_list_collections
- Listar todas as coleções na sua instância do Outline
- Parâmetros: nenhum
-
outline_get_collection
- Obter informações sobre uma coleção específica
- Parâmetros:
id(string, obrigatório)
Exemplo de Uso
Aqui estão alguns exemplos de chamadas de ferramentas:
{
"name": "outline_search_documents",
"arguments": {
"query": "project documentation",
"limit": 10
}
}
{
"name": "outline_create_document",
"arguments": {
"title": "New Project Plan",
"text": "# Project Overview\n\nThis document outlines...",
"collectionId": "collection-id-here",
"publish": true
}
}
{
"name": "outline_update_document",
"arguments": {
"id": "document-id-here",
"title": "Updated Project Plan",
"text": "# Updated Project Overview\n\nThis document has been updated..."
}
}
Desenvolvimento
Estrutura do Projeto
src/
├── index.ts # Main MCP server implementation
├── outline-client.ts # Outline API client
Scripts
npm run build- Compilar TypeScript para JavaScriptnpm run dev- Compilar e executar o servidornpm run watch- Observar alterações e recompilarnpm start- Executar o servidor compilado
Compilação
npm run build
O JavaScript compilado será gerado no diretório dist/.
Configuração com Clientes MCP
Para usar este servidor com um cliente MCP, você precisará configurá-lo para executar este servidor. A configuração exata depende do seu cliente, mas geralmente você precisará:
- Especificar o comando a ser executado:
node /path/to/outline-mcp-server/dist/index.js - Definir as variáveis de ambiente para sua instância do Outline
- Configurar o cliente para usar transporte stdio
Exemplos de Configuração do Cliente
Claude
Para clientes como o Claude que usam um arquivo de configuração JSON, adicione o seguinte ao seu
mcp-servers.json. A abordagem recomendada usa npx, portanto não há nada para clonar ou
compilar:
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "getoutline-mcp-server"],
"env": {
"OUTLINE_API_KEY": "your-secret-api-token",
"OUTLINE_BASE_URL": "https://your-outline-instance.com"
}
}
}
}
Alternativa: executar a partir do código-fonte
Se você clonou e compilou o projeto localmente, aponte o cliente para o dist/index.js compilado:
{
"mcpServers": {
"outline": {
"command": "node",
"args": ["/path/to/your/projects/outline-mcp-server/dist/index.js"],
"env": {
"OUTLINE_API_KEY": "your-secret-api-token",
"OUTLINE_BASE_URL": "https://your-outline-instance.com"
}
}
}
}
Certifique-se de substituir o caminho args pelo caminho absoluto para o arquivo index.js no seu projeto e preencha suas credenciais reais no bloco env.
Cursor
Para clientes como o Cursor, você pode normalmente definir variáveis de ambiente diretamente nas configurações do cliente ou iniciando o cliente a partir de um terminal onde você já exportou as variáveis.
export OUTLINE_BASE_URL="https://your-outline-instance.com"
export OUTLINE_API_KEY="your-secret-api-token"
# Then launch Cursor from this terminal
/path/to/Cursor.app/Contents/MacOS/Cursor
Limites de Taxa da API
Esteja ciente de que o Outline pode ter limites de taxa na API. O servidor não implementa limitação de taxa internamente, então você pode precisar lidar com isso no nível do cliente se estiver fazendo muitas solicitações.
Tratamento de Erros
O servidor inclui tratamento abrangente de erros e retornará mensagens de erro descritivas para problemas comuns, como:
- Credenciais de API ausentes ou inválidas
- Problemas de conectividade de rede
- IDs de documentos inválidos
- Erros de limite de taxa da API
Notas de Segurança
- Armazene seu token de API com segurança usando variáveis de ambiente
- Nunca envie seu token de API para o controle de versão
- Considere usar tokens de API restritos com as permissões mínimas necessárias
- Tenha cuidado ao permitir que outros usem seu servidor MCP, pois ele tem acesso total à sua instância do Outline
Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar issues e pull requests.