Notion MCP Server

Servidor MCP para a API do Notion, permitindo interações em tempo real via Server-Sent Events (SSE).

Documentação

Implante e comece em minutos na ContexaAI

Deploy to ContexaAI

Nota Importante

This repository is a fork of the official Notion MCP server available on NPM.
The primary modification is the replacement of the transport mechanism from Stdio to Server-Sent Events (SSE).

Notion MCP Server

notion-mcp-sm

Este projeto implementa um MCP server para a Notion API.

mcp-demo

Instalação

1. Configurando a Integração no Notion:

Vá para https://www.notion.so/profile/integrations e crie uma nova integração interna ou selecione uma existente.

Creating a Notion Integration token

Embora limitemos o escopo da API do Notion exposta (por exemplo, você não poderá excluir bancos de dados via MCP), há um risco não nulo para os dados do workspace ao expô-los a LLMs. Usuários preocupados com segurança podem querer configurar ainda mais as Capacidades da Integração.

Por exemplo, você pode criar um token de integração somente leitura dando apenas acesso "Ler conteúdo" na aba "Configuração":

Notion Integration Token Capabilities showing Read content checked

2. Conectando conteúdo à integração:

Garanta que as páginas e bancos de dados relevantes estejam conectados à sua integração.

Para fazer isso, você precisará visitar essa página, clicar nos 3 pontos e selecionar "Conectar à integração".

Adding Integration Token to Notion Connections

3. Adicionando a configuração MCP ao seu cliente:

Usando npm:

Adicione o seguinte ao seu .cursor/mcp.json ou claude_desktop_config.json (MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json)

{
  "mcpServers": {
    "notionApi": {
      "command": "npx",
      "args": ["-y", "@notionhq/notion-mcp-server"],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\" }"
      }
    }
  }
}
Usando Docker:

Existem duas opções para executar o servidor MCP com Docker:

Opção 1: Usando a imagem oficial do Docker Hub:

Adicione o seguinte ao seu .cursor/mcp.json ou claude_desktop_config.json:

{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "OPENAPI_MCP_HEADERS",
        "mcp/notion"
      ],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer ntn_****\",\"Notion-Version\":\"2022-06-28\"}"
      }
    }
  }
}

Esta abordagem:

  • Usa a imagem oficial do Docker Hub
  • Lida corretamente com o escape de JSON via variáveis de ambiente
  • Fornece um método de configuração mais confiável
Opção 2: Construindo a imagem Docker localmente:

Você também pode construir e executar a imagem Docker localmente. Primeiro, construa a imagem Docker:

docker-compose build

Em seguida, adicione o seguinte ao seu .cursor/mcp.json ou claude_desktop_config.json:

{
  "mcpServers": {
    "notionApi": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\"}",
        "notion-mcp-server"
      ]
    }
  }
}

Não se esqueça de substituir ntn_**** pelo seu segredo de integração. Encontre-o na aba de configuração da sua integração:

Copying your Integration token from the Configuration tab in the developer portal

Exemplos

  1. Usando a seguinte instrução
Comment "Hello MCP" on page "Getting started"

A IA planejará corretamente duas chamadas de API, v1/search e v1/comments, para realizar a tarefa

  1. Da mesma forma, a seguinte instrução resultará em uma nova página chamada "Notion MCP" adicionada à página pai "Development"
Add a page titled "Notion MCP" to page "Development"
  1. Você também pode referenciar o ID do conteúdo diretamente
Get the content of page 1a6b35e6e67f802fa7e1d27686f017f2

Desenvolvimento

Compilar

npm run build

Executar

npx -y --prefix /path/to/local/notion-mcp-server @notionhq/notion-mcp-server

Publicar

npm publish --access public