lark-lite-mcp

lark-lite-mcp

极轻量、低 Token 消耗的飞书多维表格 MCP 服务,支持链接解析、记录读写和筛选搜索。

Category
访问服务器

README

lark-lite-mcp

一个面向 AI Agent 的轻量飞书多维表格(Bitable)MCP。它通过飞书官方 Node.js SDK 访问数据,并在 MCP 工具与飞书 SDK 之间提供稳定的兼容层。

设计目标

  • 通用:不绑定学者库或其他业务项目。
  • 安全:默认只读,凭证只从进程环境变量读取。
  • 完整:查询显式返回分页状态,可受控拉取多页。
  • 稳定:Agent 只依赖本项目定义的返回结构,不依赖飞书原始响应字段。
  • 可升级:飞书 SDK 与 MCP SDK 使用精确版本,由测试验证后再升级。

当前只支持飞书多维表格,不支持飞书文档、消息、日历等其他能力。

安装与配置

生产或团队环境建议固定具体版本,避免启动时自动获取不兼容的新版本:

{
  "mcpServers": {
    "lark-bitable": {
      "command": "npx",
      "args": ["-y", "lark-lite-mcp@2.0.1"],
      "env": {
        "LARK_APP_ID": "cli_xxx",
        "LARK_APP_SECRET": "xxx",
        "LARK_READ_ONLY": "true",
        "LARK_ALLOWED_BASE_TOKENS": "bascnAllowedBase",
        "LARK_ALLOWED_TABLE_IDS": "tblAllowedOne,tblAllowedTwo"
      }
    }
  }
}

也可以从源码运行:

{
  "mcpServers": {
    "lark-bitable": {
      "command": "node",
      "args": ["/absolute/path/to/lark-lite-mcp/index.js"],
      "env": {
        "LARK_APP_ID": "cli_xxx",
        "LARK_APP_SECRET": "xxx"
      }
    }
  }
}

应用仍需在飞书开放平台申请相应权限,并加入目标多维表格的协作者。

环境变量

变量 默认值 说明
LARK_APP_ID 必填 飞书自建应用 App ID
LARK_APP_SECRET 必填 飞书自建应用 App Secret
LARK_READ_ONLY true 为 false 时才暴露更新工具
LARK_ALLOWED_BASE_TOKENS 空 逗号分隔;为空时依赖飞书应用自身权限
LARK_ALLOWED_TABLE_IDS 空 逗号分隔;为空时依赖飞书应用自身权限
LARK_MAX_RETRIES 2 429、408 和 5xx 传输错误的最大重试次数
LARK_RETRY_DELAY_MS 250 指数退避的初始等待时间
LARK_REQUEST_TIMEOUT_MS 10000 单次飞书 HTTP 请求超时毫秒数
LARK_MAX_FETCH_ALL_RECORDS 1000 fetchAll 可返回的硬上限

不要在对话或 MCP 工具参数中提供 App Secret。Secret 只应存在于 MCP 进程环境变量或密钥管理系统中。

MCP 工具

工具 说明
lark_resolve_url 从普通 Base URL 提取坐标,或将 /record/{share_token} 单记录分享链接解析为真实的 Base、Table 和 Record 标识
lark_list_tables 分页列出 Base 中的数据表
lark_get_record 查询单条记录
lark_search_records 分页搜索记录;支持有上限的 fetchAll
lark_update_record 更新单条记录,仅在写模式下暴露

分页结果使用稳定结构:

{
  "items": [],
  "hasMore": false,
  "nextPageToken": null,
  "requestId": null
}

当 fetchAll=true 且命中安全上限时,结果额外返回 "truncated": true。调用方必须把它视为不完整结果。

兼容性策略

飞书原始响应只允许在 src/bitable-adapter.js 中处理。MCP 工具不直接读取 res.data.items、record_id 或 page_token 等飞书字段。SDK 或 OpenAPI 返回结构变化时,应只修改 Adapter,并保持工具返回结构不变。

依赖升级流程:

  1. 修改精确依赖版本。
  2. 运行离线单元与契约测试。
  3. 使用专用测试 Base 运行在线冒烟测试。
  4. 确认 MCP 客户端连接和工具列表。
  5. 按语义化版本发布,并在生产配置中显式升级版本。

不建议直接使用 ^ 或 latest 自动追踪飞书 SDK、MCP SDK 或本 MCP 的新版本。

开发与验证

npm install
npm test
npm run check

在线冒烟测试只访问专用测试 Base:

LARK_APP_ID=cli_xxx \
LARK_APP_SECRET=xxx \
LARK_SMOKE_BASE_TOKEN=bascnTestBase \
npm run smoke

在线冒烟测试不应使用生产表,也不应把凭证提交到仓库。

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选