Notion APIサーバー
リファレンスビデオ
Notion APIを使いやすくするためのカスタムサーバーです。 Express.jsを使用して実装されており、Notion APIのさまざまな機能をREST APIとして提供しています。
Related MCP server: SystemPrompt MCP Notion Server
インストール方法
必要なパッケージのインストール:
npm install express cors @notionhq/client swagger-jsdoc swagger-ui-expressサーバーの実行:
node server.jsサーバーは http://localhost:3000で実行されます。
設定方法
server.jsファイルの
NOTION_TOKEN変数にNotion APIトークンを設定します。
const NOTION_TOKEN = '여기에_노션_API_토큰_입력';必要に応じて、PORT変数を変更して別のポートで実行できます。
API機能
検索API
POST /api/search: ノッションワークスペース内のページとデータベースの検索
データベースAPI
POST /api/databases: データベースの作成GET /api/databases/:id: データベース照会PATCH /api/databases/:id: データベースの更新POST /api/databases/:id/query: データベースクエリ
ページAPI
POST /api/pages: ページの生成GET /api/pages/:id: ページ情報の照会PATCH /api/pages/:id: ページの更新GET /api/pages/:page_id/properties/:property_id: ページ属性の検索
Block API
GET /api/blocks/:id: ブロック照会GET /api/blocks/:id/children: ブロック内容の照会PATCH /api/blocks/:id: ブロック更新PATCH /api/blocks/:id/children: ブロック内容の追加DELETE /api/blocks/:id: ブロックの削除
ユーザーAPI
GET /api/users: ユーザーリストの検索GET /api/users/:id: ユーザー検索GET /api/users/me:自分のユーザー情報を検索する
コメントAPI
POST /api/comments: コメントの生成GET /api/comments?block_id=...: コメントの照会
Cursor MCP統合
.cursor/mcp.jsonファイルに次の設定を追加します。
{
"mcpServers": {
"customApi": {
"url": "http://localhost:3000",
"toolNameStrategy": "url-path-segments"
}
}
}サーバーの実行中にCursorのMCP機能を使用してNotion APIにアクセスできます。
使用例
検索リクエストの例
// 페이지 검색
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));ページ生成の例
// 새 페이지 생성
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));データベース生成の例
// 데이터베이스 생성
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ドキュメント
API ドキュメントは、サーバーの実行時に次の URL で確認できます。
Swagger UI: http://localhost:3000/api-docs
OpenAPI スキーマ: http://localhost:3000/openapi.json
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.