notion-mcp
Provides tools for database management (get, query, create, update), page operations (get, create, update, duplicate from template), block manipulation (get children, append, update, delete), user lookup (list, get, get me), search, comments, and template-based page and database creation via Notion API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@notion-mcplist pages in my project database"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
notion-mcp
MCP server with full Notion capabilities (23 tools)
npm: https://www.npmjs.com/package/@west10tech/notion-mcp
Available Tools
This MCP server provides 23 tools:
Database Tools
notion_get_database: Get database by ID
notion_query_database: Query database pages
notion_create_database: Create a new database
notion_update_database: Update database properties
Page Tools
notion_get_page: Get page by ID
notion_create_page: Create a new page
notion_update_page: Update page properties
notion_get_page_property: Get page property by ID
Block Tools
notion_get_block_children: Get block children
notion_append_block_children: Append blocks to a parent block
notion_get_block: Get block by ID
notion_update_block: Update block content
notion_delete_block: Delete a block
User Tools
notion_list_users: List all users
notion_get_user: Get user by ID
notion_get_me: Get current bot user
Search & Comments
notion_search: Search pages and databases
notion_create_comment: Create a comment on a page or block
notion_get_comments: Get comments for a page or block
Template Tools
notion_create_page_from_template: Create a new page by copying blocks from a template page
notion_create_database_from_template: Create a new database by copying schema from a template database
Duplication Tools
notion_duplicate_page: Duplicate an existing page with its content blocks
notion_duplicate_database: Duplicate an existing database with its schema
Related MCP server: Notion MCP Server
Installation
npm install @west10tech/notion-mcpEnvironment Setup
Create a .env file with the following variables:
NOTION_ACCESS_TOKEN=your_notion_access_token_hereGetting a Notion API Key
Click "New integration"
Give it a name (e.g. "MCP Server") and select the workspace
Under Capabilities, enable the permissions your integration needs (read content, update content, etc.)
Click Submit and copy the Internal Integration Secret — this is your
NOTION_ACCESS_TOKENImportant: Share pages/databases with your integration by clicking the
...menu on a page → Connections → select your integration
Usage
Running the server (stdio)
# Development mode
npm run dev
# Production mode
npm run build && npm startRunning with HTTP/SSE transport
# Start with HTTP transport
TRANSPORT_MODE=http PORT=3000 npm startEnvironment variables for HTTP mode:
Variable | Default | Description |
|
| Set to |
|
| HTTP server port |
|
| Allowed CORS origin |
HTTP endpoints:
POST /— MCP JSON-RPC messagesGET /health— Health check ({"status":"ok","server":"notion-mcp"})
Using with Claude Desktop
Add this to your Claude Desktop configuration:
{
"mcpServers": {
"notion-mcp": {
"command": "npx",
"args": ["@west10tech/notion-mcp"],
"env": {
"NOTION_ACCESS_TOKEN": "your_notion_access_token_here"
}
}
}
}Template & Duplication Workflows
Creating a page from a template
Use notion_create_page_from_template to copy the block structure of an existing page:
{
"template_page_id": "abc123...",
"parent": { "page_id": "def456..." },
"title": "My New Page"
}This reads all blocks from the template page and creates a new page with the same content.
Creating a database from a template
Use notion_create_database_from_template to copy the property schema of an existing database:
{
"template_database_id": "abc123...",
"parent": { "page_id": "def456..." },
"title": "My New Database"
}Duplicating a page
Use notion_duplicate_page to create an exact copy of a page (properties + blocks):
{
"page_id": "abc123...",
"title": "Custom Title"
}If no title is provided, defaults to "Copy of {original title}". If no parent is provided, uses the same parent as the original.
Duplicating a database
Use notion_duplicate_database to copy a database's schema:
{
"database_id": "abc123...",
"title": "My Copy"
}Advanced Features
Request Cancellation
This MCP server supports request cancellation according to the MCP cancellation specification. Clients can cancel in-progress requests by sending a notifications/cancelled message with the request ID.
When a request is cancelled:
The server immediately stops processing the request
Any ongoing API calls are aborted
Resources are cleaned up
No response is sent for the cancelled request
Progress Notifications
The server supports progress notifications for long-running operations according to the MCP progress specification.
To receive progress updates:
Include a
progressTokenin your request metadataThe server will send
notifications/progressmessages with:Current progress value
Total value (when known)
Human-readable status messages
Progress is reported for:
Multi-step operations
Batch processing
Long-running API calls
Template and duplication operations
Example progress notification:
{
"method": "notifications/progress",
"params": {
"progressToken": "operation-123",
"progress": 45,
"total": 100,
"message": "Processing item 45 of 100..."
}
}TypeScript Types
All tool parameters are fully typed. Import types from @west10tech/notion-mcp/types:
GetDatabaseParams,QueryDatabaseParams,CreateDatabaseParams,UpdateDatabaseParamsGetPageParams,CreatePageParams,UpdatePageParams,GetPagePropertyParamsGetBlockChildrenParams,AppendBlockChildrenParams,GetBlockParams,UpdateBlockParams,DeleteBlockParamsListUsersParams,GetUserParamsSearchParams,CreateCommentParams,GetCommentsParamsCreatePageFromTemplateParams,CreateDatabaseFromTemplateParamsDuplicatePageParams,DuplicateDatabaseParamsToolResponse
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/w-10-m/notion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server