飞书开放平台 MCP 服务,提供飞书企业应用的全方位集成能力。支持用户管理(搜索、查询用户信息)、文档协作(云文档、知识库、多维表格的创建与管理)、即时通讯(群聊搜索、成员管理)、日程管理(日历事件、忙闲状态查询)、任务管理(任务、子任务、任务清单的完整生命周期管理)等核心功能
Feishu MCP Server
飞书开放平台 MCP (Model Context Protocol) 服务,提供飞书企业应用的全方位集成能力。
📖 简介
Feishu MCP Server 是一个基于 MCP 协议 的飞书开放平台集成服务,允许 AI 助手(如 Claude、ChatGPT 等)通过标准化接口与飞书进行交互。
核心功能
- 👤 用户管理:搜索用户、查询用户信息、获取用户邮箱
- 📄 文档协作:
- 云文档:创建、查询、搜索文档,支持 Markdown 导入
- 知识库:管理知识空间和文档节点
- 多维表格:完整的表格、字段、记录、视图管理
- 💬 即时通讯:群聊搜索、成员管理
- 📅 日程管理:日历事件创建、查询、更新、删除,忙闲状态查询
- ✅ 任务管理:任务、子任务、任务清单、任务分组的完整生命周期管理
🚀 快速开始
前置要求
- Go 1.24+
- 飞书开放平台应用(需要配置相应的权限范围)
环境变量配置
创建 .env 文件或设置以下环境变量:
# 飞书应用配置
LARK_APP_ID=your_app_id # 飞书应用 ID
LARK_APP_SECRET=your_app_secret # 飞书应用密钥
LARK_URL=https://open.feishu.cn # 飞书 API 地址(国内版)或 https://open.larksuite.com(国际版)
# 服务器配置
SERVER_PORT=8080 # 服务端口(默认 8080)
SERVER_MODE=streamable-http # 服务模式:stdio / sse / streamable-http
本地运行
方式一:直接运行
# 安装依赖
go mod download
# 运行服务
go run main.go --mode streamable-http --port 8080
方式二:编译后运行
# 编译
go build -o feishu-mcp .
# 运行
./feishu-mcp --mode streamable-http --port 8080
Docker 部署
构建镜像
docker build -t feishu-mcp:latest .
运行容器
docker run -d \
--name feishu-mcp \
-p 8080:8080 \
-e LARK_APP_ID=your_app_id \
-e LARK_APP_SECRET=your_app_secret \
-e LARK_URL=https://open.feishu.cn \
-e SERVER_PORT=8080 \
-e SERVER_MODE=streamable-http \
feishu-mcp:latest
🔧 服务模式
支持三种运行模式:
1. stdio 模式
标准输入输出模式,适用于本地 CLI 工具集成。
./feishu-mcp --mode stdio
2. sse 模式
Server-Sent Events 模式,适用于浏览器端实时通信。
./feishu-mcp --mode sse --port 8080
3. streamable-http 模式(推荐)
HTTP 流式传输模式,适用于大多数 MCP 客户端。
./feishu-mcp --mode streamable-http --port 8080
访问端点:http://localhost:8080/mcp
🔑 飞书应用权限配置
在飞书开放平台创建企业自建应用后,需要配置以下权限范围:
全局权限
offline_access- 离线访问
用户相关
contact:contact.base:readonly- 查询通讯录基础信息directory:employee.base.email:read- 读取员工邮箱contact:user.employee_id:readonly- 读取用户员工 IDcontact:user.base:readonly- 读取用户基础信息contact:user:search- 搜索用户contact:user.id:readonly- 读取用户 ID
文档相关
wiki:wiki- 知识库管理docx:document- 文档管理docx:document.block:convert- 文档块转换bitable:app- 多维表格管理
即时通讯
im:chat:readonly- 读取群聊信息im:chat- 群聊管理
日程相关
calendar:calendar:readonly- 读取日历信息calendar:calendar- 日历管理
任务相关
task:task:write- 任务管理task:section:write- 任务分组管理task:tasklist:write- 任务清单管理
📚 API 工具列表
用户管理 (User)
get_auth_user_info- 获取当前授权用户信息get_user- 根据 user_id 获取用户信息search_user- 搜索用户get_user_email- 获取用户邮箱
文档管理 (Doc)
get_my_space- 获取我的知识空间create_node- 创建知识库节点get_node- 获取节点信息list_nodes- 列出子节点get_doc_raw_content- 获取文档原始内容search_doc- 搜索文档create_doc_from_markdown- 从 Markdown 创建文档create_block_from_markdown- 从 Markdown 创建文档块list_blocks- 列出文档块delete_block- 删除文档块
多维表格 (Bitable)
create_bitable- 创建多维表格get_bitable_meta- 获取表格元信息create_bitable_app_table- 创建数据表list_bitable_app_tables- 列出所有数据表delete_bitable_app_table- 删除数据表update_bitable_app_table- 更新数据表create_bitable_app_table_field- 创建字段list_bitable_app_table_fields- 列出所有字段delete_bitable_app_table_field- 删除字段update_bitable_app_table_field- 更新字段create_bitable_app_table_record- 创建记录delete_bitable_app_table_record- 删除记录update_bitable_app_table_record- 更新记录search_bitable_app_table_records- 搜索记录batch_create_bitable_app_table_records- 批量创建记录create_bitable_app_table_view- 创建视图list_bitable_app_table_views- 列出所有视图delete_bitable_app_table_view- 删除视图get_bitable_app_table_view- 获取视图信息update_bitable_app_table_view- 更新视图
即时通讯 (IM)
search_chat- 搜索群聊get_chat_members- 获取群成员create_chat_members- 添加群成员
日程管理 (Calendar)
list_free_busy_busyness- 查询忙闲状态create_calendar_event- 创建日历事件list_calendar_events- 列出日历事件delete_calendar_event- 删除日历事件update_calendar_event- 更新日历事件get_my_primary_calendar- 获取我的主日历create_attendee- 添加参与人list_attendees- 列出参与人delete_attendee- 删除参与人get_now_timestamp- 获取当前时间戳get_now_datetime- 获取当前日期时间convert_timestamp_to_datetime- 时间戳转日期时间convert_datetime_to_timestamp- 日期时间转时间戳
任务管理 (Task)
create_task- 创建任务list_my_tasks- 列出我的任务delete_task- 删除任务update_task- 更新任务add_task_members- 添加任务成员remove_task_members- 移除任务成员create_subtask- 创建子任务list_subtasks- 列出子任务
任务分组 (Section)
create_section- 创建任务分组list_sections- 列出任务分组delete_section- 删除任务分组list_section_tasks- 列出分组中的任务
任务清单 (TaskList)
create_tasklist- 创建任务清单list_tasklists- 列出任务清单delete_tasklist- 删除任务清单list_tasklist_tasks- 列出清单中的任务add_tasklist_members- 添加清单成员remove_tasklist_members- 移除清单成员
🔐 认证方式
服务支持通过 HTTP Header 传递用户访问令牌:
Authorization: Bearer YOUR_USER_ACCESS_TOKEN
获取用户访问令牌的方式请参考飞书开放平台文档。
🏗️ 项目结构
feishu-mcp/
├── main.go # 主程序入口
├── dockerfile # Docker 构建文件
├── go.mod # Go 模块依赖
├── go.sum # 依赖校验和
└── tools/ # 工具包目录
├── common.go # 公共工具函数
├── auth/ # 认证相关
│ └── auth.go
├── user/ # 用户管理
│ └── user.go
├── doc/ # 文档管理
│ ├── doc.go # 文档操作
│ ├── node.go # 知识库节点
│ └── bitable.go # 多维表格
├── im/ # 即时通讯
│ └── chat.go
├── calendar/ # 日程管理
│ ├── calendar.go # 日历事件
│ └── attendee.go # 参与人管理
└── task/ # 任务管理
├── task.go # 任务操作
├── subtask.go # 子任务
├── section.go # 任务分组
└── tasklist.go # 任务清单
🛠️ 技术栈
- Go 1.24+ - 编程语言
- mcp-go - MCP 协议 Go 实现
- oapi-sdk-go - 飞书开放平台 Go SDK
- Docker - 容器化部署
📝 使用示例
在 Claude Desktop 中配置
编辑 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"feishu": {
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer YOUR_USER_ACCESS_TOKEN"
}
}
}
}
使用示例对话
创建文档:
"帮我在飞书创建一个名为'项目计划'的文档,内容包含项目目标和时间表"
搜索用户:
"搜索名字包含'张三'的用户"
创建日程:
"明天下午3点创建一个会议,主题是'项目评审'"
管理任务:
"创建一个任务清单'本周待办',并添加三个任务"
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
本项目采用 MIT 许可证。