Notion文件上传工具

一个通过Cursor聊天将图片和文件上传到Notion页面的工具,支持多种附件方式和数据库属性上传。

  • by jkkitakita
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jkkitakita/notion-uploader-mcp

使用说明

Notion Uploader MCP

在Model Context Protocol(MCP)服务器上,可以从Cursor聊天中将图片和文件上传到Notion页面。

功能

  • 将本地文件上传到Notion页面
  • 支持多种附加方式:
    • **根据上面的信息,执行如下指令:**作为图片模块添加到页面内
    • 由于原文内容为空,无法提供翻译。请提供需要翻译的英文原文作为文件块添加到页面内
    • 封面设置为页面封面图片
    • 图标设置为页面图标
  • 附加到数据库属性
  • 支持大容量文件的多部分上传(20MB以上)
  • 添加字幕功能

设置

1. 获取Notion API令牌

  1. Notion 集成 访问
  2. 点击“新集成”
  3. 创建集成,并复制API令牌
  4. 向上传输目标的Notion页面发送集成邀请

2. 安装依赖关系

cd tools/notion-uploader-mcp
npm install

3. 构建

npm run build

4. 设置环境变量

.env创建文件并设置Notion API令牌:

cp .env.example .env
# .envファイルを編集してNOTION_TOKENを設定

或者,作为环境变量进行设置:

export NOTION_TOKEN=secret_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

5. 对MCP设置的补充

项目路线的 .mcp.json 在以下内容中添加:

{
  "mcpServers": {
    "notion-uploader": {
      "type": "stdio",
      "command": "node",
      "args": ["./tools/notion-uploader-mcp/dist/server.mjs"],
      "env": {
        "NOTION_TOKEN": "${NOTION_TOKEN}"
      }
    }
  }
}

使用方法

在Cursor的聊天中upload_to_notion 工具将可使用。

参数

  • file_path (必须):上传文件的绝对路径
  • page_id_or_url (必填):Notion页面的ID或URL
  • attach_as (可选):附加方法
    • "image" (默认):作为图片模块添加
    • "file"作为文件块添加
    • "cover"设置为页面封面
    • "icon"设置为页面图标
  • property (可选):数据库文件属性名
  • caption (可选):文件说明

使用示例

# 画像をページに追加
upload_to_notion(
  file_path: "/path/to/image.png",
  page_id_or_url: "https://notion.so/your-page-id",
  caption: "プロジェクトのスクリーンショット"
)

# ページカバーとして設定
upload_to_notion(
  file_path: "/path/to/cover.jpg",
  page_id_or_url: "your-page-id",
  attach_as: "cover"
)

# データベースプロパティに添付
upload_to_notion(
  file_path: "/path/to/document.pdf",
  page_id_or_url: "database-page-id",
  property: "添付ファイル"
)

开发

开发模式

直接执行TypeScript文件:

npm run dev

构建

将TypeScript编译为JavaScript:

npm run build

故障排除

  1. 未找到NOTION_TOKEN确认环境变量是否已正确设置
  2. 页面未找到确认页面ID是否正确,以及是否已被邀请进行集成
  3. 权限被拒绝确认是否具有进行集成的适当权限

许可证

遵循项目许可协议。