Notion MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows searching across a Notion workspace, retrieving/creating/updating pages, creating/querying/updating databases, and managing database entries with custom properties.

Servidor MCP de Notion

Un servidor de protocolo de contexto de modelo para la integración de Notion, que permite a Claude y otros LLM interactuar con su espacio de trabajo de Notion.

Características

  • Buscar en Notion : busca en todo tu espacio de trabajo de Notion
  • Obtener página : recupera contenido de una página específica de Notion
  • Crear página : crea nuevas páginas en tu espacio de trabajo de Notion
  • Actualizar página : Actualizar páginas existentes con nuevo contenido o títulos
  • Crear base de datos : crea nuevas bases de datos con propiedades personalizadas
  • Consulta de base de datos : consulta bases de datos con filtros y ordenación
  • Actualizar entrada de base de datos : Actualizar las propiedades de las entradas de la base de datos
  • Crear fila de base de datos : agregue nuevas filas a bases de datos existentes con propiedades personalizadas

Configuración

  1. Clonar este repositorio
  2. Instalar dependencias
    npm install
  3. Configura tu clave API de Notion
    • Crear una integración en el portal de Notion Developers
    • Copia tu clave API
    • Puedes:
      • Edite el archivo .env y reemplace your_notion_api_key_here con su clave API real, o
      • Páselo directamente en la configuración de Claude for Desktop (recomendado, ver más abajo)
  4. Construir el servidor
    npm run build
  5. Ejecutando el servidor
    npm start

Configuración con Claude para escritorio

  1. Instalar Claude para escritorio (si aún no está instalado)
  2. Abra la configuración de la aplicación Claude para escritorio:
    • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Crea el archivo si no existe
  3. Añade el servidor Notion a tu configuración:
    { "mcpServers": { "notion": { "command": "node", "args": [ "/Users/shaheerahmad/Documents/notion-mcp-server/dist/index.js", "--notion-api-key=YOUR_ACTUAL_API_KEY_HERE" ] } } }
    Reemplazar:
    • /Users/shaheerahmad/Documents/notion-mcp-server con la ruta completa al directorio de su proyecto
    • YOUR_ACTUAL_API_KEY_HERE con su clave API de Notion real
  4. Reiniciar Claude para escritorio

Usando el servidor

Una vez conectado a Claude for Desktop, puedes usar el servidor haciéndole a Claude preguntas como:

  • Buscar notas de reuniones en mi espacio de trabajo de Notion
  • "Obtener el contenido de mi página de planificación de proyectos" (necesitará el ID de la página)
  • Crear una nueva página en Notion con una lista de tareas
  • "Actualizar mi página de Notion con ID 1aaada269d1b8003adceda69cf7bcd97 con el texto 'Aquí hay contenido nuevo para agregar a la página'".
  • Crear una nueva base de datos en mi página de Notion con el ID 1aaada269d1b8003adceda69cf7bcd97
  • Consultar mi base de datos de Notion con el ID 1aaada269d1b8003adceda69cf7bcd97 para elementos con estado 'Completado'.

Claude utilizará automáticamente las herramientas adecuadas en función de su solicitud.

Ejemplos de uso de herramientas

Noción de búsqueda

Search for "meeting notes" in my Notion workspace

Obtener contenido de la página

Get the content of my Notion page with ID 1aaada269d1b8003adceda69cf7bcd97

Crear una nueva página

Create a new page in Notion with title "Weekly Report" and content "This week we accomplished the following tasks..."

Actualizar una página existente

Update my Notion page with ID 1aaada269d1b8003adceda69cf7bcd97 with content "Adding this new information to the page."

También puedes actualizar el título:

Update my Notion page with ID 1aaada269d1b8003adceda69cf7bcd97 with title "New Title" and content "New content to add."

Crear una nueva base de datos

Create a new database in my Notion page with ID 1aaada269d1b8003adceda69cf7bcd97 with title "Task Tracker" and properties { "Task Name": { "title": {} }, "Status": { "select": { "options": [ { "name": "Not Started", "color": "red" }, { "name": "In Progress", "color": "yellow" }, { "name": "Completed", "color": "green" } ] } }, "Priority": { "select": { "options": [ { "name": "Low", "color": "blue" }, { "name": "Medium", "color": "yellow" }, { "name": "High", "color": "red" } ] } }, "Due Date": { "date": {} } }

Consultar una base de datos

Query my Notion database with ID 1aaada269d1b8003adceda69cf7bcd97 with filter { "property": "Status", "select": { "equals": "Completed" } }

También puedes agregar ordenación:

Query my Notion database with ID 1aaada269d1b8003adceda69cf7bcd97 with sort { "property": "Due Date", "direction": "ascending" }

Actualizar entrada de la base de datos

Actualizar las propiedades de una entrada de base de datos existente (página dentro de una base de datos).

{ "tool_name": "update-database-entry", "tool_params": { "pageId": "page_id_of_database_entry", "properties": { "Status": { "select": { "name": "Completed" } }, "Priority": { "select": { "name": "High" } }, "Due Date": { "date": { "start": "2023-12-31" } } } } }

El parámetro properties debe coincidir con la estructura esperada por la API de Notion para los tipos de propiedad específicos de su base de datos. Los diferentes tipos de propiedad (texto, selección, fecha, etc.) requieren formatos diferentes.

Crear fila de base de datos

Agregar una nueva fila a una base de datos existente con propiedades personalizadas.

{ "tool_name": "create-database-row", "tool_params": { "databaseId": "your_database_id_here", "properties": { "Name": { "title": [ { "text": { "content": "New Task" } } ] }, "Status": { "select": { "name": "Not Started" } }, "Priority": { "select": { "name": "Medium" } }, "Due Date": { "date": { "start": "2023-12-15" } }, "Notes": { "rich_text": [ { "text": { "content": "This is a new task created via the API" } } ] } } } }

El parámetro properties debe incluir todas las propiedades requeridas para la base de datos y seguir la estructura de la API de Notion para cada tipo de propiedad.

Solución de problemas

  • Si no aparecen las herramientas, consulte los registros de Claude for Desktop:
    tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
  • Asegúrese de que su clave API de Notion esté configurada correctamente y que su integración tenga acceso a las páginas con las que desea interactuar.
  • Si ve errores de "Token inesperado" en los registros, es probable que las sentencias console.log interfieran con el protocolo MCP. Esta versión del servidor se ha actualizado para evitar estos problemas.

Mejoras futuras

  • Agregar capacidades de consulta de base de datos
  • Implementar un mejor formato de contenido
  • Añadir soporte para más tipos de bloques
-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a Claude y otros LLM interactuar con los espacios de trabajo de Notion, proporcionando capacidades como buscar, recuperar, crear y actualizar páginas, así como administrar bases de datos.

  1. Features
    1. Setup
      1. Setting up with Claude for Desktop
        1. Using the Server
          1. Tool Usage Examples
        2. Troubleshooting
          1. Future Improvements
            ID: 1456h4f2lq