飞书(Lark)全通道自动化。使用 lark-mcp 工具操作飞书多维表格(Bitable)、发送消息、管理文档、创建群组、自动化工作流等。当用户需要操作飞书平台、同步数据到飞书表格、发送飞书通知、管理飞书文档或自动化飞书业务流程时使用此技能。
飞书全通道自动化
使用 lark-mcp 工具实现飞书平台的全面自动化操作。
核心功能
1. 多维表格(Bitable)
创建多维表格和数据表
添加、修改、删除字段
增删改查记录数据
批量导入导出数据
数据筛选和排序
2. 消息发送
发送文本、富文本、卡片消息
群组消息和私聊消息
消息模板和交互式卡片
文件和图片发送
3. 文档管理
搜索云文档
创建新文档
编辑文档内容
文档权限管理
文档协作者管理
4. 群组管理
创建群组
添加/移除成员
获取群组列表
群组信息查询
5. 知识库(Wiki)
搜索知识库节点
获取节点详情
创建和管理知识库内容
6. 日历和任务
创建和查询日历事件
创建和管理任务
任务分配和跟踪
快速开始
检查 MCP 可用性
// 检查 lark-mcp 工具是否可用
// 可用工具前缀:mcp__lark-mcp_
发送测试消息
// 发送文本消息到群组
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxxxxxxxx",
msg_type: "text",
content: JSON.stringify({
text: "Hello from Clawdbot!"
})
});
工作流程
数据同步流程
连接数据源
转换数据格式
创建/更新多维表格
批量写入数据
发送通知
消息推送流程
触发事件(定时/事件驱动)
构建消息内容
获取接收者 ID
发送消息
记录日志
文档自动化流程
获取文档模板
填充内容
创建新文档
设置权限
分享给团队
API 工具参考
多维表格相关
createBitable - 创建多维表格
createTable - 创建数据表
addRecord - 添加记录
updateRecord - 更新记录
deleteRecord - 删除记录
searchRecords - 搜索记录
getRecord - 获取记录详情
消息相关
sendMessage - 发送消息
getMessages - 获取消息历史
replyMessage - 回复消息
文档相关
searchDocs - 搜索文档
createDoc - 创建文档
getDoc - 获取文档内容
updateDoc - 更新文档
setDocPermission - 设置文档权限
📄 Markdown 导入云文档(推荐方式)
最佳实践:将本地 Markdown 文件直接导入为飞书云文档,格式完整保留。
# 1. 获取 access_token
TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \
-H 'Content-Type: application/json' \
-d '{"app_id":"YOUR_APP_ID","app_secret":"YOUR_APP_SECRET"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('tenant_access_token',''))")
# 2. 上传 md 文件到飞书云盘
FILE_TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/files/upload_all' \
-H "Authorization: Bearer $TOKEN" \
-F "file_name=document.md" \
-F "parent_type=explorer" \
-F "parent_node=" \
-F "size=$(stat -c%s /path/to/document.md)" \
-F "file=@/path/to/document.md" \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('file_token',''))")
# 3. 导入为飞书云文档
TICKET=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/import_tasks' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"file_extension": "md",
"file_token": "'"$FILE_TOKEN"'",
"type": "docx",
"point": {"mount_type": 1, "mount_key": ""}
}' | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('ticket',''))")
# 4. 等待导入完成,获取文档链接
sleep 2
curl -s -X GET "https://open.feishu.cn/open-apis/drive/v1/import_tasks/$TICKET" \
-H "Authorization: Bearer $TOKEN" \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('data',{}).get('result',{}).get('url',''))"
支持的导入格式:
md → Markdown
docx → Word 文档
xlsx → Excel 表格
注意事项:
导入是异步操作,需要轮询 import_tasks/{ticket} 获取结果
mount_type: 1 表示导入到"我的空间"
导入后的文档 URL 格式:https://xxx.feishu.cn/docx/{token}
📤 完整输出云文档流程(标准操作)
每次输出云文档时,必须完成以下步骤:
生成本地 Markdown 文件
上传到飞书云盘 → drive/v1/files/upload_all
导入为云文档 → drive/v1/import_tasks
设置权限为组织内可编辑 → drive/v1/permissions/{token}/public
发送链接到目标群
# 完整流程脚本
TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \
-H 'Content-Type: application/json' \
-d '{"app_id":"APP_ID","app_secret":"APP_SECRET"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('tenant_access_token',''))")
# 1. 上传文件
FILE_TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/files/upload_all' \
-H "Authorization: Bearer $TOKEN" \
-F "file_name=document.md" \
-F "parent_type=explorer" \
-F "parent_node=" \
-F "size=$(stat -c%s document.md)" \
-F "file=@document.md" \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('file_token',''))")
# 2. 导入为云文档
TICKET=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/import_tasks' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"file_extension":"md","file_token":"'"$FILE_TOKEN"'","type":"docx","point":{"mount_type":1,"mount_key":""}}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('ticket',''))")
sleep 2
# 3. 获取文档 token
DOC_RESULT=$(curl -s -X GET "https://open.feishu.cn/open-apis/drive/v1/import_tasks/$TICKET" \
-H "Authorization: Bearer $TOKEN")
DOC_TOKEN=$(echo "$DOC_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('result',{}).get('token',''))")
DOC_URL=$(echo "$DOC_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('result',{}).get('url',''))")
# 4. 设置权限:组织内可编辑
curl -s -X PATCH "https://open.feishu.cn/open-apis/drive/v1/permissions/$DOC_TOKEN/public?type=docx" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"external_access_entity":"open","security_entity":"anyone_can_view","comment_entity":"anyone_can_view","share_entity":"anyone","link_share_entity":"tenant_editable"}'
# 5. 发送到群
curl -s -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"receive_id":"CHAT_ID","msg_type":"text","content":"{\"text\":\"📄 文档已上传:\\n\\n'"$DOC_URL"'\"}"}'
权限设置说明:
link_share_entity: "tenant_editable" → 组织内获得链接的人可编辑
comment_entity: "anyone_can_view" → 任何人可评论
share_entity: "anyone" → 任何人可分享
群组相关
createGroup - 创建群组
addMember - 添加成员
getGroupList - 获取群组列表
getGroupInfo - 获取群组信息
实用场景
1. 自动化日报收集
每日定时创建表格记录
成员填写日报
自动汇总统计
发送到群组
2. 审批流程
创建审批表格
监听状态变更
自动通知审批人
记录审批历史
3. 任务管理
创建任务表格
分配任务给成员
发送任务提醒
跟踪完成状态
4. 客户管理
客户信息表格
跟进记录
自动提醒
数据可视化
5. 报表生成
从表格提取数据
生成统计报表
创建飞书文档
定期推送更新
最佳实践
认证配置
使用提供的 App ID 和 App Secret
遵守 API 调用频率限制
缓存 access_token
数据操作
批量操作使用分页
数据写入前验证格式
错误处理和重试
记录操作日志
消息发送
使用交互式卡片提升体验
合理控制发送频率
避免发送敏感信息
支持用户交互
权限管理
最小权限原则
定期审查权限
协作者生命周期管理
错误处理
常见错误
权限不足 - 检查应用权限配置
限流错误 - 实现重试和等待
无效 ID - 验证用户/群组 ID 格式
网络错误 - 实现重试机制
重试策略
指数退避算法
最大重试次数限制
记录失败请求
通知管理员
安全注意事项
保护 App Secret
不要在日志中记录敏感信息
使用环境变量管理凭证
定期轮换访问令牌
遵守数据隐私法规
示例代码
创建多维表格并添加数据
// 创建多维表格
const bitable = await mcp__lark-mcp_createBitable({
name: "项目管理",
folder_token: "folder_token"
});
// 创建数据表
const table = await mcp__lark-mcp_createTable({
app_token: bitable.app_token,
table: {
name: "任务列表",
fields: [
{ field_name: "任务名称", type: 1 },
{ field_name: "负责人", type: 13 },
{ field_name: "状态", type: 3 },
{ field_name: "截止日期", type: 5 }
]
}
});
// 添加记录
await mcp__lark-mcp_addRecord({
app_token: bitable.app_token,
table_id: table.table_id,
fields: {
"任务名称": "完成项目文档",
"负责人": "user_id",
"状态": "进行中",
"截止日期": Date.now()
}
});
发送卡片消息
await mcp__lark-mcp_sendMessage({
receive_id: "chat_id",
msg_type: "interactive",
content: JSON.stringify({
config: {
wide_screen_mode: true
},
header: {
template: "turquoise",
title: {
content: "重要通知",
tag: "plain_text"
}
},
elements: [
{
tag: "div",
text: {
content: "**项目里程碑已完成**",
tag: "lark_md"
}
},
{
tag: "action",
actions: [
{
tag: "button",
text: {
content: "查看详情",
tag: "plain_text"
},
type: "primary",
url: "https://example.com"
}
]
}
]
})
});
批量导入数据
const data = [
{ name: "张三", phone: "13800138000" },
{ name: "李四", phone: "13900139000" }
];
for (const item of data) {
await mcp__lark-mcp_addRecord({
app_token: "app_token",
table_id: "table_id",
fields: {
"姓名": item.name,
"电话": item.phone
}
});
// 避免限流
await new Promise(resolve => setTimeout(resolve, 100));
}
配置验证
检查 MCP 服务器
# 检查 .claude.json 中的 lark-mcp 配置
cat ~/.claude.json | grep -A 15 "lark-mcp"
测试连接
// 发送测试消息验证连接
await mcp__lark-mcp_sendMessage({
receive_id: "your_chat_id",
msg_type: "text",
content: JSON.stringify({
text: "🎉 飞书 MCP 连接成功!"
})
});
进阶用法
Webhook 集成
监听飞书 Webhook 事件
自动触发工作流
实时数据同步
自动化定时任务
定时发送报告
自动数据备份
定期清理
跨平台集成
与 GitHub 集成(Issue 同步)
与邮件集成(通知推送)
与日历集成(日程管理)
故障排查
MCP 工具不可用
重启 Claude Desktop
检查网络连接
验证凭证是否有效
查看错误日志
API 调用失败
检查应用权限配置
验证用户/群组 ID
查看限流状态
检查数据格式
权限不足
登录飞书开放平台
检查应用权限范围
重新授权
等待权限生效don't have the plugin yet? install it then click "run inline in claude" again.