一键导入
feishu-docs
通过飞书远程 MCP 服务查询和操作飞书云文档。支持搜索文档、读取文档内容、创建/更新文档、查看知识库目录、获取评论等。触发条件:(1) 查询飞书文档,(2) 搜索飞书云文档内容,(3) 读取飞书文档/知识库,(4) 创建或更新飞书文档,(5) 同步飞书文档内容到本地,(6) 查看飞书文档评论。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
通过飞书远程 MCP 服务查询和操作飞书云文档。支持搜索文档、读取文档内容、创建/更新文档、查看知识库目录、获取评论等。触发条件:(1) 查询飞书文档,(2) 搜索飞书云文档内容,(3) 读取飞书文档/知识库,(4) 创建或更新飞书文档,(5) 同步飞书文档内容到本地,(6) 查看飞书文档评论。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
工作流度量仪表盘 Skill。一条命令扫描 pm-assistant 项目目录的本地产物(gate-results JSON、PRD 文档、wireframes、hifi-wireframes),生成含 Chart.js 图表的自包含 HTML 仪表盘(dashboard.html)。展示:7 阶段流程进度时间轴、产物统计卡片(Module PRD 数 / 低保真原型数 / 高保真原型数 / Gate 评审轮次)、Gate 评审雷达图 + 堆叠条形图(pass/warn/fail)、待改进事项清单。触发条件:(1) 查看/生成项目指标或度量,(2) 生成工作流仪表盘,(3) 可视化 Gate 评审结果,(4) 流程健康检查,(5) 产物覆盖率统计,(6) 生成 dashboard,(7) 查看评审进度或产物状态。
文档质量 Lint 检查 Skill。对 PRD、架构文档进行结构化 Lint 检查,自动生成需求追溯矩阵(RTM),追踪 Gate Warning 闭环。触发条件:(1) PRD Lint/文档检查,(2) 架构文档 Lint,(3) 生成 RTM/需求追溯矩阵,(4) Warning 追踪/扫描,(5) 文档质量检查,(6) Gate 预检,(7) doc-lint。
工作流度量仪表盘 Skill。一条命令扫描 pm-assistant 项目目录的本地产物(gate-results JSON、PRD 文档、wireframes、hifi-wireframes),生成含 Chart.js 图表的自包含 HTML 仪表盘(dashboard.html)。展示:7 阶段流程进度时间轴、产物统计卡片(Module PRD 数 / 低保真原型数 / 高保真原型数 / Gate 评审轮次)、Gate 评审雷达图 + 堆叠条形图(pass/warn/fail)、待改进事项清单。触发条件:(1) 查看/生成项目指标或度量,(2) 生成工作流仪表盘,(3) 可视化 Gate 评审结果,(4) 流程健康检查,(5) 产物覆盖率统计,(6) 生成 dashboard,(7) 查看评审进度或产物状态。
技术架构设计 Skill。根据产品需求文档(PRD)设计完整的技术架构方案,输出结构化的架构设计文档。覆盖技术栈选型、系统架构、数据模型、API 设计、部署方案、非功能需求、安全设计等。触发条件:(1) 设计技术架构,(2) 从 PRD 推导技术方案,(3) 系统设计/技术选型,(4) 数据库设计,(5) API 设计,(6) 部署架构设计。
代码审查规范 Skill。对代码进行系统化审查,按 MUST/SHOULD/NIT 三级分类输出审查意见,覆盖正确性、安全性、可维护性、性能、规范性五大维度。触发条件:(1) 代码审查/Code Review,(2) PR Review/Pull Request 审查,(3) 审查代码质量,(4) MUST/SHOULD/NIT 分级审查,(5) 代码走查,(6) 审查这个 PR。
LLM-as-Judge 文档质量评估 Skill。利用大模型对 PRD 和架构文档进行深层语义质量评估,超越结构 Lint 检测「写了但写得不好」的问题。触发条件:(1) 文档质量评估/评审,(2) LLM-as-Judge,(3) PRD 语义审查,(4) 架构文档深度评审,(5) doc-quality-judge,(6) 文档语义评分。
| name | feishu-docs |
| description | 通过飞书远程 MCP 服务查询和操作飞书云文档。支持搜索文档、读取文档内容、创建/更新文档、查看知识库目录、获取评论等。触发条件:(1) 查询飞书文档,(2) 搜索飞书云文档内容,(3) 读取飞书文档/知识库,(4) 创建或更新飞书文档,(5) 同步飞书文档内容到本地,(6) 查看飞书文档评论。 |
通过飞书远程 MCP 服务(https://mcp.feishu.cn/mcp)与飞书云文档交互。
使用前必须设置认证凭证(二选一):
# 方式 1: 用户身份(推荐,可搜索文档)
export FEISHU_MCP_UAT="u-xxxxxxxxxxxxxxxxxxxxxxxx"
# 方式 2: 应用身份(服务端调用)
export FEISHU_MCP_TAT="t-xxxxxxxxxxxxxxxxxxxxxxxx"
获取方式:
user_access_token/open-apis/auth/v3/tenant_access_token/internal 获取本 Skill 提供了 feishu-oauth.sh 脚本,完整实现 OAuth 2.0 授权码流程:
前置条件:
http://localhost:8080/callbackexport FEISHU_APP_ID="cli_xxxxxxxx" # 应用 App ID
export FEISHU_APP_SECRET="xxxxxxxx" # 应用 App Secret
执行认证:
./.agents/skills/feishu-docs/scripts/feishu-oauth.sh
脚本会自动:
code(有效期 5 分钟,仅可使用一次)code + client_id + client_secret 调用 POST https://open.feishu.cn/open-apis/authen/v2/oauth/token 换取 user_access_token~/.feishu_mcp_token自定义选项:
# 自定义端口
./.agents/skills/feishu-docs/scripts/feishu-oauth.sh --port 9090
# 自定义权限范围
./.agents/skills/feishu-docs/scripts/feishu-oauth.sh --scope "offline_access docx:document:readonly"
认证成功后设置环境变量:
export FEISHU_MCP_UAT=$(cat ~/.feishu_mcp_token)
在飞书开放平台为自建应用申请以下权限:
| 权限 | Scope | 用途 |
|---|---|---|
| 搜索云文档 | search:docs:read | search-doc |
| 查看新版文档 | docx:document:readonly | fetch-doc |
| 管理新版文档 | docx:document | create-doc, update-doc |
| 查看知识库 | wiki:wiki:readonly | list-docs, fetch-doc |
| 获取文档评论 | docs:document.comment:read | get-comments |
| 添加文档评论 | docs:document.comment:create | add-comments |
| 搜索用户 | contact:user:search | search-user |
| 获取通讯录信息 | contact:contact.base:readonly | get-user |
| 下载文档附件 | docs:document.media:download | fetch-file |
以下命令默认在仓库根目录执行。
本 Skill 提供两种脚本调用飞书远程 MCP:
SCRIPT="./.agents/skills/feishu-docs/scripts/feishu-mcp.sh"
✅ 推荐用于创建/更新文档:Python 的
json.dumps()能可靠处理 Markdown 中的换行、引号、反引号等特殊字符,避免 Shell JSON 转义问题。
PY_SCRIPT="./.agents/skills/feishu-docs/scripts/feishu-mcp.py"
基本用法:
# 初始化连接
python3 "$PY_SCRIPT" initialize
# 列出可用工具
python3 "$PY_SCRIPT" tools/list
# 调用工具(直接传 JSON 参数)
python3 "$PY_SCRIPT" tools/call search-doc '{"query": "编码规范"}'
# 从文件读取内容创建文档(自动处理 JSON 转义)
python3 "$PY_SCRIPT" tools/call create-doc --content-file docs/prd.md '{"title": "PRD 文档"}'
# 长文档批量上传(自动分批:create → overwrite → append)
python3 "$PY_SCRIPT" tools/call create-doc --batch-file docs/long-doc.md --title "长文档标题"
# 指定知识空间节点
python3 "$PY_SCRIPT" tools/call create-doc --batch-file docs/prd.md --title "PRD" --wiki-node "节点token"
# 调试模式(显示请求/响应详情)
FEISHU_MCP_DEBUG=1 python3 "$PY_SCRIPT" tools/call fetch-doc '{"doc_id": "xxxxxx"}'
--content-file vs --batch-file:
| 参数 | 说明 | 适用场景 |
|---|---|---|
--content-file | 读取文件内容作为 markdown 参数,单次请求发送 | 短文档(<4000 字符) |
--batch-file | 自动按 ## 章节分割,分批创建+写入 | 长文档(>4000 字符) |
在执行任何操作前,先检查环境变量是否已设置:
# 检查认证
if [[ -n "${FEISHU_MCP_UAT:-}" ]] || [[ -n "${FEISHU_MCP_TAT:-}" ]]; then
echo "✅ 认证已配置"
else
echo "❌ 请先设置 FEISHU_MCP_UAT 或 FEISHU_MCP_TAT"
fi
如果未设置,提示用户设置环境变量后再继续。
"$SCRIPT" initialize
确认返回 protocolVersion 和 serverInfo 即表示连接成功。若连接失败,根据一键获取 UAT流程完成认证后再试。
根据用户需求选择对应工具。
搜索飞书云文档(仅支持 UAT):
"$SCRIPT" tools/call search-doc '{"query": "搜索关键词"}'
适用场景:
根据文档 ID 或链接获取完整内容(支持分段读取超长文档):
"$SCRIPT" tools/call fetch-doc '{"doc_id": "xxxxxx"}'
也支持传入文档 URL(自动解析):
"$SCRIPT" tools/call fetch-doc '{"doc_id": "https://xxx.feishu.cn/docx/xxxxxx"}'
适用场景:
在"我的文档库"或指定知识空间下创建新文档。
⚠️ 参数说明:内容参数名为
markdown(不是content);位置参数为wiki_node/wiki_space/folder_token三选一(互斥)。
适用于简短内容(无复杂格式、无换行):
"$SCRIPT" tools/call create-doc '{"title": "文档标题", "markdown": "简短的纯文本内容"}'
在知识空间下创建:
"$SCRIPT" tools/call create-doc '{"title": "PRD 文档", "markdown": "内容", "wiki_node": "知识空间节点 token"}'
对于包含换行、引号等特殊字符的长 Markdown 文件,使用 Python 构造 JSON 并通过 curl 管道发送:
export FEISHU_MCP_UAT=$(cat ~/.feishu_mcp_token)
python3 -c "
import json, sys
content = open('docs/prd.md').read()
body = json.dumps({
'jsonrpc': '2.0', 'id': 1,
'method': 'tools/call',
'params': {
'name': 'create-doc',
'arguments': {'title': 'PRD 文档', 'markdown': content}
}
})
sys.stdout.write(body)
" | curl -sS -X POST 'https://mcp.feishu.cn/mcp' \\
-H 'Content-Type: application/json' \\
-H \"X-Lark-MCP-UAT: \${FEISHU_MCP_UAT}\" \\
-H 'X-Lark-MCP-Allowed-Tools: create-doc,update-doc' \\
-d @-
⚠️ 长文档最佳实践:对于超过 4000 字符的文档,推荐先用
create-doc只传title(不传markdown)创建空文档,然后用update-doc的overwrite+append模式分批写入内容。详见下方「长文档分批写入」。
适用场景:
⚠️ 参数说明:文档 ID 参数名为
doc_id(不是docID);内容参数名为markdown(不是content);mode参数必填。
支持的 mode 值:
| mode | 说明 |
|---|---|
overwrite | 覆盖文档全部内容 |
append | 在文档末尾追加内容 |
replace_range | 替换指定范围的内容 |
replace_all | 替换所有匹配内容 |
insert_after | 在指定位置后插入 |
delete_range | 删除指定范围 |
"$SCRIPT" tools/call update-doc '{"doc_id": "文档ID", "markdown": "新内容", "mode": "overwrite"}'
"$SCRIPT" tools/call update-doc '{"doc_id": "文档ID", "markdown": "追加内容", "mode": "append"}'
对于超长文档(>4000 字符),推荐以下流程:
create-doc 只传 titleupdate-doc mode=overwrite 写入前半部分update-doc mode=append 逐批追加# 示例:Python 分批上传
import json, subprocess, os
uat = open(os.path.expanduser('~/.feishu_mcp_token')).read().strip()
content = open('docs/long-doc.md').read()
# 按 ## 章节分割,每批 ~4000 字符
chunks = split_by_sections(content, max_chars=4000)
for i, chunk in enumerate(chunks):
mode = 'overwrite' if i == 0 else 'append'
call_mcp('update-doc', {'doc_id': DOC_ID, 'markdown': chunk, 'mode': mode})
适用场景:
获取指定知识空间节点下的文档列表:
"$SCRIPT" tools/call list-docs '{"wiki_token": "知识空间节点token"}'
适用场景:
获取文档中的全文评论和划词评论:
"$SCRIPT" tools/call get-comments '{"doc_id": "文档ID"}'
支持筛选评论类型:all(默认)、whole(全文评论)、segment(划词评论):
"$SCRIPT" tools/call get-comments '{"doc_id": "文档ID", "comment_type": "segment"}'
在文档中添加全文评论(使用 elements 富文本数组,非简单 content 字符串):
"$SCRIPT" tools/call add-comments '{"doc_id": "文档ID", "elements": [{"type": "text", "text": "评论内容"}]}'
支持 @用户 和超链接(需先用 search-user 获取 open_id):
"$SCRIPT" tools/call add-comments '{"doc_id": "文档ID", "elements": [{"type": "text", "text": "请查看 "}, {"type": "mention", "open_id": "ou_xxx"}, {"type": "link", "url": "https://example.com"}]}'
根据关键词搜索企业内用户(仅 UAT):
"$SCRIPT" tools/call search-user '{"query": "姓名或邮箱"}'
获取文档中嵌入的图片或附件(≤5MB):
"$SCRIPT" tools/call fetch-file '{"resource_token": "文件token"}'
获取画板内容:
"$SCRIPT" tools/call fetch-file '{"resource_token": "画板token", "type": "whiteboard"}'
当用户要求读取文档时,执行以下流程:
fetch-doc 获取原始内容result.content[0].text 字段当搜索文档时:
search-doc 获取结果| 错误码 | 含义 | 处理方式 |
|---|---|---|
| -32011 | 缺少凭证 | 提示用户设置 FEISHU_MCP_UAT 或 FEISHU_MCP_TAT |
| -32003 | Token 过期 | 提示用户重新获取 Token |
| -32601 | 工具不存在 | 检查工具名称拼写 |
| -32030 | 频率限制 | 等待后重试 |
| -32603 | 服务端错误 | 重试,持续失败则报告 |
| -32700 | 无效 JSON | 检查请求体 JSON 格式,长文本建议用 Python 构造 |
| VALIDATION:1002 | 参数校验失败 | 检查必填参数(如 mode、markdown)是否遗漏 |
⚠️ 以下参数名经实际 API 验证,与部分旧文档可能不同。
| 工具 | 关键参数 | 说明 |
|---|---|---|
create-doc | title, markdown, wiki_node/wiki_space/folder_token | 内容用 markdown(非 content),位置参数三选一互斥 |
update-doc | doc_id, markdown, mode | mode 必填(overwrite/append/replace_range 等) |
fetch-doc | doc_id, limit, offset | doc_id 支持文档 ID 或 URL 自动解析 |
get-comments | doc_id, comment_type, page_size | comment_type: all/whole/segment |
add-comments | doc_id, elements | elements 为富文本数组(type: text/mention/link) |
fetch-file | resource_token, type | type: media(默认)/whiteboard |
search-doc | query | 仅 UAT 可用 |
search-user | query | 仅 UAT 可用 |
search-doc 仅支持 UAT(用户身份),TAT 无法搜索fetch-file 文件大小限制 5MBcreate-doc 建空文档,再 update-doc overwrite + append 分批写入update-doc 的 mode 参数是必填的,遗漏会返回 VALIDATION:1002 错误create-doc(标题 + 前半部分) → update-doc(续写剩余)# 1. 设置认证
export FEISHU_MCP_UAT="u-your-token-here"
# 2. 初始化连接
./.agents/skills/feishu-docs/scripts/feishu-mcp.sh initialize
# 3. 搜索文档
./.agents/skills/feishu-docs/scripts/feishu-mcp.sh tools/call search-doc '{"query": "编码规范"}'
# 4. 读取文档
./.agents/skills/feishu-docs/scripts/feishu-mcp.sh tools/call fetch-doc '{"doc_id": "xxxxxx"}'
# 1. 设置认证
export FEISHU_MCP_UAT="u-your-token-here"
# 2. 初始化连接
python3 ./.agents/skills/feishu-docs/scripts/feishu-mcp.py initialize
# 3. 搜索文档
python3 ./.agents/skills/feishu-docs/scripts/feishu-mcp.py tools/call search-doc '{"query": "编码规范"}'
# 4. 上传本地 Markdown 文件
python3 ./.agents/skills/feishu-docs/scripts/feishu-mcp.py tools/call create-doc --content-file docs/prd.md '{"title": "PRD 文档"}'
# 5. 长文档批量上传(自动分批)
python3 ./.agents/skills/feishu-docs/scripts/feishu-mcp.py tools/call create-doc --batch-file docs/long-doc.md --title "长文档"