loading…
Search for a command to run...
loading…
A Model Context Protocol (MCP) server for Feishu (Lark) cloud document and wiki management. Supports OAuth, Markdown upload, document reading/updating/deleting,
A Model Context Protocol (MCP) server for Feishu (Lark) cloud document and wiki management. Supports OAuth, Markdown upload, document reading/updating/deleting, search, and multi-app configuration.
面向飞书云文档与知识库工作流的 MCP Server。
支持 OAuth、多应用配置、Markdown 上传/读取/更新/删除、知识库定位、本地图片与附件处理,以及本地与 Cloudflare Workers 运行。
mcp-feishu-doc 不是对飞书 OpenAPI 的简单直出,而是围绕“文档工作流”做的一层高阶封装。
它重点解决这三件事:
filePath 或 content,支持上传到 drive 或 wiki,支持 targetId 和 parentNodeToken。content + blocks + assets + revisionId,保留图片/附件在正文中的顺序。force 覆盖、原位置重建、修订号追踪。stdio、http、MCP Inspector、本地 mcp.json 配置。当前共内置 15 个工具:
| 工具名 | 说明 |
|---|---|
feishu_auth_url |
生成飞书 OAuth 2.0 授权链接 |
feishu_auth_callback |
处理飞书 OAuth 授权回调 |
feishu_upload_markdown |
上传 Markdown 文档到飞书云文档或知识库 |
feishu_update_document |
更新已有飞书文档,支持冲突检测 |
feishu_batch_upload_markdown |
批量上传多个 Markdown 文档 |
feishu_get_document |
读取文档内容,返回文本、块结构和媒体资源 |
feishu_delete_document |
删除飞书文档 |
feishu_search_documents |
搜索飞书文档 |
feishu_list_folders |
列出飞书云空间文件夹 |
feishu_list_wikis |
列出飞书知识库空间 |
feishu_list_wiki_nodes |
列出知识库节点 |
feishu_get_user_info |
获取当前飞书用户信息 |
feishu_set_default_app |
设置默认飞书应用 |
feishu_list_apps |
列出已配置的飞书应用 |
feishu_add_app |
添加新的飞书应用配置 |
工具注册入口见 src/mcp-server/tools/definitions/index.ts。
README.md、方案文档、周报、分享稿直接上传到飞书知识库git clone https://github.com/Hbin-Zhuang/mcp-feishu-doc.git
cd mcp-feishu-doc
pnpm install
复制示例配置:
cp .env.example .env
最少需要确认这些字段:
MCP_TRANSPORT_TYPEMCP_HTTP_PORTSTORAGE_PROVIDER_TYPESTORAGE_FILESYSTEM_PATHFEISHU_DEFAULT_APP_IDFEISHU_DEFAULT_APP_SECRETFEISHU_OAUTH_CALLBACK_URL推荐本地调试配置:
MCP_TRANSPORT_TYPE=stdio
MCP_LOG_LEVEL=debug
STORAGE_PROVIDER_TYPE="filesystem"
STORAGE_FILESYSTEM_PATH="./.storage"
FEISHU_OAUTH_CALLBACK_URL=http://localhost:3010/oauth/feishu/callback
如果你要用 OAuth 网页回调,建议再起一个 http 模式实例,或者直接使用 dev:http。
适合检查工具入参、快速点调、验证上传和读取。
pnpm run build
pnpm run inspector
说明:
pnpm run inspector 会基于 dist/index.js 启动服务。pnpm run build。STDIO 模式:
pnpm run dev:stdio
HTTP 模式:
pnpm run dev:http
说明:
dev:stdio 适合 MCP Client 或本地 SDK 客户端直接拉起。dev:http 适合调 OAuth 回调、HTTP 接入或浏览器调试。tsx watch src/index.ts,改代码会自动重启。仓库根目录自带一个示例配置文件 mcp.json。
它适合“构建后运行”的场景:
{
"mcpServers": {
"mcp-feishu-doc-local": {
"command": "node",
"args": ["./dist/index.js"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "debug",
"FEISHU_DEFAULT_APP_ID": "cli_your_app_id",
"FEISHU_DEFAULT_APP_SECRET": "your_app_secret",
"FEISHU_OAUTH_CALLBACK_URL": "http://localhost:3010/oauth/feishu/callback",
"STORAGE_PROVIDER_TYPE": "filesystem",
"STORAGE_FILESYSTEM_PATH": "./.storage"
}
}
}
}
使用步骤:
pnpm run buildmcp.json 中的 App ID / Secret 改成你自己的如果你想直接调试源码而不是 dist,可以改成这样:
{
"mcpServers": {
"mcp-feishu-doc-local-dev": {
"command": "pnpm",
"args": ["exec", "tsx", "src/index.ts"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "debug",
"FEISHU_DEFAULT_APP_ID": "cli_your_app_id",
"FEISHU_DEFAULT_APP_SECRET": "your_app_secret",
"FEISHU_OAUTH_CALLBACK_URL": "http://localhost:3010/oauth/feishu/callback",
"STORAGE_PROVIDER_TYPE": "filesystem",
"STORAGE_FILESYSTEM_PATH": "./.storage"
}
}
}
}
这个版本的优势是:
buildpnpm run build # 构建 dist
pnpm run dev:stdio # 源码热更新,STDIO
pnpm run dev:http # 源码热更新,HTTP
pnpm run start:stdio # 运行构建产物,STDIO
pnpm run start:http # 运行构建产物,HTTP
pnpm run inspector # 启动 MCP Inspector(依赖 dist)
pnpm run typecheck # TypeScript 类型检查
pnpm run lint # ESLint 检查
pnpm run test # 单元测试
pnpm run test:integration:feishu # 飞书集成测试
推荐:
pnpm run build
pnpm run inspector
推荐:
pnpm run dev:http
然后访问:
http://localhost:3010/oauth/feishu/authhttp://localhost:3010/oauth/feishu/callback推荐:
mcp.jsonmcpServers 配置复制到你的客户端配置文件推荐:
pnpm run dev:stdio
然后让本地 MCP Client 使用:
"command": "pnpm",
"args": ["exec", "tsx", "src/index.ts"]
所有配置在 src/config/index.ts 中统一解析并做 Zod 校验。
常用环境变量如下:
| 变量 | 说明 | 默认值 |
|---|---|---|
MCP_TRANSPORT_TYPE |
传输方式,stdio 或 http |
stdio |
MCP_HTTP_HOST |
HTTP 服务主机 | 127.0.0.1 |
MCP_HTTP_PORT |
HTTP 服务端口 | 3010 |
MCP_LOG_LEVEL |
日志级别 | debug |
STORAGE_PROVIDER_TYPE |
存储后端,推荐本地用 filesystem |
filesystem |
STORAGE_FILESYSTEM_PATH |
本地文件存储路径 | ./.storage |
FEISHU_DEFAULT_APP_ID |
默认飞书应用 ID | 无 |
FEISHU_DEFAULT_APP_SECRET |
默认飞书应用密钥 | 无 |
FEISHU_OAUTH_CALLBACK_URL |
飞书 OAuth 回调地址 | 无 |
OTEL_ENABLED |
是否启用 OpenTelemetry | false |
注意:本地调试时推荐使用
filesystem存储,否则 OAuth 凭证、文档元数据和默认应用信息不会持久保存。
filePath 和 contentdrive / wikitargetId 和 parentNodeTokentitlecontentblocksassetsrevisionIdforce 强制覆盖核心调用链如下:
MCP Tool Definition
-> FeishuService
-> FeishuApiProvider
-> MarkdownProcessorProvider
-> StorageService
对应目录:
src/mcp-server/tools/definitions:工具定义src/services/feishu:飞书服务编排与 API 调用src/storage:持久化与多后端抽象src/container:依赖注入src/utils:日志、性能、解析、遥测等横切能力| 目录 | 用途 |
|---|---|
src/mcp-server/tools/definitions |
MCP 工具定义 |
src/mcp-server/transports |
stdio / http 传输实现 |
src/services/feishu |
飞书文档与知识库核心逻辑 |
src/storage |
存储抽象和 Provider 实现 |
src/container |
依赖注入配置 |
src/utils |
日志、性能、解析、遥测 |
tests |
单元测试与集成测试 |
docs |
设计、开发与技术分享文档 |
pnpm run typecheck
pnpm run lint
pnpm run test
pnpm run test:integration:feishu
pnpm run build
pnpm run start:stdio
或:
pnpm run build
pnpm run start:http
pnpm run deploy:dev
pnpm run deploy:prod
本项目基于 Apache 2.0 许可证发布,详见 LICENSE。
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"feishu-doc": {
"command": "npx",
"args": [
"-y",
"@hibson/mcp-feishu-doc"
]
}
}
}PRs, issues, code search, CI status
автор: GitHubDatabase, auth and storage
автор: SupabaseReference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.