Notion MCP Server
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
Clonar este repositorio
Instalar dependencias
npm installConfigura tu clave API de Notion
Crear una integración en el portal de Notion Developers
Copia tu clave API
Puedes:
Edite el archivo
.envy reemplaceyour_notion_api_key_herecon su clave API real, oPáselo directamente en la configuración de Claude for Desktop (recomendado, ver más abajo)
Construir el servidor
npm run buildEjecutando el servidor
npm start
Configuración con Claude para escritorio
Instalar Claude para escritorio (si aún no está instalado)
Abra la configuración de la aplicación Claude para escritorio:
En macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonCrea el archivo si no existe
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-servercon la ruta completa al directorio de su proyectoYOUR_ACTUAL_API_KEY_HEREcon su clave API de Notion real
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 workspaceObtener contenido de la página
Get the content of my Notion page with ID 1aaada269d1b8003adceda69cf7bcd97Crear 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*.logAsegú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 toolsadd-articleD
| Name | Required | Description | Default |
|---|---|---|---|
| databaseId | Yes | ||
| generateSummary | No | ||
| url | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| parentPageId | Yes | ||
| properties | Yes | ||
| title | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| databaseId | Yes | ||
| properties | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| parentId | No | ||
| title | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| authorPropertyName | No | ||
| batchSize | No | ||
| databaseId | Yes | ||
| datePropertyName | No | ||
| generateSummary | No | ||
| limit | No | ||
| publicationPropertyName | No | ||
| silentErrors | No | ||
| summaryPropertyName | No | ||
| urlPropertyName | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| databaseId | Yes | ||
| filter | No | ||
| sort | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | ||
| properties | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| pageId | Yes | ||
| title | No |
TDQS
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.
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.
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.
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.
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.
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.
10 tool updates
v1.0.0- First observed
add-article - First observed
create-database - First observed
create-database-row - First observed
create-page - First observed
extract-url-metadata - First observed
get-page - First observed
query-database - First observed
search-notion - First observed
update-database-entry - First observed
update-page
TDQS
Scored across 10 tools
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.
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.
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.
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
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
A Model Context Protocol server for Wix AI tools
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides a standardized interface for interacting with Notion's API, enabling users to list databases, create pages, and search across their Notion workspace.111MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that connects Claude and other AI assistants to your Notion workspace, allowing AIs to interact with databases, pages, and blocks.127 npm11MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.124,521 npm1MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.4,521 npm4MIT