WhkerDB MCP Server

WhkerDB MCP Server

Enables interaction with the WhkerDB shared PDF editor to manage collaborative rooms, file structures, and real-time annotations. It allows users to upload PDFs and images, manage note trees, and sync data across platforms through natural language.

Category
访问服务器

README

WhkerDB MCP Server

npm version TypeScript MCP

讲了么(WhkerDB)的 MCP(Model Context Protocol)服务器实现,为 AI 助手和第三方应用提供讲了么共享 PDF 编辑器的完整功能访问能力。

✨ 特性

  • 🏠 房间管理 - 创建、加入、管理协作房间
  • 📝 笔记树操作 - 完整的文件树结构管理
  • 🎨 标注功能 - 支持文本、路径、图片等多种标注类型
  • 📄 PDF 处理 - 上传、查看和管理 PDF 文件
  • 🖼️ 图片管理 - 图片上传和列表功能
  • 🔄 实时同步 - 基于 Socket.IO 的实时数据同步
  • 🔌 多平台支持 - 支持 Claude Desktop、Claude Code、CodeX 等

📋 目录

🚀 安装

前置要求

  • Node.js >= 18
  • pnpm (推荐) 或 npm/yarn
  • 运行中的讲了么(WhkerDB)服务器或访问在线服务

安装步骤

# 克隆仓库
git clone https://github.com/A-Quark2005/whkerdb-mcp.git
cd whkerdb-mcp

# 安装依赖
pnpm install

# 构建项目
pnpm build

🎯 快速开始

命令行模式(stdio)

# 设置服务器地址(可选,默认 https://share.whkerdb.top)
export WHKERDB_SERVER_URL=https://share.whkerdb.top

# 启动 MCP 服务器
pnpm start

使用 MCP Inspector 测试

npx @modelcontextprotocol/inspector stdio node dist/index.js

🔌 集成指南

Claude Desktop

在 Claude Desktop 配置文件中添加以下配置:

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "whkerdb": {
      "command": "node",
      "args": ["/absolute/path/to/whkerdb-mcp/dist/index.js"],
      "env": {
        "WHKERDB_SERVER_URL": "https://share.whkerdb.top"
      }
    }
  }
}

Claude Code (CLI)

使用命令行添加项目级配置(配置会写入项目根目录的 .mcp.json):

# Windows PowerShell
claude mcp add -s project whkerdb node C:\path\to\whkerdb-mcp\dist\index.js -e WHKERDB_SERVER_URL=https://share.whkerdb.top

# macOS/Linux
claude mcp add -s project whkerdb node /path/to/whkerdb-mcp/dist/index.js -e WHKERDB_SERVER_URL=https://share.whkerdb.top

CodeX (Codex CLI)

命令行方式:

# Windows PowerShell
codex mcp add whkerdb --env WHKERDB_SERVER_URL=https://share.whkerdb.top -- node C:\path\to\whkerdb-mcp\dist\index.js

# macOS/Linux
codex mcp add whkerdb --env WHKERDB_SERVER_URL=https://share.whkerdb.top -- node /path/to/whkerdb-mcp/dist/index.js

配置文件方式(~/.codex/config.toml):

[mcp_servers.whkerdb]
command = "node"
args = ['/path/to/whkerdb-mcp/dist/index.js']

[mcp_servers.whkerdb.env]
WHKERDB_SERVER_URL = "https://share.whkerdb.top"

MCP Inspector 测试

使用 MCP Inspector 进行交互式测试和调试:

npx @modelcontextprotocol/inspector stdio node dist/index.js

📚 API 文档

工具列表

房间管理

工具 描述
whkerdb_create_room 创建新房间
whkerdb_join_room 加入房间(支持房间 ID 或邀请码)
whkerdb_get_room_info 获取房间信息
whkerdb_list_rooms 列出已加入的房间
whkerdb_export_snapshot 导出房间快照
whkerdb_leave_room 离开房间

笔记树操作

工具 描述
whkerdb_get_note_tree 获取笔记树结构
whkerdb_add_file 添加文件节点
whkerdb_add_page 添加页面节点
whkerdb_delete_node 删除节点
whkerdb_move_node 移动节点
whkerdb_update_node 更新节点属性
whkerdb_get_node 获取节点详情

标注对象

工具 描述
whkerdb_get_page_objects 获取页面对象
whkerdb_add_text 添加文本标注
whkerdb_add_path 添加路径(画笔/高亮笔)
whkerdb_add_image 添加图片
whkerdb_update_object 更新对象属性
whkerdb_delete_object 删除对象

PDF 操作

工具 描述
whkerdb_upload_pdf 上传 PDF 文件
whkerdb_list_pdfs 列出房间内 PDF
whkerdb_get_pdf_info 获取 PDF 信息

图片操作

工具 描述
whkerdb_upload_image 上传图片
whkerdb_list_images 列出房间内图片

资源 URI

说明:带 {} 的为资源模板(resources/templates/list);加入房间后也可以通过 resources/list 获取当前房间的实际资源 URI。

URI 描述
whkerdb://rooms 房间列表
whkerdb://rooms/{roomId} 房间详情
whkerdb://rooms/{roomId}/tree 笔记树结构
whkerdb://rooms/{roomId}/pages/{nodeId} 页面内容
whkerdb://pdfs/{pdfId}/info PDF 信息

💡 使用示例

示例 1: 创建房间并添加内容

// 1. 创建房间
whkerdb_create_room({ name: "我的项目" })

// 2. 加入房间
whkerdb_join_room({ roomId: "room-id" })

// 3. 创建文件节点
whkerdb_add_file({ 
  parentId: "root", 
  name: "文档.pdf" 
})

// 4. 添加页面
whkerdb_add_page({ 
  parentId: "file-id", 
  name: "第1页" 
})

// 5. 添加文本标注
whkerdb_add_text({
  pageId: "page-id",
  content: "这是重要注释",
  x: 100,
  y: 200
})

示例 2: 上传 PDF 并标注

// 1. 加入房间
whkerdb_join_room({ roomId: "room-id" })

// 2. 上传 PDF(自动创建节点)
whkerdb_upload_pdf({
  filePath: "/path/to/document.pdf",
  name: "文档.pdf"
})

// 3. 查看树结构
whkerdb_get_note_tree({ roomId: "room-id" })

// 4. 在页面上添加标注
whkerdb_add_text({
  pageId: "page-id",
  content: "需要重点注意",
  x: 150,
  y: 300
})

🛠️ 开发

项目结构

whkerdb-mcp/
├── src/
│   ├── client/          # 讲了么MCP客户端实现
│   ├── resources/       # MCP 资源定义
│   ├── tools/           # MCP 工具实现
│   │   ├── roomTools.ts
│   │   ├── treeTools.ts
│   │   ├── objectTools.ts
│   │   ├── pdfTools.ts
│   │   └── imageTools.ts
│   ├── server.ts        # MCP 服务器配置
│   └── index.ts         # 入口文件
├── dist/                # 编译输出
├── bin/                 # 可执行文件
└── package.json

开发命令

# 开发模式(监听文件变化)
pnpm dev

# 构建项目
pnpm build

# 启动服务器
pnpm start

# 启动 stdio 模式
pnpm start:stdio

技术栈

  • TypeScript - 类型安全
  • @modelcontextprotocol/sdk - MCP 协议实现
  • Socket.IO Client - 实时通信
  • tsup - 构建工具

⚙️ 环境变量

变量 描述 默认值
WHKERDB_SERVER_URL 讲了么(WhkerDB)服务器地址 https://share.whkerdb.top

⚠️ 注意事项

  1. 服务器要求: 使用工具前需要确保讲了么(WhkerDB)服务器可访问(默认使用在线服务 https://share.whkerdb.top,也可配置本地服务器)
  2. 房间上下文: 大部分工具需要先加入房间(使用 whkerdb_join_room)
  3. 文件上传: 支持本地文件路径或 Base64 编码
  4. 实时同步: 所有操作会通过 Socket.IO 实时同步到其他连接的客户端
  5. 路径配置: 在配置文件中使用绝对路径,避免相对路径问题

🤝 贡献

欢迎提交 Issue 和 Pull Request!

🔗 相关链接

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选