飞书MCP服务器

by sdd330

54 stars
945 downloads
Not rated
GitHub

About

MCP server provides feishu related operations

Details

Author
sdd330
GitHub stars
54
Downloads
945
Categories
Communication

- 读取飞书文档内容和元数据
- 发送文本消息和交互卡片到飞书聊天
- 管理群组和聊天会话
- 支持多维表格元数据、数据表和记录查询
- 支持STDIO和HTTP双运行模式
- 分层架构,类型安全,易于扩展

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name 飞书MCP服务器
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

需要Node.js 23+和pnpm。克隆仓库后安装依赖,配置飞书应用ID和密钥(通过.env或命令行参数),然后使用pnpm dev(开发)或pnpm build && node dist/index.js --stdio(STDIO模式)启动。支持STDIO和HTTP两种运行模式。

- 通过STDIO模式集成到CLI或应用
- 通过HTTP模式提供REST API和SSE连接

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\u98de\u4e66mcp\u670d\u52a1\u5668": {
            "feishu-mcp-server": {
                "command": "node",
                "args": [
                    "dist/index.js"
                ]
            }
        }
    }
}

McpServers

{
    "feishu-mcp-server": {
        "command": "node",
        "args": [
            "dist/index.js"
        ]
    }
}

飞书MCP服务器

TypeScript
Node.js
License

飞书MCP服务器是一个基于Model Context Protocol的服务,提供飞书API集成,使AI模型能够轻松与飞书服务交互。

目录

- 功能特点
- 项目架构
- 代码结构
- 设计原则
- 工作流程
- 快速开始
- 前提条件
- 安装步骤
- 运行服务
- 配置说明
- API文档
- 文档操作
- 机器人操作
- 聊天操作
- 多维表格操作
- 开发指南
- 代码规范
- 错误处理
- 提交规范
- 扩展指南
- 常见问题
- 许可证
- 贡献指南

功能特点

- 文档服务:读取飞书文档内容和元数据
- 机器人服务:发送文本消息和交互卡片到飞书聊天
- 聊天服务:管理群组和聊天会话
- 多模式支持
- STDIO模式:通过标准输入/输出通信,适用于CLI环境和集成到其他应用
- HTTP模式:提供REST API和SSE连接,适用于Web服务和分布式部署
- 完善的错误处理:统一的错误处理机制,提供详细的错误信息
- 类型安全:基于TypeScript,提供完整的类型定义
- 模块化架构:易于扩展新功能和集成其他飞书API

项目架构

代码结构

/src
  /client        # API客户端实现(底层API请求封装)
    /documents   # 文档相关API客户端
    /bots        # 机器人API客户端
    /chats       # 聊天相关API客户端
  /services      # 服务层实现(业务逻辑和错误处理)
    /documents   # 文档相关服务
    /bots        # 机器人相关服务
    /chats       # 聊天相关服务
  /server        # MCP服务器实现
    /tools       # MCP工具注册和实现
  /typings       # 类型定义
  /utils         # 通用工具函数
  /http          # HTTP服务器实现
  /logger        # 日志服务
  /consts        # 常量定义
  config.ts      # 配置管理
  index.ts       # 入口点

设计原则

项目采用分层架构设计,确保关注点分离和职责明确:

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. 克隆仓库

git clone https://github.com/yourusername/feishu-mcp-server.git
cd feishu-mcp-server

2. 安装依赖

pnpm install

3. 创建.env文件

```

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.