API-сервер Notion
Видео-справочник
Пользовательский сервер для простого использования 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 .
Как настроить
Установите свой токен API Notion в переменной
NOTION_TOKENв файле server.js:
const NOTION_TOKEN = '여기에_노션_API_토큰_입력';При необходимости вы можете запустить его на другом порту, изменив переменную PORT.
Возможности API
API поиска
POST /api/search: Поиск страниц и баз данных в вашем рабочем пространстве Notion.
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: Просмотр свойств страницы
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=...: Просмотреть комментарии
Интеграция курсора MCP
Добавьте следующие настройки в файл
.cursor/mcp.json:
{
"mcpServers": {
"customApi": {
"url": "http://localhost:3000",
"toolNameStrategy": "url-path-segments"
}
}
}Вы можете получить доступ к API Notion с помощью функций MCP в Cursor во время работы сервера.
Примеры использования
Пример поискового запроса
// 페이지 검색
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: http://localhost:3000/api-docs
Схема OpenAPI: http://localhost:3000/openapi.json