MCP-Notion
1
MCP Notion is a Model Context Protocol Server designed for integration with the Notion API. It enables interaction with Notion databases and pages through various HTTP endpoints and offers features such as search, retrieval, and querying with robust error handling and logging.
MCP Notion
Servidor MCP (Model Context Protocol) para integración con Notion API. Proporciona endpoints HTTP para interactuar con bases de datos y páginas de Notion.
🚀 Características
- Búsqueda en Notion
- Obtención de páginas y contenido
- Consulta de bases de datos
- Soporte para CORS
- Manejo de errores robusto
- Logging integrado
📋 Requisitos Previos
- Rust (última versión estable)
- Token de API de Notion
- Base de datos o páginas en Notion para interactuar
🔧 Instalación
- Clonar el repositorio:
git clone https://github.com/GsusFC/MCP-Notion.git
cd MCP-Notion
- Configurar variables de entorno:
cp .env.example .env
# Editar .env y añadir tu NOTION_API_KEY
- Compilar y ejecutar:
cargo build
cargo run
El servidor se iniciará en http://localhost:3004
por defecto.
🔌 API Endpoints
Búsqueda
POST /api/search
Content-Type: application/json
{
"query": "término de búsqueda",
"limit": 10
}
Obtener Página
GET /api/get_page/{page_id}
Obtener Contenido de Página
GET /api/get_page_content/{page_id}
Consultar Base de Datos
POST /api/query_database
Content-Type: application/json
{
"database_id": "tu-database-id",
"page_size": 100
}
⚙️ Configuración
Variables de entorno disponibles:
NOTION_API_KEY
: Token de API de Notion (requerido)MCP_PORT
: Puerto del servidor (default: 3004)RUST_LOG
: Nivel de logging (default: info)
🔍 Ejemplos de Uso
Búsqueda Simple
curl -X POST http://localhost:3004/api/search \
-H "Content-Type: application/json" \
-d '{"query": "", "limit": 5}'
Consultar Base de Datos
curl -X POST http://localhost:3004/api/query_database \
-H "Content-Type: application/json" \
-d '{"database_id": "tu-database-id", "page_size": 10}'
🤝 Contribuir
- Fork el proyecto
- Crear una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abrir un Pull Request
📝 Licencia
Este proyecto está bajo la Licencia MIT - ver el archivo para más detalles.
✨ Agradecimientos
- Equipo de Notion por su excelente API
- Comunidad de Rust por las herramientas y librerías