Notion页面转换服务

一个将Notion页面转换为Markdown格式的MCP服务器,便于AI助手处理和理解。

  • by larryhudson
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 larryhudson/simple-notion-mcp-server

使用说明

MCP服务器的简单概念

概述

该项目实现了一个模型上下文协议(MCP)服务器,作为人工智能助手和Notion API之间的桥梁。不像 官方Notion MCP服务器 它返回大的JSON blob,此服务器将Notion页面呈现为Markdown,使LLM更有效地处理和理解它们。

特性

  • Markdown渲染:将Notion页面转换为干净、可读的Markdown格式
  • 富文本支持:保留粗体、斜体、删除线和代码元素的格式

设置

  1. 创建Notion集成并从获取API令牌 https://www.notion.so/my-integrations
  2. 将令牌设置为环境变量:
export NOTION_TOKEN=your-notion-api-token

或者,您可以创建 .env 在项目中使用以下文件:

NOTION_TOKEN=your-notion-api-token
  1. 确保与您的集成共享您要访问的任何Notion页面

用法

与VS代码一起使用

将此添加到您的设置JSON文件中:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "notion_token",
        "description": "Notion API Token",
        "password": true
      }
    ],
    "servers": {
      "notion": {
        "command": "npx",
        "args": [
          "-y",
          "@larryhudson/simple-notion-mcp-server"
        ],
        "env": {
          "NOTION_TOKEN": "${input:notion_token}"
        }
      }
    }
  }
}

与Claude或其他MCP兼容应用程序一起使用

将以下内容添加到MCP配置JSON文件中:

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@larryhudson/simple-notion-mcp-server"],
      "env": {
        "NOTION_TOKEN": "<YOUR_NOTION_API_TOKEN>"
      }
    }
  }
}

可用工具

get_page

按ID检索Notion页面并将其呈现为Markdown。

参数:

  • page_id:要检索的Notion页面的ID

示例:

{
  "page_id": "83c75a5b7a324be29d454536f2345678"
}

运作原理

服务器通过以下步骤处理Notion页面:

  1. 使用Notion API获取页面元数据
  2. 从页面中检索所有块(通过递归获取子块)
  3. 将块格式化为Markdown,保持结构和格式
  4. 返回页面的干净Markdown表示形式

技术细节

内置:

  • 模型上下文协议(MCP):允许AI助手与外部工具交互的框架
  • 通知API客户端:与Notion沟通的官方客户
  • TypeScript:用于类型安全和更好的开发人员体验

发展

您可以使用模型上下文协议检查器来尝试服务器:

npx @modelcontextprotocol/inspector npx tsx src/index.ts

局限性和未来改进

  • 目前仅支持检索页面(不更新或创建)
  • 在未来的更新中可以改进图像处理(例如将图像渲染为base64图像块)

许可证

麻省理工学院