Notion
Busca, lee, crea y actualiza páginas y bases de datos en tu espacio de trabajo de Notion.
Documentación
Notion MCP Server
Un servidor de Model Context Protocol (MCP) que proporciona una integración perfecta con Notion. Este servidor permite a los modelos de lenguaje interactuar con tu espacio de trabajo de Notion mediante herramientas estandarizadas para buscar, leer, crear y actualizar páginas y bases de datos.
🌟 Características principales
Operaciones con páginas
- 🔍 Búsqueda en tu espacio de trabajo de Notion
- 📝 Creación de nuevas páginas con contenido Markdown enriquecido
- 📖 Lectura del contenido de páginas con formato limpio
- 🔄 Actualización de páginas existentes
- 💬 Añadir y recuperar comentarios
- 🧱 Operaciones a nivel de bloque (actualizar, eliminar)
Soporte mejorado de Markdown
- Múltiples niveles de encabezados (H1-H3)
- Bloques de código con soporte de idiomas
- Elementos de tareas interactivos con estados de casillas de verificación
- Citas en bloque con soporte multilínea
- Divisores horizontales
- Imágenes con subtítulos
- Listas con viñetas anidadas
Operaciones con bases de datos
- Crear y gestionar bases de datos
- Añadir y actualizar elementos de bases de datos
- Consultas con filtros y ordenación
- Soporte para varios tipos de propiedades:
- Título, texto enriquecido, número
- Selección, selección múltiple
- Fecha, casilla de verificación
- ¡Y más!
🚀 Primeros pasos
Requisitos previos
- Node.js (v16 o superior)
- Clave de API de Notion
- Cliente compatible con MCP (por ejemplo, Claude Desktop)
Instalación
- Clona el repositorio:
git clone https://github.com/v-3/notion-server.git
cd notion-server
- Instala las dependencias:
npm install
- Configura tu entorno:
# 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
- Compila el servidor:
npm run build
🔧 Configuración
Configuración de Claude Desktop
- Actualiza tu configuración de 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"
}
}
}
}
- Reinicia Claude Desktop para aplicar los cambios
🛠️ Herramientas disponibles
Operaciones con páginas
// 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
}
Operaciones con bases de datos
// Create database
{
parentPageId: string,
title: string,
properties: object
}
// Query database
{
databaseId: string,
filter?: object,
sort?: object
}
🔐 Configuración del acceso a Notion
Crear una integración
- Visita Notion Integrations
- Haz clic en "Nueva integración"
- Configura los permisos:
- Contenido: Lectura, Actualización, Inserción
- Comentarios: Lectura, Creación
- Información del usuario: Lectura
Conectar páginas
- Abre tu página de Notion
- Haz clic en el menú "..." → "Conexiones"
- Añade tu integración
- Repite el proceso para otras páginas según sea necesario
📝 Ejemplos de uso
Crear una página
const result = await notion.create_page({
parentPageId: "page_id",
title: "My Page",
content: "# Welcome\nThis is a test page."
});
Consultar una base de datos
const result = await notion.query_database({
databaseId: "db_id",
filter: {
property: "Status",
select: {
equals: "In Progress"
}
}
});
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Por favor:
- Haz un fork del repositorio
- Crea una rama de características
- Envía una solicitud de extracción (Pull Request)
📜 Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para obtener más detalles.
🙏 Agradecimientos
Este proyecto ha sido significativamente mejorado por sweir1/notion-server, quien ha realizado las siguientes actualizaciones:
- Soporte mejorado de Markdown con más tipos de bloques
- Operaciones completas con bases de datos
- Mejora en el manejo de errores y depuración
- Mejor manejo de propiedades para elementos de bases de datos
- Formato de salida de páginas más limpio
Para usar la versión de sweir1, puedes clonar su repositorio:
git clone https://github.com/sweir1/notion-server.git