Notion MCP Server
Provides a REST API interface for interacting with Notion's API, allowing for searching, database operations (creation, querying, updating), page management, block manipulation, user information retrieval, and comment functionality.
Integrates Swagger UI to provide interactive API documentation, available at the /api-docs endpoint with OpenAPI schema accessible at /openapi.json.
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 MCP Serverlist all 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 API Server
Reference video
This is a custom server for easy use of the Notion API. It is implemented using Express.js and provides various functions of the Notion API as a REST API.
Related MCP server: Notion MCP Server
How to install
Install required packages:
npm install express cors @notionhq/client swagger-jsdoc swagger-ui-expressRunning the server:
node server.jsThe server runs at http://localhost:3000 .
How to set up
Set your Notion API token in the
NOTION_TOKENvariable in your server.js file:
const NOTION_TOKEN = '여기에_노션_API_토큰_입력';If necessary, you can run it on a different port by modifying the PORT variable.
API Features
Search API
POST /api/search: Search pages and databases within your Notion workspace.
Database API
POST /api/databases: Create a databaseGET /api/databases/:id: Query databasePATCH /api/databases/:id: Update databasePOST /api/databases/:id/query: Database query
Page API
POST /api/pages: Create a pageGET /api/pages/:id: View page informationPATCH /api/pages/:id: Update pageGET /api/pages/:page_id/properties/:property_id: View page properties
Block API
GET /api/blocks/:id: Block queryGET /api/blocks/:id/children: View block contentsPATCH /api/blocks/:id: Update blockPATCH /api/blocks/:id/children: Add block contentDELETE /api/blocks/:id: Delete block
User API
GET /api/users: View user listGET /api/users/:id: User searchGET /api/users/me: View your own user information
Comment API
POST /api/comments: Create a commentGET /api/comments?block_id=...: View comments
Cursor MCP Integration
Add the following settings to
.cursor/mcp.jsonfile:
{
"mcpServers": {
"customApi": {
"url": "http://localhost:3000",
"toolNameStrategy": "url-path-segments"
}
}
}You can access the Notion API using MCP functions in Cursor while the server is running.
Usage examples
Example search request
// 페이지 검색
fetch('http://localhost:3000/api/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
filter: {
value: "page",
property: "object"
}
})
})
.then(response => response.json())
.then(data => console.log(data));Page creation example
// 새 페이지 생성
fetch('http://localhost:3000/api/pages', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
parent: {
page_id: "페이지_ID"
},
properties: {
title: {
title: [
{
text: {
content: "새 페이지 제목"
}
}
]
}
}
})
})
.then(response => response.json())
.then(data => console.log(data));Example of creating a database
// 데이터베이스 생성
fetch('http://localhost:3000/api/databases', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
parent: {
type: "page_id",
page_id: "페이지_ID"
},
title: [
{
text: {
content: "테스트 데이터베이스"
}
}
],
properties: {
"이름": {
"title": {},
"description": "제목 항목"
},
"상태": {
"description": "작업 상태",
"select": {
"options": [
{
"name": "진행 중",
"color": "blue"
},
{
"name": "완료",
"color": "green"
}
]
}
}
}
})
})
.then(response => response.json())
.then(data => console.log(data));API Documentation
The API documentation is available at the following URL when running the server:
Swagger UI: http://localhost:3000/api-docs
OpenAPI schema: http://localhost:3000/openapi.json
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.
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.174610Apache 2.0
- Alicense-qualityDmaintenanceA server that connects to the Notion API and exposes functionality through Claude's Machine Context Protocol, enabling search, retrieval, querying, and creation of Notion pages and databases.2,228MIT
- -license-quality-maintenanceAn MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.179,065
- -license-quality-maintenanceA Model Context Protocol server that enables AI assistants to interact with Notion's API for reading, creating, and modifying Notion content through natural language interactions.
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
A basic MCP server to operate on the Postman API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/HariFatherKR/notion_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server