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 "Deploy 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 deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
AI-native mock API server with MCP. Create REST/SOAP mocks from Claude, Cursor, or Windsurf.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Related MCP Servers
- AlicenseCqualityCmaintenanceA Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.1720 npm10Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA 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,184 npmMIT
- -licenseNot gradedqualityNot gradedmaintenanceAn 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.152,494 npm-
- -licenseNot gradedqualityNot gradedmaintenanceA 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.-