飞书/乐聊开放API MCP

EffyHHH/lark
Hosted
7 Stars 1.9k 次浏览 更新于 2026-08-23

English | | > ⚠️ Beta 版本通知:此工具目前处于 Beta 阶段。功能和 API 可能会发生变化,请随时关注版本更新。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "lark-mcp": {
      "args": [
        "-y",
        "@larksuiteoapi/lark-mcp",
        "mcp",
        "-a",
        "\u003cyour_app_id\u003e",
        "-s",
        "\u003cyour_app_secret\u003e",
        "-u",
        "\u003cyour_user_token\u003e"
      ],
      "command": "npx"
    }
  }
}

该服务需要配置环境变量:lark_api_key

可用工具 (19 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

bitable_v1_app_create 2 个参数

[Feishu/Lark]-Docs-Base-App-Create a Base App-Create a base app in user-defined folder

该工具无需必填参数,直接调用即可

bitable_v1_appTable_create 3 个参数 需填 1 项

[Feishu/Lark]-Docs-Base-Table-Create table-Add a new table in Base, supporting the input of table name, view name, and fields

必填参数:path

bitable_v1_appTableField_list 3 个参数 需填 1 项

[Feishu/Lark]-Docs-Base-Field-List fields-Get all fields according to app_token and table_id

必填参数:path

bitable_v1_appTable_list 3 个参数 需填 1 项

[Feishu/Lark]-Docs-Base-Table-List all tables-According to app_token, get all tables under app

必填参数:path

bitable_v1_appTableRecord_create 4 个参数 需填 2 项

[Feishu/Lark]-Docs-Base-Record-Create a record-Create a record

必填参数:data、path

bitable_v1_appTableRecord_search 4 个参数 需填 1 项

[Feishu/Lark]-Docs-Base-Record-Search records-This api is used to query existing records in the table. A maximum of 500 rows of records can be queried at a time, and paging is supported

必填参数:path

bitable_v1_appTableRecord_update 4 个参数 需填 2 项

[Feishu/Lark]-Docs-Base-Record-Update a record-Update a record

必填参数:data、path

contact_v3_user_batchGetId 2 个参数

[Feishu/Lark]-Contacts-User-Obtain user ID via email or mobile number-Call this interface to obtain the ID (including user_id, open_id, union_id) and status information of one or more users through their mobile phone number or email address

该工具无需必填参数,直接调用即可

docx_v1_document_rawContent 3 个参数 需填 1 项

[Feishu/Lark]-Docs-Document-Document-Obtain the plain text content of the document-Obtains the plain text content of the document

必填参数:path

drive_v1_permissionMember_create 4 个参数 需填 3 项

[Feishu/Lark]-Docs-Permission-Member-Add permissions-Add collaborators to the specified cloud document. Collaborators can be users, groups, departments, user groups, etc

必填参数:data、params、path

im_v1_chat_create 2 个参数

[Feishu/Lark]-Group Chat-Group management-Create a group-Create a group chat. When creating a group chat, you can set the group avatar, group name, group owner, group type and other configurations. You can also invite group members and group bots to join the group

该工具无需必填参数,直接调用即可

im_v1_chat_list 2 个参数

[Feishu/Lark]-Group Chat-Group management-Obtain groups where the user or bot is a member-Get the list of groups where the user or bot represented by [access_token] is a member

该工具无需必填参数,直接调用即可

im_v1_chatMembers_get 3 个参数 需填 1 项

[Feishu/Lark]-Group Chat-Group member-Obtain group member list-Get the list of members of the group the user/bot is in

必填参数:path

im_v1_message_create 2 个参数 需填 2 项

[Feishu/Lark]-Messaging-Message management-Send message-Call this interface to send a message to a specified user or group chat. Supported message types include text, rich text, cards, group business cards, personal business cards, pictures, videos, audio, files, and emoticons

必填参数:data、params

im_v1_message_list 1 个参数 需填 1 项

[Feishu/Lark]-Messaging-Message management-Get chat history-Obtains chat history (chat records) of chats (including private chats and group chats)

必填参数:params

wiki_v1_node_search 3 个参数 需填 1 项

[Feishu/Lark]-Docs-Wiki-Search Wiki

必填参数:data

wiki_v2_space_getNode 2 个参数 需填 1 项

[Feishu/Lark]-Docs-Wiki-node-Get Wiki node information-Get wiki node inforamtion

必填参数:params

docx_builtin_search 2 个参数 需填 1 项

[Feishu/Lark]-Docs-Document-Search Document-Search cloud documents, only supports user_access_token

必填参数:data

docx_builtin_import 2 个参数 需填 1 项

[Feishu/Lark]-Docs-Document-Import Document-Import cloud document, maximum 20MB

必填参数:data

服务介绍

Feishu/Lark OpenAPI MCP

npm version
npm downloads
Node.js Version

English | 中文

开发者文档检索MCP | 官方文档

⚠️ 测试版通知: 该工具目前处于测试阶段。功能和API可能会发生变化,请随时关注版本更新。

这是Feishu/Lark官方的OpenAPI MCP(Model Context Protocol)工具,旨在帮助用户快速连接到Feishu/Lark平台,并实现AI代理与Feishu/Lark之间的高效协作。该工具将Feishu/Lark开放平台API接口封装为MCP工具,使AI助手可以直接调用这些接口,实现诸如文档处理、对话管理、日程安排等多种自动化场景。

功能

  • 完整的Feishu/Lark API工具包: 封装了几乎所有的Feishu/Lark API接口,包括消息管理、群组管理、文档操作、日历事件、Bitable等核心功能领域。

  • 双重认证支持:

    • 支持App Access Token认证
    • 支持User Access Token认证
  • 灵活的通信协议:

    • 支持标准输入/输出流(stdio)模式,适合与Trae/Cursor/Claude等AI工具集成
    • 支持StreamableHTTP/SSE模式,提供基于HTTP的接口
  • 支持多种配置方法,适应不同的使用场景

工具列表

所有支持的Feishu/Lark工具的完整列表可以在tools.md中找到,其中工具按项目和版本分类并附有描述。

准备工作

创建Feishu/Lark应用

在使用lark-mcp工具之前,您需要创建一个Feishu/Lark应用:

  1. 访问飞书开放平台Lark开放平台并登录
  2. 点击“控制台”并创建一个新的应用
  3. 获取App ID和App Secret,这将用于API认证
  4. 根据您的使用场景为您的应用添加必要的权限
  5. 如果您需要以用户身份调用API,请将OAuth 2.0重定向URL设置为http://localhost:3000/callback

有关详细的应用创建和配置指南,请参阅飞书开放平台文档 - 创建应用

安装Node.js

在使用lark-mcp工具之前,您需要安装Node.js环境。

使用官方安装程序(推荐):

  1. 访问Node.js网站
  2. 下载并安装LTS版本
  3. 安装完成后,在终端中验证:

bash
node -v
npm -v

使用指南

与Trae/Cursor/Claude一起使用

要将Feishu/Lark功能集成到像Trae、Cursor或Claude这样的AI工具中,请使用以下按钮进行安装。

Install MCP Server安装MCP服务器 安装MCP服务器

或者将以下内容添加到您的配置文件中:

json
{
"mcpServers": {
"lark-mcp": {
"command": "npx",
"args": [
"-y",
"@larksuiteoapi/lark-mcp",
"mcp",
"-a",
"<your_app_id>",
"-s",
"<your_app_secret>"
]
}
}
}

如果您需要以用户身份访问API,您需要先在终端中使用登录命令进行登录。请注意,您需要首先在开发者控制台中配置应用程序的重定向URL,默认为http://localhost:3000/callback

bash

登录并获取用户访问令牌

npx -y @larksuiteoapi/lark-mcp login -a cli_xxxx -s yyyyy

或者可选地,使用特定OAuth范围登录 - 如果未指定,则默认授权所有权限

npx -y @larksuiteoapi/lark-mcp login -a cli_xxxx -s yyyyy --scope offline_access docx:document

然后将以下内容添加到您的配置文件中:

json
{
"mcpServers": {
"lark-mcp": {
"command": "npx",
"args": [
"-y",
"@larksuiteoapi/lark-mcp",
"mcp",
"-a",
"<your_app_id>",
"-s",
"<your_app_secret>",
"--oauth"
]
}
}
}

您也可以直接通过-u参数添加用户访问令牌(有效期为2小时):

json
{
"mcpServers": {
"lark-mcp": {
"command": "npx",
"args": [
"-y",
"@larksuiteoapi/lark-mcp",
"mcp",
"-a",
"<your_app_id>",
"-s",
"<your_app_secret>",
"-u",
"<your_user_token>"
]
}
}
}

自定义API配置

默认情况下,MCP服务启用了常见的API。要启用其他工具或仅启用特定API或预设,您可以使用-t参数(用逗号分隔)来指定它们:

bash
lark-mcp mcp -a <your_app_id> -s <your_app_secret> -t im.v1.message.create,im.v1.message.list,im.v1.chat.create,preset.calendar.default

⚠️ 注意:非预设API尚未经过兼容性测试,在理解和使用过程中AI可能无法达到最佳性能。

预设工具集详情

下表详细列出了每个API工具及其在不同预设集合中的包含情况,帮助您根据需求选择合适的预设:

工具名称 功能描述 preset.light preset.default (默认) preset.im.default preset.base.default preset.base.batch preset.doc.default preset.task.default preset.calendar.default
im.v1.chat.create 创建群聊
im.v1.chat.list 获取群聊列表
im.v1.chat.search 搜索群聊
im.v1.chatMembers.get 获取群成员
im.v1.message.create 发送消息
im.v1.message.list 获取消息列表
bitable.v1.app.create 创建基础
bitable.v1.appTable.create 创建基础数据表
bitable.v1.appTable.list 获取基础数据表列表
bitable.v1.appTableField.list 获取基础数据表字段列表
bitable.v1.appTableRecord.search 搜索基础数据表记录
--- --- --- --- --- --- --- --- --- ---
bitable.v1.appTableRecord.create 创建基础数据表记录
bitable.v1.appTableRecord.batchCreate 批量创建基础数据表记录
bitable.v1.appTableRecord.update 更新基础数据表记录
bitable.v1.appTableRecord.batchUpdate 批量更新基础数据表记录
docx.v1.document.rawContent 获取文档内容
docx.builtin.import 导入文档
docx.builtin.search 搜索文档
drive.v1.permissionMember.create 添加协作者权限
wiki.v2.space.getNode 获取Wiki节点
wiki.v1.node.search 搜索Wiki节点
contact.v3.user.batchGetId 批量获取用户ID
task.v2.task.create 创建任务
task.v2.task.patch 修改任务
task.v2.task.addMembers 添加任务成员
task.v2.task.addReminders 添加任务提醒
calendar.v4.calendarEvent.create 创建日历事件
calendar.v4.calendarEvent.patch 修改日历事件
calendar.v4.calendarEvent.get 获取日历事件
calendar.v4.freebusy.list 查询空闲/忙碌状态
calendar.v4.calendar.primary 获取主日历

注意: 在表格中,“✓”表示该工具包含在预设中。使用 -t preset.xxx 将启用对应列中标记为“✓”的工具。

高级配置

命令行参数

lark-mcp login 命令参数:

参数 简写 描述 示例
--app-id -a 飞书/Lark 应用的 App ID -a cli_xxxx
--app-secret -s 飞书/Lark 应用的 App Secret -s xxxx
--domain -d 飞书/Lark API 域名,默认为 https://open.feishu.cn -d https://open.larksuite.com
--host 监听主机,默认为 localhost --host localhost
--port -p 监听端口,默认为 3000 -p 3000
--scope 指定用户访问令牌的 OAuth 范围,默认为授予应用的所有权限,以空格或逗号分隔 --scope offline_access docx:document

lark-mcp logout 命令参数:

参数 简写 描述 示例
--app-id -a 飞书/Lark 应用的 App ID(可选)。如果指定,则仅清除该应用的令牌;如果不指定,则清除所有应用的令牌 -a cli_xxxx

此命令用于清除本地存储的用户访问令牌。如果指定了 --app-id 参数,则只清除该应用程序的用户访问令牌;如果没有指定,则清除所有应用程序的用户访问令牌。

lark-mcp mcp 命令参数:

参数 简写 描述 示例
--app-id -a 飞书/Lark 应用的 App ID -a cli_xxxx
--app-secret -s 飞书/Lark 应用的 App Secret -s xxxx
--domain -d 飞书/Lark API 域名,默认为 https://open.feishu.cn -d https://open.larksuite.com
--tools -t 启用的API工具列表,以空格或逗号分隔 -t im.v1.message.create,im.v1.chat.create
--tool-name-case -c 工具名称格式,选项为 snake, camel, dot 或 kebab,默认为 snake -c camel
--language -l 工具语言,选项为 zh 或 en,默认为 en -l zh
--user-access-token -u 作为用户调用API的用户访问令牌 -u u-xxxx
--token-mode API 令牌类型,选项为 auto, tenant_access_token 或 user_access_token,默认为 auto --token-mode user_access_token
--scope 指定用户访问令牌的OAuth范围,默认为授予应用程序的所有权限,使用空格或逗号分隔 --scope offline_access docx:document
--mode -m 传输模式,选项有stdio、streamable或sse,默认是stdio -m streamable
--host SSE/Streamable模式下的监听主机,默认是localhost --host 0.0.0.0
--port -p SSE/Streamable模式下的监听端口,默认是3000 -p 3000
--config 配置文件路径,支持JSON格式 --config ./config.json
--version -V 显示版本号 -V
--help -h 显示帮助信息 -h

参数使用示例

  1. 基本用法

    bash

    使用默认设置启动,并在token过期时自动请求用户登录(推荐用于本地场景)

    lark-mcp mcp -a cli_xxxx -s yyyyy --oauth

    使用默认设置启动

    lark-mcp mcp -a cli_xxxx -s yyyyy

  2. 使用用户身份

    如果需要以用户身份访问API,首先需要使用login命令进行登录。详情请参阅“使用OAuth登录获取用户访问令牌”:

    bash

    登录并获取用户访问令牌

    lark-mcp login -a cli_xxxx -s yyyyy

    也可以手动通过-u传递user_access_token:

    bash
    lark-mcp mcp -a cli_xxxx -s yyyyy -u u-zzzz

    注意:用户访问令牌可以通过飞书开放平台的授权流程获得,或者可以使用API调试控制台来获取。使用了用户访问令牌后,API调用将以该用户的身份进行。

  3. 使用OAuth登录获取用户访问令牌
    bash

    登录并获取用户访问令牌

    lark-mcp login -a cli_xxxx -s yyyyy

    指定OAuth范围

    lark-mcp login -a cli_xxxx -s yyyyy --scope offline_access

    指定OAuth认证域

    lark-mcp login -a cli_xxxx -s yyyyy -d https://open.larksuite.com

    注意:使用login命令将启动一个本地OAuth服务器并打开浏览器完成授权。用户访问令牌将被自动获取并安全地存储在本地,以便在后续启动中自动使用。

  4. 注销并清除存储的令牌
    bash

    清除本地存储的用户访问令牌

    lark-mcp logout

    注意logout命令将清除本地存储的用户访问令牌。如果没有当前存储的令牌,将显示相应的消息。

  5. 设置特定的令牌模式
    bash
    lark-mcp mcp -a cli_xxxx -s yyyyy --token-mode user_access_token

    注意:此选项允许您显式指定在调用API时使用的令牌类型。auto模式(默认)将在调用API时由LLM确定。

  6. 指定飞书或KA域名
    bash

    飞书国际版

    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.larksuite.com

    自定义域名(KA域名)

    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.your-ka-domain.com

  7. 仅启用特定的API工具或其他API工具
    bash
    lark-mcp mcp -a cli_xxxx -s yyyyy -t im.v1.chat.create,im.v1.message.create

    注意-t参数支持以下预设工具集:

    • preset.light - 轻量级工具集,包含较少但常用的工具,适用于需要减少令牌使用量的场景
    • preset.default - 默认工具集,包含所有预设工具
    • preset.im.default - 即时通讯相关工具,如群组管理、消息发送等> - preset.base.default - 基础相关工具,如表格创建、记录管理等。
    • preset.base.batch - 基础批量操作工具,包括批量创建和更新记录功能
    • preset.doc.default - 文档相关工具,如文档内容读取、权限管理等。
    • preset.task.default - 任务管理相关工具,如任务创建、成员管理等。
    • preset.calendar.default - 日历事件管理工具,如创建日历事件、查询空闲/忙碌状态等。
  8. 设置工具语言为中文:
    bash
    lark-mcp mcp -a cli_xxxx -s yyyyy -l zh

    注意: 将语言设置为中文(-l zh)可能会消耗更多令牌。如果在与大型语言模型集成时遇到令牌限制问题,请考虑使用默认的英文设置(-l en)。

  9. 设置工具名称格式为驼峰式:
    bash
    lark-mcp mcp -a cli_xxxx -s yyyyy -c camel

    注意: 通过设置工具名称格式,可以更改MCP中工具名称的显示方式。例如,im.v1.message.create 在不同格式下的表示:

    • 蛇形格式(默认): im_v1_message_create
    • 驼峰格式: imV1MessageCreate
    • 破折号格式: im-v1-message-create
    • 点格式: im.v1.message.create
  10. 使用环境变量代替命令行参数:
    bash

设置环境变量

export APP_ID=cli_xxxx
export APP_SECRET=yyyyy
export USER_ACCESS_TOKEN=zzzzz
export LARK_TOOLS=a.b.c,a.c.d
export LARK_DOMAIN=https://open.feishu.cn
export LARK_TOKEN_MODE=user_access_token

启动服务(无需指定-a和-s参数)

lark-mcp mcp

  1. 使用配置文件:

    除了命令行参数外,您还可以使用JSON格式的配置文件来设置参数:

    bash
    lark-mcp mcp --config ./config.json

    配置文件示例 (config.json):

    json
    {
    "appId": "cli_xxxx",
    "appSecret": "xxxx",
    "domain": "https://open.feishu.cn",
    "tools": ["im.v1.message.create","im.v1.chat.create"],
    "toolNameCase": "snake",
    "language": "zh",
    "userAccessToken": "",
    "tokenMode": "auto",
    "mode": "stdio",
    "host": "localhost",
    "port": "3000",
    "oauth": true,
    "scope": "offline_access docx:document"
    }

    注意: 命令行参数的优先级高于配置文件。当同时使用命令行参数和配置文件时,命令行参数将覆盖配置文件中的相应设置。

  2. 传输模式:

    lark-mcp 支持三种传输模式:

    1. 标准输入输出模式(默认/推荐): 适用于与Trae/Cursor或Claude等AI工具集成,通过标准输入输出流进行通信。
      bash
      lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m stdio

    2. SSE模式: 提供基于Server-Sent Events的HTTP接口,适用于无法本地执行的场景。

    bash

    默认仅监听localhost

    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m sse -p 3000

    监听所有网络接口(允许远程访问)

    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m sse --host 0.0.0.0 -p 3000

    启动后,SSE端点可通过 http://<host>:<port>/sse 访问。

    1. Streamable模式: 提供基于StreamableHTTP的接口

    bash

    启动Streamable模式

    lark-mcp mcp -a <your_app_id> -s <your_app_secret> -m streamable --host 0.0.0.0 -p 3000

常见问题

  • 问题: 无法连接到飞书/Lark API解决方案: 检查您的网络连接,并确保您的APP_ID和APP_SECRET是正确的。验证您是否可以访问飞书/ Lark开放平台API;您可能需要配置代理。

  • 问题: 使用user_access_token时出错
    解决方案: 检查令牌是否已过期。user_access_token通常有效期为2小时,需要定期刷新。您可以实现自动刷新令牌的机制。

  • 问题: 启动MCP服务后无法调用某些API,出现权限不足错误
    解决方案: 检查您的应用程序是否已获得相应的API权限。某些API需要额外的高级权限,这些可以在开发者控制台中配置。确保权限已被批准。

  • 问题: 图片或文件上传/下载相关的API调用失败
    解决方案: 当前版本不支持文件和图片上传/下载功能。这些API将在未来的版本中得到支持。

  • 问题: 在Windows环境下命令行显示乱码
    解决方案: 通过在命令提示符中执行chcp 65001来将命令行编码更改为UTF-8。如果使用PowerShell,可能需要更改终端字体或PowerShell配置。

  • 问题: 安装过程中出现权限错误
    解决方案: 在macOS/Linux上,使用sudo npm install -g @larksuiteoapi/lark-mcp进行安装,或者修改npm全局安装路径的权限。Windows用户可以尝试以管理员身份运行命令提示符。

  • 问题: 启动MCP服务后超出令牌限制
    解决方案: 尝试使用-t减少启用的API数量,或使用支持更大令牌的模型(如claude3.7)。

  • 问题: 在SSE模式下无法连接或接收消息
    解决方案: 检查端口是否已被占用,并尝试更换到其他端口。确保客户端正确连接到SSE端点并处理事件流。

相关链接

反馈

欢迎提出问题以帮助改进此工具。如果您有任何疑问或建议,请在GitHub仓库中提出。

相关 MCP 服务