Notion
Integra com a API do Notion para gerenciar lista de tarefas pessoais
Documentação
Integração MCP do Notion
Um servidor simples de Model Context Protocol (MCP) que integra com a API do Notion para gerenciar minha lista de tarefas pessoal através do Claude. Esta é uma implementação básica adaptada especificamente para minha configuração minimalista de lista de tarefas no Notion.
Nota Importante
Este é um projeto pessoal projetado para um caso de uso muito específico: minha lista de tarefas simples do Notion que tem apenas três propriedades:
- Tarefa (título)
- Quando (seleção com apenas duas opções: "hoje" ou "depois")
- Caixa de seleção (marca se concluído)
Embora você possa usar isso como ponto de partida para sua própria integração com o Notion, provavelmente precisará modificar o código para corresponder à estrutura e aos requisitos específicos do seu banco de dados.
Recursos
- Adicionar novos itens de tarefa
- Ver todas as tarefas
- Ver as tarefas de hoje
- Marcar uma tarefa como concluída
Pré-requisitos
- Python 3.10 ou superior
- Uma conta do Notion
- Uma integração do Notion (chave de API)
- Um banco de dados do Notion que corresponda exatamente à estrutura descrita acima (ou disposição para modificar o código para sua estrutura)
Configuração
- Clone o repositório:
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
- Configure o ambiente Python:
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e .
-
Crie uma integração do Notion:
- Vá para https://www.notion.so/my-integrations
- Crie uma nova integração
- Copie a chave de API
-
Compartilhe seu banco de dados com a integração:
- Abra seu banco de dados de tarefas no Notion
- Clique no menu "..." → "Adicionar conexões"
- Selecione sua integração
-
Crie um arquivo
.env:
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
- Configure o Claude Desktop:
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-mcp"
}
}
}
Executando o Servidor
O servidor pode ser executado de duas maneiras:
- Diretamente da linha de comando:
# From the project directory with virtual environment activated
python -m notion_mcp
- Automaticamente através do Claude Desktop (recomendado):
- O servidor iniciará quando o Claude for aberto se configurado corretamente em
claude_desktop_config.json - Nenhum gerenciamento manual do servidor necessário
- O servidor para quando o Claude é fechado
Nota: Quando executado diretamente, o servidor não mostrará nenhuma saída a menos que haja um erro - isso é normal, pois está aguardando comandos MCP.
Uso
Comandos básicos através do Claude:
- "Mostre todas as minhas tarefas"
- "O que está na minha lista para hoje?"
- "Adicione uma tarefa para hoje: verificar e-mails"
- "Adicione uma tarefa para depois: revisar projeto"
Limitações
- Funciona apenas com uma estrutura específica de banco de dados do Notion
- Sem suporte para esquemas de banco de dados complexos
- Limitado ao agendamento de tarefas "hoje" ou "depois"
- Sem suporte para propriedades adicionais ou campos personalizados
- Tratamento básico de erros
- Sem recursos avançados como tarefas recorrentes, prioridades ou tags
Personalização
Se você quiser usar isso com uma estrutura de banco de dados diferente, precisará modificar o arquivo server.py, particularmente:
- A função
create_todo()para corresponder às propriedades do seu banco de dados - A formatação de tarefas em
call_tool()para lidar com sua estrutura de dados - O esquema de entrada em
list_tools()se você quiser opções diferentes
Estrutura do Projeto
notion_mcp/
├── pyproject.toml
├── README.md
├── .env # Not included in repo
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # Main implementation
Licença
Licença MIT - Use por sua conta e risco
Agradecimentos
- Construído para funcionar com o Claude Desktop
- Usa a API do Notion