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.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม 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": "ใส่ค่าของคุณ",
"LARK_APP_ID": "ใส่ค่าของคุณ",
"LARK_APP_SECRET": "ใส่ค่าของคุณ",
"LARK_USER_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"LARK_USER_REFRESH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add feishu-user-plugin --env LARK_COOKIE='ใส่ค่าของคุณ' --env LARK_APP_ID='ใส่ค่าของคุณ' --env LARK_APP_SECRET='ใส่ค่าของคุณ' --env LARK_USER_ACCESS_TOKEN='ใส่ค่าของคุณ' --env LARK_USER_REFRESH_TOKEN='ใส่ค่าของคุณ' -- 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": "ใส่ค่าของคุณ",
"LARK_APP_ID": "ใส่ค่าของคุณ",
"LARK_APP_SECRET": "ใส่ค่าของคุณ",
"LARK_USER_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"LARK_USER_REFRESH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"feishu-user-plugin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"feishu-user-plugin"
],
"env": {
"LARK_COOKIE": "ใส่ค่าของคุณ",
"LARK_APP_ID": "ใส่ค่าของคุณ",
"LARK_APP_SECRET": "ใส่ค่าของคุณ",
"LARK_USER_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"LARK_USER_REFRESH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
LARK_APP_ID envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub EthanQC ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: LARK_COOKIE, LARK_APP_SECRET, LARK_USER_ACCESS_TOKEN, LARK_USER_REFRESH_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.3.14) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, HotCodePush
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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