Notion
Pesquise, leia, crie e atualize páginas e bancos de dados no seu espaço de trabalho do Notion.
Documentação
Notion MCP Server
Um servidor Model Context Protocol (MCP) que fornece integração perfeita com o Notion. Este servidor permite que Modelos de Linguagem interajam com seu workspace do Notion por meio de ferramentas padronizadas para pesquisar, ler, criar e atualizar páginas e bancos de dados.
🌟 Principais Recursos
Operações de Página
- 🔍 Pesquise em seu workspace do Notion
- 📝 Crie novas páginas com conteúdo rich markdown
- 📖 Leia o conteúdo da página com formatação limpa
- 🔄 Atualize páginas existentes
- 💬 Adicione e recupere comentários
- 🧱 Operações em nível de bloco (atualizar, excluir)
Suporte Aprimorado a Markdown
- Múltiplos níveis de títulos (H1-H3)
- Blocos de código com suporte a linguagens
- Itens de tarefas interativos com estados de caixa de seleção
- Citações em bloco com suporte a múltiplas linhas
- Divisores horizontais
- Imagens com legendas
- Marcadores aninhados
Operações de Banco de Dados
- Crie e gerencie bancos de dados
- Adicione e atualize itens de banco de dados
- Consulte com filtros e ordenação
- Suporte a vários tipos de propriedades:
- Título, Texto rico, Número
- Seleção, Seleção múltipla
- Data, Caixa de seleção
- E muito mais!
🚀 Primeiros Passos
Pré-requisitos
- Node.js (v16 ou superior)
- Chave da API do Notion
- Cliente compatível com MCP (ex.: Claude Desktop)
Instalação
- Clone o repositório:
git clone https://github.com/v-3/notion-server.git
cd notion-server
- Instale as dependências:
npm install
- Configure seu ambiente:
# Create .env file
echo "NOTION_API_KEY=your_notion_api_key_here" > .env
# Or export directly
export NOTION_API_KEY=your_notion_api_key_here
- Compile o servidor:
npm run build
🔧 Configuração
Configuração do Claude Desktop
- Atualize sua configuração do Claude Desktop (
claude_desktop_config.json):
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/absolute/path/to/notion-server/build/index.js"],
"env": {
"NOTION_API_KEY": "your_notion_api_key_here"
}
}
}
}
- Reinicie o Claude Desktop para aplicar as alterações
🛠️ Ferramentas Disponíveis
Operações de Página
// Search pages
{
query: string // Search query
}
// Read page
{
pageId: string // ID of the page to read
}
// Create page
{
title?: string, // Page title
content?: string, // Page content in markdown
parentPageId: string // Parent page ID
properties?: object // For database items
}
// Update page
{
pageId: string, // Page ID to update
content: string, // New content
type?: string // Content type
}
Operações de Banco de Dados
// Create database
{
parentPageId: string,
title: string,
properties: object
}
// Query database
{
databaseId: string,
filter?: object,
sort?: object
}
🔐 Configurando o Acesso ao Notion
Criando uma Integração
- Visite Integrações do Notion
- Clique em "Nova integração"
- Configure as permissões:
- Conteúdo: Ler, Atualizar, Inserir
- Comentários: Ler, Criar
- Informações do usuário: Ler
Conectando Páginas
- Abra sua página no Notion
- Clique no menu "..." → "Conexões"
- Adicione sua integração
- Repita para outras páginas conforme necessário
📝 Exemplos de Uso
Criando uma Página
const result = await notion.create_page({
parentPageId: "page_id",
title: "My Page",
content: "# Welcome\nThis is a test page."
});
Consultando um Banco de Dados
const result = await notion.query_database({
databaseId: "db_id",
filter: {
property: "Status",
select: {
equals: "In Progress"
}
}
});
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Faça um fork do repositório
- Crie uma branch de funcionalidade
- Envie um Pull Request
📜 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.
🙏 Agradecimentos
Este projeto foi significativamente melhorado por sweir1/notion-server, que fez as seguintes atualizações:
- Suporte aprimorado a markdown com mais tipos de blocos
- Operações abrangentes de banco de dados
- Tratamento de erros e depuração melhorados
- Melhor tratamento de propriedades para itens de banco de dados
- Formatação de saída de página mais limpa
Para usar a versão do sweir1, você pode clonar o repositório deles:
git clone https://github.com/sweir1/notion-server.git