article
README
🚀 浏览您的整个 Notion 工作区,而不仅仅是单个数据库
本项目基于 Markdown 实现了对 Notion 的操作,仅需使用一个 ROOT_PAGE 变量,无需令牌,就能遍历整个 Notion 工作区。它提供了多种功能,如将 Notion 页面转换为文本或 Markdown 格式、搜索和检索相关页面等,能高效地与 Notion 页面进行交互。
🚀 快速开始
本项目是一个用于管理并与 Notion 基于笔记的 Model Context Protocol (MCP) 服务器。该 TypeScript 实现展示了 MCP 概念,通过整合资源、工具和提示来高效地与 Notion 页面交互。
✨ 主要特性
资源
- 访问笔记:可列出并检索 Notion 页面,以
note://URI(带 UUID slug)的形式呈现。 - 元数据:每个资源包含标题、描述以及 Markdown 格式的正文内容。
- MIME 类型:正文内容能以
text/markdown格式获取。
工具
- 搜索笔记:借助
search_notes工具,可通过查询字符串过滤相关页面。- 输入:用于筛选的相关文本查询。
- 输出:匹配笔记的 Markdown 内容。
提示
- 总结笔记:能为单个 Notion 页面生成摘要。
- 可用提示:
summarize_note:通过 URI 摘要特定的笔记。suggest_refactor:提出结构改进建议。suggest_fix:识别潜在修复建议。suggest_enhance:推荐改进以增强笔记内容。
- 输入:Notion 页面 URI。
- 输出:摘要和增强的结构化消息。
- 可用提示:
📦 安装指南
开发环境设置
- 安装依赖:
pnpm install
- 构建项目:
pnpm build
- 开发环境自动重建:
pnpm watch
配置
若要将服务器配置为与 Notion 一起使用,需设置环境变量:
ROOT_PAGE:您的 Notion 工作区的根页面 ID。
安装用于 Claude Desktop
若要在 Claude Desktop 上使用此服务器,需添加以下配置:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
示例配置如下:
{
"mcpServers": {
"notion-texonom": {
"command": "node",
"args": [
"/path/to/mcp/build/index.js"
],
"env": {
"ROOT_PAGE": "$SOME_UUID"
}
}
}
}
调试
若要调试和排除服务器问题,可使用 MCP 检查器。启动检查器的命令如下:
pnpm inspector
检查器提供了一个基于浏览器的界面,用于检查基于标准输入输出的服务器通信。
🔧 技术细节
- Notion 集成:由
@texonom/nclient和@texonom/cli提供支持。 - MCP SDK:实现
@modelcontextprotocol/sdk以进行服务器操作。
📚 详细文档
远程部署
目前,服务器使用 SSEServerTransport 进行远程通信,支持共享服务器的使用。请确保安装必要的依赖项并正确配置服务器以进行远程部署。
使用说明
若要使用 SSEServerTransport 运行服务器,请运行以下命令:
npx -y supergateway --port 8000 --stdio "npx -y @modelcontextprotocol/server-filesystem /some/folder"
请将 /some/folder 替换为您实际的文件夹路径。
扫码联系在线客服