Notion MCP Server
Connect AI assistants to Notion workspaces for page management, database operations, content search, and workspace automation through the official Notion MCP Server.
Overview
The Notion MCP Server is the official Model Context Protocol server from Notion, enabling AI assistants to read, create, update, and search pages and databases across Notion workspaces. With 22 tools covering data source queries, page management, content search, and comments, it provides comprehensive access to Notion's API through natural language.
Official Server:
Developed and maintained by Notion with 4,300+ stars on GitHub
Key Features
Page Management
Create, retrieve, update, and move pages with rich content blocks and properties.
Data Source Operations
Query, retrieve, update, and create data sources (databases) with filters, sorts, and templates.
Content Search
Search across pages and data sources with rich filtering by object type.
Comments & Blocks
Add comments to pages, retrieve block children, and append content blocks.
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
search | Search pages and data sources by query | Search |
retrieve-a-page | Get page content and properties | Read |
create-a-page | Create a new page with content blocks | Write |
update-a-page | Update page properties | Write |
move-page | Move a page to a different parent | Write |
retrieve-block-children | Get block content from a page | Read |
append-blocks | Append content blocks to a page | Write |
retrieve-a-database | Get database metadata | Read |
query-data-source | Query a data source with filters | Read |
retrieve-a-data-source | Get data source schema and properties | Read |
update-a-data-source | Update data source properties | Write |
create-a-data-source | Create a new data source | Write |
list-data-source-templates | List available templates | Read |
create-comment | Add a comment to a page | Write |
Detailed Usage
search▶
Search across all pages and data sources in your workspace.
use_mcp_tool({
server_name: "notionApi",
tool_name: "search",
arguments: {
query: "project documentation",
filter: {
value: "page",
property: "object"
}
}
});
create-a-page▶
Create a new page under a parent page or database.
use_mcp_tool({
server_name: "notionApi",
tool_name: "create-a-page",
arguments: {
parent: { page_id: "parent-page-id" },
properties: {
title: {
title: [{ text: { content: "New Documentation Page" } }]
}
},
children: [
{
object: "block",
type: "paragraph",
paragraph: {
rich_text: [{ text: { content: "Page content here." } }]
}
}
]
}
});
query-data-source▶
Query a data source (database) with filters and sorting.
use_mcp_tool({
server_name: "notionApi",
tool_name: "query-data-source",
arguments: {
data_source_id: "data-source-id",
filter: {
property: "Status",
status: { equals: "Active" }
},
sorts: [
{ property: "Created", direction: "descending" }
]
}
});
create-comment▶
Add a comment to a page.
use_mcp_tool({
server_name: "notionApi",
tool_name: "create-comment",
arguments: {
parent: { page_id: "page-id" },
rich_text: [{ text: { content: "Great work on this!" } }]
}
});
Installation
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": [
"-y",
"@notionhq/notion-mcp-server"
],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
Setup Guide
1. Create Notion Integration
- Go to Notion Integrations
- Click "+ New integration"
- Give your integration a name (e.g., "MCP Integration")
- Select the workspace you want to connect
- Configure capabilities (read content, update content, insert content)
- Copy the Internal Integration Token (starts with
ntn_)
2. Share Pages with Integration
- Open a Notion page you want to access
- Click "..." menu → "Connections" → "Connect to"
- Select your integration from the list
- Repeat for all pages and databases you want to access
Workspace Access:
You can share entire workspace sections by connecting the integration at the top-level page. For read-only access, only enable "Read content" in integration capabilities.
3. Configure MCP Client
Add the configuration from the Installation section above to your MCP client settings (Claude Desktop, Cursor, VS Code Copilot, Zed, etc.).
Common Use Cases
1. Automated Documentation
Create and update documentation pages with rich content blocks:
use_mcp_tool({
server_name: "notionApi",
tool_name: "create-a-page",
arguments: {
parent: { page_id: "parent-id" },
properties: {
title: { title: [{ text: { content: "API Reference" } }] }
}
}
});
2. Task Management
Query and manage tasks in a project data source:
use_mcp_tool({
server_name: "notionApi",
tool_name: "query-data-source",
arguments: {
data_source_id: "ds-id",
filter: {
and: [
{ property: "Priority", select: { equals: "High" } },
{ property: "Status", status: { does_not_equal: "Done" } }
]
}
}
});
3. Knowledge Base Search
Search across all documentation:
use_mcp_tool({
server_name: "notionApi",
tool_name: "search",
arguments: {
query: "authentication setup",
filter: { value: "page", property: "object" }
}
});
4. Meeting Notes Automation
Create structured meeting notes with comments:
use_mcp_tool({
server_name: "notionApi",
tool_name: "create-a-page",
arguments: {
parent: { page_id: "meetings-page-id" },
properties: {
title: { title: [{ text: { content: "Team Sync" } }] }
}
}
});
Supported Block Types
The Notion MCP server supports rich content blocks including paragraph, headings, lists, code blocks with syntax highlighting, images, videos, to-do items, toggle lists, callouts, quotes, tables, and column layouts.
Sources
Related Articles
AWS MCP Server
Interact with Amazon Web Services through your AI assistant - manage EC2, S3, Lambda, and hundreds of AWS services.
Thirdweb MCP Server
Thirdweb MCP servers enable AI agents to interact with EVM blockchains via thirdweb services, supporting multi-chain data querying, wallet and contract operations, autonomous execution, and both hosted and self-hosted deployment options.
Blender MCP Server
Blender MCP Server connects Blender to Claude AI through the Model Context Protocol (MCP), enabling prompt-assisted 3D modeling, scene creation, and manipulation.