项目简介

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 内容。
  • Prompt 模板 (Prompts)
    • 笔记摘要 (summarize_note):生成指定 Notion 页面的摘要。
    • 结构优化建议 (suggest_refactor):针对笔记结构提出改进建议。
    • 内容修复建议 (suggest_fix):识别并建议修复笔记内容。
    • 内容增强建议 (suggest_enhance):推荐增强笔记内容的方案。
      • 输入:Notion 页面 URI。
      • 输出:结构化的消息,包含摘要和增强建议。

安装步骤

  1. 安装依赖: 在项目根目录下运行以下命令安装项目依赖:
    pnpm install
  2. 构建项目: 运行以下命令构建项目:
    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。

基本使用方法

  1. 启动服务器: 根据仓库 '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' 环境变量已正确设置。

  2. 配置 MCP 客户端: 将上面提供的 JSON 配置信息添加到你的 MCP 客户端(例如 Claude Desktop)的配置文件中,并确保配置中的文件路径和 'ROOT_PAGE' ID 正确无误。

  3. 在 MCP 客户端中使用: 启动 MCP 客户端,客户端应该能够自动连接到 'notion-texonom' 服务器。之后,你就可以在客户端中使用服务器提供的资源、工具和 Prompt 功能来访问和操作你的 Notion 笔记了。例如,在 Claude Desktop 中,你可能可以通过指令或界面操作来搜索笔记、获取笔记摘要等。

调试

如果需要调试 MCP 服务器,可以使用 'pnpm inspector' 命令启动 MCP Inspector,它提供了一个浏览器界面来检查 stdio 通信。

信息

分类

生产力应用