项目简介
Notion Markdown MCP Server (notion-texonom) 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它将 Notion 页面转换为 Markdown 格式的资源,并通过 MCP 协议向 LLM 客户端提供访问和操作这些笔记的能力。该服务器无需 Notion Token,仅需配置根页面 ID 即可运行,方便快捷地将 Notion 知识库接入 LLM 应用。
主要功能点
- 资源 (Resources):
- 访问 Notion 笔记:将 Notion 页面作为 'note://' URI 格式的资源提供访问,每个页面以 Markdown 格式呈现。
- 元数据:资源包含标题、描述和 Markdown 格式的内容。
- MIME 类型:资源内容以 'text/markdown' MIME 类型提供。
- 工具 (Tools):
- 搜索笔记 (search_notes):允许用户通过关键词搜索 Notion 页面。
- 输入:搜索关键词字符串。
- 输出:匹配的 Notion 页面的 Markdown 内容。
- 搜索笔记 (search_notes):允许用户通过关键词搜索 Notion 页面。
- Prompt 模板 (Prompts):
- 笔记摘要 (summarize_note):生成指定 Notion 页面的摘要。
- 结构优化建议 (suggest_refactor):针对笔记结构提出改进建议。
- 内容修复建议 (suggest_fix):识别并建议修复笔记内容。
- 内容增强建议 (suggest_enhance):推荐增强笔记内容的方案。
- 输入:Notion 页面 URI。
- 输出:结构化的消息,包含摘要和增强建议。
安装步骤
- 安装依赖:
在项目根目录下运行以下命令安装项目依赖:
pnpm install - 构建项目:
运行以下命令构建项目:
pnpm build
服务器配置
MCP 服务器需要配置才能被 MCP 客户端(例如 Claude Desktop)识别和连接。以下是针对 Claude Desktop 的配置示例,你需要将此配置添加到 Claude Desktop 的配置文件中。
Claude Desktop 配置文件路径:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
配置信息 (JSON 格式):
{ "mcpServers": { "notion-texonom": { "command": "node", "args": [ "/path/to/mcp/build/index.js" ], "env": { "ROOT_PAGE": "$YOUR_NOTION_ROOT_PAGE_ID" } } } }
参数说明:
- '"notion-texonom"': MCP 服务器的名称,可以自定义。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时。
- '"args": ["/path/to/mcp/build/index.js"]': 启动命令的参数,指向构建后的 'index.js' 文件路径。 请将 '/path/to/mcp' 替换为你的 'mcp-notion' 项目的实际路径。
- '"env": {"ROOT_PAGE": "$YOUR_NOTION_ROOT_PAGE_ID"}': 环境变量配置。
- '"ROOT_PAGE": "$YOUR_NOTION_ROOT_PAGE_ID"': 请将 '$YOUR_NOTION_ROOT_PAGE_ID' 替换为你的 Notion 工作空间的根页面 ID。 你需要在 Notion 中找到你想要作为根目录的页面,并复制其 Page ID。
获取 Notion Root Page ID:
在 Notion 中打开你的根页面,Page ID 通常显示在页面 URL 的末尾,例如: 'https://www.notion.so/your-workspace-name/YOUR_ROOT_PAGE_ID?v=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',其中 'YOUR_ROOT_PAGE_ID' 就是你需要配置的根页面 ID。
基本使用方法
-
启动服务器: 根据仓库 'README.md' 提供的 "Usage Instructions",可以使用 'supergateway' 启动服务器,并指定端口和 stdio 通道。
npx -y supergateway --port 8000 --stdio "npx -y @modelcontextprotocol/server-filesystem /some/folder"注意: 这里的 '/some/folder' 路径在 'mcp-notion' 项目中似乎并不直接相关,可能需要根据实际运行情况调整或忽略。 更直接的启动方式可能是直接运行构建后的 'index.js' 文件,例如:
node build/index.js并确保 'ROOT_PAGE' 环境变量已正确设置。
-
配置 MCP 客户端: 将上面提供的 JSON 配置信息添加到你的 MCP 客户端(例如 Claude Desktop)的配置文件中,并确保配置中的文件路径和 'ROOT_PAGE' ID 正确无误。
-
在 MCP 客户端中使用: 启动 MCP 客户端,客户端应该能够自动连接到 'notion-texonom' 服务器。之后,你就可以在客户端中使用服务器提供的资源、工具和 Prompt 功能来访问和操作你的 Notion 笔记了。例如,在 Claude Desktop 中,你可能可以通过指令或界面操作来搜索笔记、获取笔记摘要等。
调试
如果需要调试 MCP 服务器,可以使用 'pnpm inspector' 命令启动 MCP Inspector,它提供了一个浏览器界面来检查 stdio 通信。
信息
分类
生产力应用