Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Feishu/Lark MCP server + CLI tool. 85 tools, 3 auth layers. Send as user via cookie+protobuf.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
LARK_COOKIE, LARK_APP_ID, LARK_APP_SECRET, LARK_USER_ACCESS_TOKEN, LARK_USER_REFRESH_TOKEN标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"feishu-user-plugin": {
"command": "npx",
"args": [
"-y",
"feishu-user-plugin"
],
"env": {
"LARK_COOKIE": "your-value",
"LARK_APP_ID": "your-value",
"LARK_APP_SECRET": "your-value",
"LARK_USER_ACCESS_TOKEN": "your-value",
"LARK_USER_REFRESH_TOKEN": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add feishu-user-plugin --env LARK_COOKIE=your-value --env LARK_APP_ID=your-value --env LARK_APP_SECRET=your-value --env LARK_USER_ACCESS_TOKEN=your-value --env LARK_USER_REFRESH_TOKEN=your-value -- npx -y feishu-user-plugin运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"feishu-user-plugin": {
"command": "npx",
"args": [
"-y",
"feishu-user-plugin"
],
"env": {
"LARK_COOKIE": "your-value",
"LARK_APP_ID": "your-value",
"LARK_APP_SECRET": "your-value",
"LARK_USER_ACCESS_TOKEN": "your-value",
"LARK_USER_REFRESH_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"feishu-user-plugin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"feishu-user-plugin"
],
"env": {
"LARK_COOKIE": "your-value",
"LARK_APP_ID": "your-value",
"LARK_APP_SECRET": "your-value",
"LARK_USER_ACCESS_TOKEN": "your-value",
"LARK_USER_REFRESH_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
LARK_APP_ID env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 EthanQC 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:LARK_COOKIE, LARK_APP_SECRET, LARK_USER_ACCESS_TOKEN, LARK_USER_REFRESH_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.3.14)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, FlyDocs
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
中文 · English · Docs · CHANGELOG · npm
飞书 / Lark MCP 服务器,覆盖 IM、文档、多维表格、知识库、云空间、日历、任务 v2、OKR、实时事件。85 工具 · 3 层鉴权 · 9 MCP prompts · MIT licensed · Node ≥18。
兼容 Claude Code、Codex、Cursor、Windsurf、VS Code、Claude Desktop、OpenClaw 等 MCP 客户端。
用户身份发消息有两条路径:飞书官方 OAuth scope `im:message.send_as_user`(需要创建自建应用 + 管理员审批),或本仓的 cookie + protobuf 路径(cookie 抓出来就跑)。本仓不再是物理性独家,但仍然是"个人开发者 / 没有管理员权限 / 想快速试用户身份发消息"场景的简便选项。
⚠ 注意限定范围:cookie 路径"零应用门槛"只对纯文本 / post 类用户身份发消息严格成立:
send_to_user/send_to_group/send_as_user/send_post_as_user/batch_send(text/post 模式)5 个工具。send_image_as_user/send_file_as_user的发送本身走 cookie,但image_key/file_key必须先经 Official API(upload_image/upload_file)上传;send_card_as_user服务端禁了 cookie 通道,始终走 bot。本仓其他能力(读群消息、操作文档 / 表格 / 知识库 / 云空间 / 日历 / 任务 / OKR / 实时事件等)也仍然需要创建飞书自建应用(LARK_APP_ID+LARK_APP_SECRET),跟官方 MCP / CLI 完全一样。
larksuite/lark-openapi-mcp —— 官方 OpenAPI MCP,⚠ Beta + 最后更新 2025-08(9 个月前),README 明文不支持文件上传下载、不支持文档编辑;1271 个 endpoint 工具但 preset.default 仅 ~20,其余"未做兼容性测试"larksuite/cli —— 官方 CLI(9.9k stars,活跃),17 业务域 200+ commands + 24 AI Agent Skills,已支持 `+messages-send --as user`(走 OAuth scope im:message.send_as_user),但 CLI 形态而不是 MCP,Codex / Cursor / Windsurf 等用它要 shell out什么时候用本仓:
什么时候用官方:需要邮件 / 审批 / 考勤 / HR / 招聘 / 会议纪要等业务系统域;或已有飞书应用 + 管理员批了 OAuth scope,偏好官方长期稳定路径。
完整诚实对比见 docs/COMPARISON.md。
你:帮我以我身份给王小明发:今天的代码 review 我看完了,有 3 个 nit
Claude:[调用 send_to_user] Sent
你:总结"工程组"群今天 9 点之后的讨论,发个日报到 #日报频道 Claude:[read_messages → 总结 → send_to_group] Sent
npx feishu-user-plugin setup --app-id <APP_ID> --app-secret <APP_SECRET>
npx feishu-user-plugin oauth # 拿用户 OAuth UAT
cookie 获取(Playwright 自动扫码 / DevTools 手动)、创建飞书应用、各客户端配置详见 docs/AUTH-SETUP.md。
| 鉴权层 | 凭证 | 覆盖能力 | 工具数 |
|---|---|---|---|
| 用户身份(cookie + protobuf) | LARK_COOKIE | 以用户身份发文本 / 图片 / 文件 / 富文本 / @ / 批量 | 8 |
| 官方 API(机器人) | LARK_APP_ID + LARK_APP_SECRET | 群消息读写、文档、多维表格、知识库、云空间、日历、任务 v2、OKR、联系人、实时事件 WS | 70+ |
| 用户 OAuth UAT | LARK_USER_ACCESS_TOKEN + LARK_USER_REFRESH_TOKEN | P2P 私聊读取、用户 chat 列表;写入文档 / Bitable / 日历 资源时以用户为 owner | 2 显式 + 全工具 UAT-first |
三层独立 —— 配置任意一层,对应工具可用。
send_as_usermerge_forward 自动展开 / URL + 飞书文档链接自动提取 / 外部群自动 fallback 到 UATread_doc_markdown 省 ~60% token)/ 多维表格(500 条批量)/ 知识库(含 write CRUD)/ 云空间完整工具列表 + 跨域 caveat + 用法 patterns 见 docs/TOOLS.md。
| Prompt | 说明 |
|---|---|
/send | 以用户身份发消息 |
/reply | 读最近消息然后回 |
/digest | 群 / P2P 最近消息总结 |
/search | 搜联系人 / 群 |
/doc | 搜 / 读 / 建文档 |
/table | 操作多维表格 |
/wiki | 搜知识库 |
/drive | 列云空间 / 建文件夹 |
/status | 检查三层鉴权状态 |
环境变量统一,配置文件位置和顶层键不同:
| 客户端 | 配置文件 | 顶层键 |
|---|---|---|
| Claude Code | ~/.claude.json(推荐全局)/ .mcp.json | mcpServers.feishu-user-plugin |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) | mcpServers.feishu |
| Codex | ~/.codex/config.toml | [mcp_servers.feishu-user-plugin] |
| Cursor | .cursor/mcp.json(项目级) | mcpServers.feishu |
| VS Code (Copilot) | .vscode/mcp.json | servers.feishu(注意 servers,非 mcpServers) |
| OpenClaw | ~/.openclaw/openclaw.json | mcp.servers.feishu-user-plugin |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers.feishu |
npx feishu-user-plugin setup # Claude Code
npx feishu-user-plugin setup --client codex # Codex npx feishu-user-plugin setup --client both # 都写
各客户端完整 JSON 模板见 README.en.md MCP Client Configuration;详细安装与凭证流程见 docs/AUTH-SETUP.md。
~/.feishu-user-plugin/credentials.json 支持多 profile(默认 + 任意附加),单台机器一处配置覆盖多个飞书账号 / 多个企业。
npx feishu-user-plugin list-profiles
npx feishu-user-plugin switch-profile npx feishu-user-plugin keepalive --all # 跨 profile keepalive
读路径工具失败码 91403 / 1254301 / 1254000 / 99991672 / HTTP 403 时自动跨 profile retry。写路径不自动切(避免错号创建资源)。单调用覆盖:传 via_profile: " " 钉到指定 profile。
详见 docs/TOOLS.md "多 profile auto-switch"。
机器上单进程持有 WS owner 锁,所有 MCP 进程共享 events.jsonl,每条事件全机恰好一次。
mcp call manage_ws_status --action info
mcp call manage_ws_status --action claim --force true
默认订阅 ["im.message.receive_v1"]。要订阅审批 / 日历 / vc 等其他事件,编辑 credentials.json::profiles[ ].events,然后 manage_ws_status(action=reconfig) 不重启重新订阅。
仅支持 feishu.cn —— Lark 国际版(lark.com)的 WSClient 当前不支持。
| 文档 | 角色 |
|---|---|
| docs/TOOLS.md | 工具详细 + 跨域 caveat + 用法 patterns |
| docs/AUTH-SETUP.md | 安装 / 三层鉴权 / Cookie 抓取 / OAuth Scopes |
| docs/TROUBLESHOOTING.md | 错误码与诊断 |
| docs/RELEASING.md | 发版流程 + team-skills 同步 + 公告规则 |
| docs/REFACTOR-NOTES.md | 文件职责矩阵 |
| docs/CREDENTIALS-FORMAT.md | 凭证 schema |
| docs/TESTING-METHODOLOGY.md | 测试方法 |
| CONTRIBUTING.md | 贡献流程(中英双语) |
| ROADMAP.md | 路线图(forward-only) |
| CHANGELOG.md | 历史变更 |
完整 docs/ 索引:docs/README.md。
Issues / PR 欢迎。提交前先看 CONTRIBUTING.md。
飞书改协议导致功能挂掉 —— 开 issue 带错误日志即可。
本地运行的 MCP 服务器,凭证留在用户本机,不上报遥测,不与插件作者后台通信。完整文本见 PRIVACY.md。
LARK_COOKIE / LARK_APP_ID / LARK_APP_SECRET / LARK_USER_ACCESS_TOKEN / LARK_USER_REFRESH_TOKEN 全部由用户主动配置,来源于用户自己的飞书 / Lark 账号~/.feishu-user-plugin/credentials.json(mode 0600);可选事件日志 ~/.feishu-user-plugin/events.jsonl(10 MB / 20 MB 自动轮转)rm -rf ~/.feishu-user-plugin && npm uninstall -g feishu-user-plugin 即清空[security]A locally-run MCP server. Credentials stay on the user's machine; no telemetry, no phone-home. Full text at PRIVACY.md.
LARK_* envs are supplied by the user from their own Feishu / Lark account~/.feishu-user-plugin/credentials.json (mode 0600); optional event log at ~/.feishu-user-plugin/events.jsonlrm -rf ~/.feishu-user-plugin && npm uninstall -g feishu-user-plugin removes everything[security] prefix in the titleMIT