{"repo":"sdd330/feishu-mcp-server","free":true,"listed":false,"github":"https://github.com/sdd330/feishu-mcp-server","clone":"git clone https://github.com/sdd330/feishu-mcp-server.git","description":"MCP server provides feishu related operations","language":"TypeScript","stars":54,"topics":[],"license":"MIT","category":"mcp-servers","readme_excerpt":"飞书MCP服务器 飞书MCP服务器是一个基于Model Context Protocol的服务，提供飞书API集成，使AI模型能够轻松与飞书服务交互。 目录 - 功能特点 - 项目架构 - 代码结构 - 设计原则 - 工作流程 - 快速开始 - 前提条件 - 安装步骤 - 运行服务 - 配置说明 - API文档 - 文档操作 - 机器人操作 - 聊天操作 - 多维表格操作 - 开发指南 - 代码规范 - 错误处理 - 提交规范 - 扩展指南 - 常见问题 - 许可证 - 贡献指南 功能特点 - 文档服务 ：读取飞书文档内容和元数据 - 机器人服务 ：发送文本消息和交互卡片到飞书聊天 - 聊天服务 ：管理群组和聊天会话 - 多模式支持 ： - STDIO模式 ：通过标准输入/输出通信，适用于CLI环境和集成到其他应用 - HTTP模式 ：提供REST API和SSE连接，适用于Web服务和分布式部署 - 完善的错误处理 ：统一的错误处理机制，提供详细的错误信息 - 类型安全 ：基于TypeScript，提供完整的类型定义 - 模块化架构 ：易于扩展新功能和集成其他飞书API 项目架构 代码结构 设计原则 项目采用分层架构设计，确保关注点分离和职责明确： 1. 分层职责 - 客户端层（Client） - 封装HTTP请求的细节 - 处理底层API参数和响应格式 - 管理认证和令牌刷新 - 不包含业务逻辑 - 服务层（Service） - 使用客户端执行API操作 - 实现业务逻辑 - 处理和转换错误 - 提供友好的接口给上层使用 - 工具层（Tools） - 实现MCP协议定义的工具 - 处理参数验证和格式转换 - 调用服务层完成实际操作 - 格式化返回结果 2. 依赖方向 - 服务层依赖客户端层 - 工具层依赖服务层 - 严格避免循环依赖 3. 错误处理策略 - 使用 FeiShuApiError 统一处理API错误 - 客户端层返回原始错误 - 服务层捕获并转换为业务相关错误 - 工具层处理所有异常并返回用户友好消息 工作流程 1. MCP服务器接收请求（STDIO或HTTP） 2. 工具层验证参数并调用相应服务 3. 服务层实现业务逻辑并调用客户端 4. 客户端执行实际API请求并返回结果 5. 结果经由服务层处理后返回给工具层 6. 工具层格式化结果并返回给MCP服务器 快速开始 前提条件 - Node.js 23.0或更高版本 - pnpm包管理器 - 有效的飞书开发者账号和已创建的自建应用 安装步骤 1. 克隆仓库 2. 安装依赖 3. 创建 .env 文件 运行服务 开发模式 生产模式 STDIO模式 配置说明 选项 环境变量 命令行参数 默认值 描述 ------ ---------- ------------ -------- ------ 飞书应用ID FEISHU APP ID --feishu-app-id - 飞书自建应用的App ID 飞书应用密钥 FEISHU APP SECRET --feishu-app-secret - 飞书自建应用的App Secret 服务器端口 PORT --port 3344 HTTP服务器端口号 日志级别 LOG LEVEL --log-level info 日志级别(debug/info/warn/error) 令牌缓存时间 TOKEN CACHE DURATION - 7100 访问令牌缓存时间(秒) API文档 文档操作 get feishu doc raw 获取飞书文档的原始内容。","default_branch":null,"files":null,"tree":[],"storefront":"/r/sdd330","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sdd330/feishu-mcp-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}