Notion
Conecta asistentes de IA a tu espacio de trabajo de Notion, permitiéndote buscar, crear y gestionar contenido usando lenguaje natural.
Documentación
🚀 Notion MCP Server
Un potente servidor de Model Context Protocol (MCP) que conecta asistentes de IA como Claude a tu espacio de trabajo de Notion. ¡Busca, crea y gestiona tu contenido de Notion sin problemas a través de conversaciones en lenguaje natural!
✨ Qué hace esto
¡Transforma tu asistente de IA en un potente de Notion! Con este servidor MCP, puedes:
- 🔍 Buscar en todas tus páginas y bases de datos de Notion
- 📝 Crear nuevas páginas, bases de datos y contenido
- ✏️ Actualizar páginas y propiedades existentes
- 📊 Consultar bases de datos con filtros complejos
- 🔗 Gestionar todo tu espacio de trabajo de Notion a través de la conversación
🎯 Inicio rápido
1. Requisitos previos
- Python 3.8 o superior
- Un espacio de trabajo de Notion
- Cuenta de Nango (para autenticación OAuth)
- Aplicación de escritorio de Claude (para integración con IA)
2. Instalación
# Clone or download the files
git clone <your-repo-url>
cd notion-mcp-server
# Install dependencies
uv sync
3. Configuración de Notion
-
Crea una integración de Notion:
- Ve a https://www.notion.so/my-integrations
- Haz clic en "Nueva integración"
- Ponle un nombre (por ejemplo, "Integración MCP de Claude")
- Selecciona tu espacio de trabajo
- Configura las capacidades:
- ✅ Leer contenido
- ✅ Insertar contenido
- ✅ Actualizar contenido
- Guarda y copia tu token de integración
-
Comparte páginas con la integración:
- Abre cualquier página de Notion a la que quieras acceder
- Haz clic en "Compartir" → "Invitar"
- Selecciona tu integración
- Repite para todas las páginas/bases de datos que quieras usar
4. Configuración de Nango (OAuth)
- Crea una cuenta de Nango: https://nango.dev
- Agrega la integración de Notion en tu panel de Nango
- Configura OAuth con las credenciales de tu integración de Notion
- Obtén tus credenciales de Nango (URL base, clave secreta, ID de conexión)
5. Configuración del entorno
Crea un archivo .env con tus credenciales:
# Nango OAuth Configuration
NANGO_BASE_URL=https://api.nango.dev
NANGO_SECRET_KEY=your_nango_secret_key_here
NANGO_CONNECTION_ID=your_connection_id_here
NANGO_INTEGRATION_ID=notion
# Optional: Direct Notion Token (if not using Nango)
# NOTION_TOKEN=your_direct_notion_token_here
6. Configuración de Claude Desktop
Agrega esto a tu archivo de configuración de Claude Desktop:
En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"notion": {
"command": "uvx",
"args": ["git+https://github.com/Shameerpc5029/notion-mcp.git"],
"env": {
"NANGO_BASE_URL": "https://api.nango.dev",
"NANGO_SECRET_KEY": "your_nango_secret_key",
"NANGO_CONNECTION_ID": "your_connection_id",
"NANGO_INTEGRATION_ID": "notion"
}
}
}
}
7. Prueba la conexión
# Test the server directly
python notion-mcp-server.py
# Or restart Claude Desktop and try asking:
# "Search my Notion for meeting notes"
# "Create a new task in my project database"
🛠️ Herramientas disponibles
| Herramienta | Descripción | Ejemplo de uso |
|---|---|---|
notion_search | Buscar en todo el contenido | "Encuentra páginas sobre planificación de proyectos" |
notion_get_database | Obtener información de la base de datos | "Muéstrame la estructura de mi base de datos de tareas" |
notion_query_database | Consultar con filtros | "Muestra tareas incompletas para esta semana" |
notion_create_database | Crear nuevas bases de datos | "Crea una base de datos CRM con contactos" |
notion_get_page | Obtener detalles de la página | "Muéstrame el contenido de mis notas de reunión" |
notion_create_page | Crear nuevas páginas | "Agrega una nueva tarea a mi base de datos de proyectos" |
notion_update_page | Actualizar páginas existentes | "Marca esta tarea como completada" |
notion_get_block_children | Obtener contenido de la página | "Lee el contenido de esta página" |
notion_append_blocks | Agregar contenido a páginas | "Agrega notas de reunión a esta página" |
notion_get_current_user | Obtener información de la integración | "Verifica el estado de mi conexión con Notion" |
💬 Ejemplos de conversaciones con Claude
Una vez configurado, puedes tener conversaciones naturales como:
Gestión de tareas
You: "Show me all my incomplete tasks"
Claude: [Queries your tasks database and shows open items]
You: "Create a new task called 'Review MCP integration' due next Friday"
Claude: [Creates the task with proper due date]
You: "Mark the first task as completed"
Claude: [Updates the task status to Done]
Creación de contenido
You: "Create a meeting notes page for today's standup"
Claude: [Creates a new page with meeting template]
You: "Add action items from our discussion to that page"
Claude: [Appends bullet points with the action items]
Investigación y organización
You: "Search for all pages mentioning 'API documentation'"
Claude: [Finds and lists relevant pages]
You: "Create a new database to track our API endpoints"
Claude: [Creates a structured database with relevant properties]
🔧 Solución de problemas
Problemas comunes
"Error de autenticación"
- Verifica que tu archivo
.envtenga las credenciales correctas de Nango - Confirma que tu integración de Nango esté activa
- Asegúrate de que tu integración de Notion tenga las capacidades adecuadas
Errores de "Página no encontrada"
- Asegúrate de haber compartido la página/base de datos con tu integración
- Verifica que el ID de la página/base de datos sea correcto
- Confirma que la integración tenga acceso de lectura
Claude no puede encontrar el servidor
- Verifica que la ruta absoluta en
claude_desktop_config.jsonsea correcta - Asegúrate de que Python esté en tu PATH del sistema
- Prueba ejecutar el servidor manualmente primero
"No se encontró token de acceso"
- Verifica que la conexión de Nango esté funcionando
- Comprueba que tu
NANGO_CONNECTION_IDcoincida con tu conexión real - Intenta actualizar tu integración de Nango
Modo de depuración
Ejecuta con registro detallado:
python notion-mcp-server.py --debug
Pruebas manuales
Prueba funciones individuales:
from notion_mcp_server import NotionClient
client = NotionClient()
user = client.get_current_user()
print(f"Connected as: {user.get('name')}")
🔒 Notas de seguridad
- Nunca subas tu archivo
.enval control de versiones - Mantén tu clave secreta de Nango segura
- Solo comparte páginas de Notion que la integración necesite acceder
- Revisa regularmente el acceso de tu integración en la configuración de Notion
📁 Estructura de archivos
notion-mcp/
├── main.py # Main MCP server
├── pyproject.toml # Python dependencies
├── .env.example
├── .env # Your credentials (don't commit!)
├── README.md # This file
🆘 Obtener ayuda
- Revisa los registros - Busca mensajes de error en Claude Desktop o en la terminal
- Verifica los permisos - Asegúrate de que tu integración pueda acceder a las páginas
- Prueba manualmente - Ejecuta el servidor directamente para aislar problemas
- Revisa el estado de Notion - A veces la API de Notion tiene interrupciones
🎉 ¿Qué sigue?
Una vez que estés en funcionamiento:
- Prueba crear consultas complejas de bases de datos
- Configura flujos de trabajo automatizados de creación de contenido
- Usa Claude para ayudar a organizar y reestructurar tu espacio de trabajo de Notion
- Explora opciones avanzadas de filtrado y ordenamiento
📄 Licencia
Este proyecto es de código abierto. ¡Siéntete libre de modificarlo y adaptarlo a tus necesidades!
¡Disfruta de Notion con Claude! 🎊
Hecho con ❤️ para los entusiastas de la productividad impulsada por IA