Notion笔记管理服务

一个基于Model Context Protocol (MCP)的Notion笔记管理服务,支持搜索、总结和增强Notion页面内容。

  • by seonglae
  • TypeScript
  • 混合部署
  • 7 星标
  • 更新于
在 GitHub 查看 seonglae/mcp-notion

使用说明

浏览整个Notion工作区,而不仅仅是一个数据库

基于Markdown的Notion导航MCP ROOT_PAGE 变量,消除了对令牌的需要。

  • MCP服务器概念: notion-texonom
  • 通知页面转换为 text/markdown mimeType注释。
  • 基于图形距离搜索和检索相关页面,考虑父子关系和引用关系。

用于管理基于Notion的笔记并与之交互的模型上下文协议(MCP)服务器。这个基于TypeScript的服务器通过整合资源、工具和提示来有效地与Notion页面交互,从而演示了MCP概念。

特性

资源

  • 访问说明:按以下方式列出和检索Notion页面 note:// 带有UUID段的URI。
  • 元数据:每个资源都包含一个标题、描述和Markdown格式的内容。
  • mime类型:内容可在中访问 text/markdown 格式。

工具

  • 搜索笔记:使用 search_notes 使用查询字符串搜索Notion页面的工具。
    • 输入:查询文本以筛选相关页面。
    • 输出:匹配笔记的Markdown内容。

鼓励

  • 总结笔记:为各个Notion页面生成摘要。
    • 可用提示:
      • summarize_note:按URI总结特定注释。
      • suggest_refactor:提出结构改进建议。
      • suggest_fix:确定注释内容的潜在修复方法。
      • suggest_enhance:建议改进笔记。
    • 输入:通知页面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
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json

配置示例:

{
  "mcpServers": {
    "notion-texonom": {
      "command": "node",
      "args": [
        "/path/to/mcp/build/index.js"
      ],
      "env": {
        "ROOT_PAGE": "$SOME_UUID"
      }
    }
  }
}

调试

要对MCP服务器进行故障排除和调试,请使用MCP检查器。要启动检查器,请运行:

pnpm inspector

Inspector提供了一个基于浏览器的界面,用于检查基于stdio的服务器通信。

关键技术

  • 概念集成:由 @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 使用文件夹的适当路径。