Skip to main content
Glama
SAhmadUmass

Notion MCP Server

by SAhmadUmass

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

Related MCP server: Notion MCP Server

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

Available Tools

10 tools
add-articleD
ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYes
generateSummaryNo
urlYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-databaseD
ParametersJSON Schema
NameRequiredDescriptionDefault
parentPageIdYes
propertiesYes
titleYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-database-rowD
ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYes
propertiesYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-pageD
ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
parentIdNo
titleYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract-url-metadataD
ParametersJSON Schema
NameRequiredDescriptionDefault
authorPropertyNameNo
batchSizeNo
databaseIdYes
datePropertyNameNo
generateSummaryNo
limitNo
publicationPropertyNameNo
silentErrorsNo
summaryPropertyNameNo
urlPropertyNameNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-pageD
ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query-databaseD
ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYes
filterNo
sortNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-notionD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-database-entryD
ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes
propertiesYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-pageD
ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
pageIdYes
titleNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedadd-article
    • First observedcreate-database
    • First observedcreate-database-row
    • First observedcreate-page
    • First observedextract-url-metadata
    • First observedget-page
    • First observedquery-database
    • First observedsearch-notion
    • First observedupdate-database-entry
    • First observedupdate-page

TDQS

D1.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes targeting different Notion resources and actions, but 'create-database-row' and 'update-database-entry' could be confused as they both modify database entries with unclear boundary between creation and updating. Other tools like 'add-article' vs 'create-page' might overlap if articles are pages, but overall ambiguity is low.

Naming Consistency4/5

Tools follow a consistent kebab-case verb-noun pattern throughout, with clear action-object naming (e.g., 'create-database', 'query-database', 'update-page'). The only minor deviation is 'extract-url-metadata' which uses a different verb style but maintains the same casing convention.

Tool Count5/5

With 10 tools, this is well-scoped for a Notion integration server. The count aligns with typical MCP servers (3-15 tools), covering core operations without being overwhelming or insufficient for the domain.

Completeness3/5

The toolset covers basic CRUD operations for pages and databases, but has notable gaps: no delete operations for pages, databases, or rows/entries, and missing tools for managing blocks, comments, or users. This could lead to dead ends in workflows requiring full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers