Notion MCP
ทางการเซิร์ฟเวอร์ MCP อย่างเป็นทางการของ Notion สำหรับค้นหา อ่าน สร้าง และอัปเดตหน้า ฐานข้อมูล และเนื้อหาในพื้นที่ทำงานของ Notion จากเอเจนต์ AI
คุณทำอะไรได้บ้างด้วย Notion MCP?
- Query data sources — Ask your assistant to filter and sort Notion data sources using
query-data-sourcewith custom criteria. - Read pages as Markdown — Retrieve a page's full content in Markdown format via
retrieve-page-markdown, optionally including meeting transcripts. - Edit page content — Update page content with Markdown using
update-page-markdown, either replacing everything or making targeted edits. - Manage data sources — Create, update, or retrieve data source schemas and metadata using
create-a-data-source,update-a-data-source, orretrieve-a-data-source. - Move pages — Relocate pages to different parent locations within your workspace using
move-page. - List templates — Discover available templates in a data source with
list-data-source-templatesto speed up page creation.
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://mcp.notion.com/mcp'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
เซิร์ฟเวอร์ Notion MCP
[!NOTE]
เพื่อประสบการณ์ที่ดีที่สุด ให้ใช้ Remote Notion MCP ซึ่งเป็นเซิร์ฟเวอร์ MCP แบบโฮสต์อย่างเป็นทางการของเรา พื้นที่เก็บข้อมูลนี้เป็นการใช้งานเซิร์ฟเวอร์ MCP แบบโฮสต์เองแยกต่างหาก ซึ่งไม่ได้รับการดูแลหรือสนับสนุนอย่างต่อเนื่องอีกต่อไป โปรดใช้ Remote Notion MCP แทน มันถูกออกแบบมาโดยเฉพาะเพื่อให้เอเจนต์ AI ได้ผลลัพธ์ที่เร็วกว่ามากโดยใช้โทเค็นน้อยลงอย่างมาก
Remote Notion MCP สามารถค้นหาพื้นที่ทำงานและแอปที่เชื่อมต่อของคุณแบบเชิงความหมาย อ่านและแก้ไขเพจในรูปแบบ Markdown และส่งคืนเฉพาะบริบทที่เกี่ยวข้องที่สุดเท่านั้น ซึ่งหมายถึงใช้เวลารอน้อยลง ใช้พื้นที่ context window น้อยลง และต้นทุนโทเค็นต่ำลง นอกจากนี้ยังใช้ OAuth และเคารพสิทธิ์การเข้าถึง Notion ที่มีอยู่ของผู้ใช้แต่ละคนโดยอัตโนมัติ—โดยไม่ต้องใช้โทเค็น API การกำหนดค่า JSON การแชร์เพจด้วยตนเอง หรือเซิร์ฟเวอร์ในเครื่องที่ต้องดูแลรักษา
คุณสมบัติ Remote Notion MCP โปรเจกต์นี้ (ในเครื่อง) ประสบการณ์โฮสต์ที่รวดเร็ว ✅ ทำงานและอัปเดตในเครื่อง การตอบสนองที่ประหยัดโทเค็น ✅ จำกัด เครื่องมือทรงพลังที่ออกแบบสำหรับเอเจนต์ AI ✅ เครื่องมือพื้นฐานที่ได้จาก API การค้นหาเชิงความหมายทั่วพื้นที่ทำงาน Notion ของคุณ ✅ ค้นหาด้วยคำสำคัญเท่านั้น การค้นหา AI Connector ทั่วแอปที่เชื่อมต่อ ✅ ไม่พร้อมใช้งาน การอ่านและแก้ไขเพจแบบ Markdown ดั้งเดิม ✅ จำกัดเฉพาะเครื่องมือเนื้อหาเพจสองรายการ การตั้งค่า OAuth ที่ราบรื่น ✅ การกำหนดค่าโทเค็นและ JSON ด้วยตนเอง เคารพสิทธิ์ Notion ที่มีอยู่ของผู้ใช้แต่ละคน ✅ สิทธิ์การผสานรวมและการแชร์เพจด้วยตนเอง การสนับสนุนอย่างแข็งขันและการปรับปรุงอย่างต่อเนื่อง ✅ ไม่ได้รับการสนับสนุนอย่างแข็งขัน เรียนรู้เพิ่มเติมและเริ่มต้นใช้งานได้ใน เอกสาร Remote Notion MCP
เรากำลังให้ความสำคัญและให้การสนับสนุนอย่างแข็งขันเฉพาะ Remote Notion MCP เท่านั้น ด้วยเหตุนี้:
- เราอาจยุติพื้นที่เก็บข้อมูลเซิร์ฟเวอร์ MCP ในเครื่องนี้ในอนาคต
- ปัญหาและคำขอดึง (pull requests) ที่นี่ไม่ได้รับการติดตามอย่างแข็งขัน
- โปรดอย่าลงปัญหาที่เกี่ยวข้องกับ remote MCP ที่นี่ แต่ให้ติดต่อฝ่ายสนับสนุน Notion แทน
โปรเจกต์นี้ใช้งาน เซิร์ฟเวอร์ MCP สำหรับ Notion API
⚠️ การเปลี่ยนแปลงที่ทำลายความเข้ากันได้ในเวอร์ชัน 2.0.0
เวอร์ชัน 2.0.0 ย้ายไปใช้ Notion API 2025-09-03 ซึ่งแนะนำ data sources เป็นนามธรรมหลักสำหรับฐานข้อมูล
สิ่งที่เปลี่ยนแปลง
เครื่องมือที่ถูกลบ (3 รายการ):
post-database-query- ถูกแทนที่ด้วยquery-data-sourceupdate-a-database- ถูกแทนที่ด้วยupdate-a-data-sourcecreate-a-database- ถูกแทนที่ด้วยcreate-a-data-source
เครื่องมือใหม่ (7 รายการ):
query-data-source- ค้นหาข้อมูลจาก data source (ฐานข้อมูล) พร้อมตัวกรองและการเรียงลำดับretrieve-a-data-source- รับข้อมูลเมตาและโครงสร้างของ data sourceupdate-a-data-source- อัปเดตคุณสมบัติของ data sourcecreate-a-data-source- สร้าง data source ใหม่list-data-source-templates- แสดงรายการเทมเพลตที่มีอยู่ใน data sourcemove-page- ย้ายเพจไปยังตำแหน่งหลักอื่นretrieve-a-database- รับข้อมูลเมตาของฐานข้อมูลรวมถึง ID ของ data source
การเปลี่ยนแปลงพารามิเตอร์:
- การดำเนินการกับฐานข้อมูลทั้งหมดตอนนี้ใช้
data_source_idแทนdatabase_id - ค่าตัวกรองการค้นหาเปลี่ยนจาก
["page", "database"]เป็น["page", "data_source"] - การสร้างเพจตอนนี้รองรับทั้ง
page_idและdatabase_id(สำหรับ data sources)
ฉันจำเป็นต้องย้ายข้อมูลหรือไม่?
ไม่ต้องเปลี่ยนแปลงโค้ดใดๆ เครื่องมือ MCP ถูกค้นพบโดยอัตโนมัติเมื่อเซิร์ฟเวอร์เริ่มทำงาน เมื่อคุณอัปเกรดเป็น v2.0.0 ไคลเอนต์ AI จะเห็นชื่อเครื่องมือและพารามิเตอร์ใหม่โดยอัตโนมัติ เครื่องมือฐานข้อมูลแบบเก่าจะไม่พร้อมใช้งานอีกต่อไป
หากคุณมีชื่อเครื่องมือหรือพรอมต์ที่อ้างอิงเครื่องมือฐานข้อมูลแบบเก่าที่เขียนตายตัว ให้อัปเดตเป็นเครื่องมือ data source ใหม่:
| เครื่องมือเก่า (v1.x) | เครื่องมือใหม่ (v2.0) | การเปลี่ยนแปลงพารามิเตอร์ |
|---|---|---|
post-database-query | query-data-source | database_id → data_source_id |
update-a-database | update-a-data-source | database_id → data_source_id |
create-a-database | create-a-data-source | ไม่มีการเปลี่ยนแปลง (ใช้ parent.page_id) |
หมายเหตุ:
retrieve-a-databaseยังคงพร้อมใช้งานและส่งคืนข้อมูลเมตาของฐานข้อมูลรวมถึงรายการ ID ของ data source ใช้retrieve-a-data-sourceเพื่อรับโครงสร้างและคุณสมบัติของ data source เฉพาะ
จำนวนเครื่องมือทั้งหมดตอนนี้: 22 (เดิม 19 ใน v1.x)
เนื้อหาเพจเป็น Markdown
เซิร์ฟเวอร์เปิดเผยเครื่องมือสองรายการสำหรับการทำงานกับเนื้อหาเพจเป็น Markdown ที่ปรับปรุงแล้วแทนที่จะเป็นบล็อก JSON ซึ่งประหยัดโทเค็นได้อย่างมากสำหรับเอเจนต์ AI:
retrieve-page-markdown— อ่านเนื้อหาทั้งหมดของเพจเป็น Markdown (GET /v1/pages/{page_id}/markdown) ส่งinclude_transcript: trueเพื่อแทรกบทถอดความบันทึกการประชุมแบบอินไลน์update-page-markdown— แก้ไขเนื้อหาของเพจด้วย Markdown (PATCH /v1/pages/{page_id}/markdown) ควรใช้replace_contentเพื่อเขียนทับทั้งเพจ หรือupdate_contentสำหรับการแก้ไขแบบค้นหาและแทนที่แบบเจาะจง
จุดสิ้นสุดเหล่านี้ต้องใช้ Notion API เวอร์ชัน 2026-03-11 ตอนนี้เซิร์ฟเวอร์ดึงค่า header Notion-Version ต่อการดำเนินการ จากข้อกำหนด OpenAPI ดังนั้นเครื่องมือเหล่านี้จึงใช้ 2026-03-11 ในขณะที่ส่วนที่เหลือของ API ยังคงใช้ 2025-09-03 — ไม่ต้องกำหนดค่าใดๆ หากคุณตั้งค่า Notion-Version ด้วยตัวเองผ่าน OPENAPI_MCP_HEADERS ค่าของคุณจะมีความสำคัญเหนือกว่าสำหรับทุกเครื่องมือ
การติดตั้ง
1. การตั้งค่าการผสานรวมใน Notion
ไปที่ https://www.notion.so/profile/integrations และสร้างการผสานรวมแบบ ภายใน ใหม่หรือเลือกการผสานรวมที่มีอยู่

แม้ว่าเราจะจำกัดขอบเขตของ Notion API ที่เปิดเผย (ตัวอย่างเช่น คุณจะไม่สามารถลบฐานข้อมูลผ่าน MCP ได้) แต่ก็ยังมีความเสี่ยงที่ไม่เป็นศูนย์ต่อข้อมูลในพื้นที่ทำงานจากการเปิดเผยให้ LLM ผู้ใช้ที่คำนึงถึงความปลอดภัยอาจต้องการกำหนดค่า ความสามารถ ของการผสานรวมเพิ่มเติม
ตัวอย่างเช่น คุณสามารถสร้างโทเค็นการผสานรวมแบบอ่านอย่างเดียวโดยให้สิทธิ์ "อ่านเนื้อหา" เท่านั้นจากแท็บ "การกำหนดค่า":

2. การเชื่อมต่อเนื้อหากับการผสานรวม
ตรวจสอบให้แน่ใจว่าเพจและฐานข้อมูลที่เกี่ยวข้องเชื่อมต่อกับการผสานรวมของคุณแล้ว
ในการดำเนินการนี้ ให้ไปที่แท็บ การเข้าถึง ในการตั้งค่าการผสานรวมภายในของคุณ แก้ไขการเข้าถึงและเลือกเพจที่คุณต้องการใช้


หรือคุณสามารถให้สิทธิ์การเข้าถึงเพจเป็นรายบุคคลได้ คุณจะต้องไปที่เพจเป้าหมาย คลิกที่จุด 3 จุด แล้วเลือก "เชื่อมต่อกับการผสานรวม"

3. การเพิ่มการกำหนดค่า MCP ให้กับไคลเอนต์ของคุณ
การใช้ npm
Cursor และ Claude
เพิ่มสิ่งต่อไปนี้ลงใน .cursor/mcp.json หรือ claude_desktop_config.json ของคุณ (MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json)
ตัวเลือก 1: การใช้ NOTION_TOKEN (แนะนำ)
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
ตัวเลือก 2: การใช้ OPENAPI_MCP_HEADERS (สำหรับกรณีการใช้งานขั้นสูง)
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2025-09-03\" }"
}
}
}
}
Zed
เพิ่มสิ่งต่อไปนี้ลงใน settings.json ของคุณ
{
"context_servers": {
"some-context-server": {
"command": {
"path": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2025-09-03\" }"
}
},
"settings": {}
}
}
}
GitHub Copilot CLI
ใช้ Copilot CLI เพื่อเพิ่มเซิร์ฟเวอร์ MCP แบบโต้ตอบ:
/mcp add
หรือสร้างหรือแก้ไขไฟล์การกำหนดค่า ~/.copilot/mcp-config.json และเพิ่ม:
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
สำหรับข้อมูลเพิ่มเติม โปรดดู เอกสาร Copilot CLI
การใช้ Docker
มีสองตัวเลือกสำหรับการรันเซิร์ฟเวอร์ MCP ด้วย Docker:
ตัวเลือก 1: การใช้ภาพ Docker Hub อย่างเป็นทางการ
เพิ่มสิ่งต่อไปนี้ลงใน .cursor/mcp.json หรือ claude_desktop_config.json ของคุณ
การใช้ NOTION_TOKEN (แนะนำ):
{
"mcpServers": {
"notionApi": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "NOTION_TOKEN",
"mcp/notion"
],
"env": {
"NOTION_TOKEN": "ntn_****"
}
}
}
}
การใช้ OPENAPI_MCP_HEADERS (สำหรับกรณีการใช้งานขั้นสูง):
{
"mcpServers": {
"notionApi": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "OPENAPI_MCP_HEADERS",
"mcp/notion"
],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer ntn_****\",\"Notion-Version\":\"2025-09-03\"}"
}
}
}
}
วิธีการนี้:
- ใช้ภาพ Docker Hub อย่างเป็นทางการ
- จัดการกับการ Escape JSON อย่างถูกต้องผ่านตัวแปรสภาพแวดล้อม
- ให้วิธีการกำหนดค่าที่เชื่อถือได้มากขึ้น
ตัวเลือก 2: การสร้างภาพ Docker ในเครื่อง
คุณยังสามารถสร้างและรันภาพ Docker ในเครื่องได้ ขั้นแรก สร้างภาพ Docker:
docker compose build
จากนั้น เพิ่มสิ่งต่อไปนี้ลงใน .cursor/mcp.json หรือ claude_desktop_config.json ของคุณ
การใช้ NOTION_TOKEN (แนะนำ):
{
"mcpServers": {
"notionApi": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"NOTION_TOKEN=ntn_****",
"notion-mcp-server"
]
}
}
}
การใช้ OPENAPI_MCP_HEADERS (สำหรับกรณีการใช้งานขั้นสูง):
{
"mcpServers": {
"notionApi": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2025-09-03\"}",
"notion-mcp-server"
]
}
}
}
อย่าลืมแทนที่ ntn_**** ด้วยความลับการผสานรวมของคุณ ค้นหาได้จากแท็บการกำหนดค่าการผสานรวมของคุณ:
ตัวเลือกการขนส่ง (Transport)
เซิร์ฟเวอร์ Notion MCP รองรับโหมดการขนส่งสองแบบ:
การขนส่ง STDIO (ค่าเริ่มต้น)
โหมดการขนส่งเริ่มต้นใช้มาตรฐานอินพุต/เอาต์พุตสำหรับการสื่อสาร นี่คือการขนส่ง MCP มาตรฐานที่ใช้โดยไคลเอนต์ส่วนใหญ่เช่น Claude Desktop
# Run with default stdio transport
npx @notionhq/notion-mcp-server
# Or explicitly specify stdio
npx @notionhq/notion-mcp-server --transport stdio
การขนส่ง HTTP แบบสตรีมได้
สำหรับแอปพลิเคชันบนเว็บหรือไคลเอนต์ที่ต้องการการสื่อสารผ่าน HTTP คุณสามารถใช้การขนส่ง HTTP แบบสตรีมได้:
# Run with Streamable HTTP transport on port 3000 (default)
npx @notionhq/notion-mcp-server --transport http
# Run on a custom port
npx @notionhq/notion-mcp-server --transport http --port 8080
# Bind to a different host. The default is 127.0.0.1.
npx @notionhq/notion-mcp-server --transport http --host 0.0.0.0
# Run with a custom authentication token
npx @notionhq/notion-mcp-server --transport http --auth-token "your-secret-token"
เมื่อใช้การขนส่ง HTTP แบบสตรีมได้ เซิร์ฟเวอร์จะพร้อมใช้งานที่ http://127.0.0.1:<port>/mcp โดยค่าเริ่มต้น
การรับรองความถูกต้อง
การขนส่ง HTTP แบบสตรีมได้ต้องมีการรับรองความถูกต้องด้วย bearer token เพื่อความปลอดภัย คุณมีสามตัวเลือก:
ตัวเลือก 1: โทเค็นที่สร้างอัตโนมัติ (สำหรับการพัฒนาเท่านั้น)
npx @notionhq/notion-mcp-server --transport http
เซิร์ฟเวอร์จะสร้างโทเค็นสุ่มที่ปลอดภัยและเขียนลงในไฟล์ที่มีสิทธิ์จำกัด:
Generated auth token written to: /tmp/.notion-mcp-auth-token-12345
ตัวเลือก 2: โทเค็นที่กำหนดเองผ่านบรรทัดคำสั่ง (แนะนำสำหรับการผลิต)
npx @notionhq/notion-mcp-server --transport http --auth-token "your-secret-token"
ตัวเลือก 3: โทเค็นที่กำหนดเองผ่านตัวแปรสภาพแวดล้อม (แนะนำสำหรับการผลิต)
AUTH_TOKEN="your-secret-token" npx @notionhq/notion-mcp-server --transport http
อาร์กิวเมนต์บรรทัดคำสั่ง --auth-token มีความสำคัญเหนือกว่าตัวแปรสภาพแวดล้อม AUTH_TOKEN หากมีการระบุทั้งสองอย่าง
ตัวเลือกที่ไม่ปลอดภัย: ปิดการรับรองความถูกต้อง HTTP
คุณสามารถปิดการรับรองความถูกต้องด้วย bearer token ได้เฉพาะกับแฟล็กที่ไม่ปลอดภัยอย่างชัดเจน:
npx @notionhq/notion-mcp-server --transport http --unsafe-disable-auth
คำเตือน: --unsafe-disable-auth ไม่ปลอดภัย เซิร์ฟเวอร์อาจเข้าถึงได้จากเพจที่คุณเยี่ยมชมผ่าน DNS rebinding ใช้บนเครือข่ายที่แยกออกเท่านั้น
เมื่อปิดการรับรองความถูกต้อง เซิร์ฟเวอร์จะเปิดใช้งานการป้องกัน DNS rebinding โดยตรวจสอบ header Host และ Origin กับโฮสต์ในเครื่องที่กำหนดค่าและโฮสต์ loopback แฟล็ก --disable-auth ก่อนหน้านี้ยังคงได้รับการยอมรับเป็นนามแฝงที่เลิกใช้แล้ว แต่จะพิมพ์คำเตือน
การทำคำขอ HTTP
คำขอทั้งหมดไปยังการขนส่ง HTTP แบบสตรีมได้ต้องรวม bearer token ใน header การอนุญาต:
# Example request
curl -H "Authorization: Bearer your-token-here" \
-H "Content-Type: application/json" \
-H "mcp-session-id: your-session-id" \
-d '{"jsonrpc": "2.0", "method": "initialize", "params": {}, "id": 1}' \
http://localhost:3000/mcp
หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวแปรสภาพแวดล้อม NOTION_TOKEN (แนะนำ) หรือตัวแปรสภาพแวดล้อม OPENAPI_MCP_HEADERS ด้วยโทเค็นการผสานรวม Notion ของคุณเมื่อใช้โหมดการขนส่งใดก็ตาม
การให้บริการหลายการผสานรวม (การส่งผ่านโทเค็นต่อคำขอ)
โดยค่าเริ่มต้น เซิร์ฟเวอร์จะรับรองความถูกต้องกับ Notion ด้วยโทเค็นเดียวที่ฝังไว้ตั้งแต่เริ่มต้น ซึ่งล็อกการปรับใช้หนึ่งรายการให้กับการผสานรวม Notion หนึ่งรายการ เพื่อให้การปรับใช้เดียวสามารถให้บริการ หลาย การผสานรวม ให้เปิดใช้งานการส่งผ่านโทเค็นเพื่อให้ไคลเอนต์แต่ละรายส่งโทเค็นการผสานรวม Notion ของตัวเองต่อการเชื่อมต่อ:
# Enable per-request Notion tokens (flag or ENABLE_TOKEN_PASSTHROUGH=true)
npx @notionhq/notion-mcp-server --transport http --enable-token-passthrough
จากนั้นไคลเอนต์จะส่งโทเค็น Notion ของตนในคำขอ initialize โดยใช้ header เฉพาะ Notion-Token:
curl -H "Authorization: Bearer <server-auth-token>" \
-H "Notion-Token: ntn_****" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "initialize", "params": {}, "id": 1}' \
http://localhost:3000/mcp
วิธีแก้ไขโทเค็นสำหรับแต่ละการเชื่อมต่อ ตามลำดับ:
- header
Notion-Token(ที่ต้องการ—ไม่คลุมเครือ และทำงานร่วมกับการรับรองความถูกต้องเกตเวย์Authorizationของเซิร์ฟเวอร์เอง) หากมีอยู่ จะต้องเป็นโทเค็น Notion ที่ถูกต้อง มิฉะนั้นคำขอจะถูกปฏิเสธด้วย401 Authorization: Bearer ntn_****— เฉพาะเมื่อปิดการรับรองความถูกต้อง bearer ของเซิร์ฟเวอร์เอง (--unsafe-disable-auth) เพื่อให้ header ว่างสำหรับการส่งโทเค็น Notion โดยตรง- มิฉะนั้นจะใช้โทเค็นสภาพแวดล้อมเริ่มต้น (
NOTION_TOKEN/OPENAPI_MCP_HEADERS) หากตั้งไว้ เพื่อให้การส่งผ่านและค่าเริ่มต้นการผสานรวมสามารถอยู่ร่วมกันได้ในการปรับใช้เดียว
หมายเหตุ:
- เฉพาะค่าที่มีคำนำหน้าโทเค็น Notion (
ntn_,secret_แบบเดิม) เท่านั้นที่ถือเป็นโทเค็น Notion ดังนั้นความลับเกตเวย์ของเซิร์ฟเวอร์และโทเค็น Notion ของผู้เช่าจะไม่ชนกัน - แต่ละโทเค็นถูกผูกกับเซสชัน MCP ของตน โทเค็นจะไม่ถูกบันทึกล็อก (เฉพาะคำนำหน้าที่ถูกปกปิดเท่านั้นที่ถูกปล่อยออกมา)
- นี่คือการตั้งค่าการส่งผ่านโทเค็นโดยเจตนา ปรับใช้ผ่าน TLS เสมอ และควรเปิดการรับรองความถูกต้อง bearer ของเซิร์ฟเวอร์เอง (
--auth-token) ไว้เป็นเกตเวย์ด้านหน้าของการรับส่งข้อมูลหลายผู้เช่า
ตัวอย่าง
- การใช้คำสั่งต่อไปนี้
Comment "Hello MCP" on page "Getting started"
AI จะวางแผนการเรียก API สองครั้งอย่างถูกต้อง v1/search และ v1/comments เพื่อให้งานสำเร็จ
- ในทำนองเดียวกัน คำสั่งต่อไปนี้จะสร้างเพจใหม่ชื่อ "Notion MCP" ที่เพิ่มไปยังเพจหลัก "Development"
Add a page titled "Notion MCP" to page "Development"
- คุณยังสามารถอ้างอิง ID เนื้อหาโดยตรงได้
Get the content of page 1a6b35e6e67f802fa7e1d27686f017f2
การพัฒนา
Build และทดสอบ
npm run build
npm test
การรัน
npx -y --prefix /path/to/local/notion-mcp-server @notionhq/notion-mcp-server
การทดสอบการเปลี่ยนแปลงในเครื่องด้วย Cursor:
- รันคำสั่ง
npm linkจากโฟลเดอร์รากของ repository เพื่อสร้าง symlink ระดับเครื่องไปยังแพ็กเกจnotion-mcp-server - รวม snippet การกำหนดค่าด้านล่างเข้ากับ
mcp.jsonของ Cursor (หรือ MCP client อื่นที่คุณต้องการทดสอบด้วย) - (การทำความสะอาด) รัน
npm unlinkจากโฟลเดอร์รากของ repository
{
"mcpServers": {
"notion-local-package": {
"command": "notion-mcp-server",
"env": {
"NOTION_TOKEN": "ntn_..."
}
}
}
}
การเผยแพร่
npm login
npm publish --access public