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.itemsrecord_idpage_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
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

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

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选