Skip to main content
Glama
YuanZhiTech

lark-mcp-server

by YuanZhiTech

Lark MCP Server / 飞书 MCP Server

🇨🇳 The first Chinese MCP Server for Lark/Feishu — let any AI client operate Feishu through MCP protocol. 🇨🇳 首个飞书 MCP Server — 让任何 AI 客户端通过标准 MCP 协议操作飞书。

License: MIT Python MCP

🚀 Quick Start / 快速开始

Install / 安装

# via pip
pip install lark-mcp-server

# or via uvx (no install needed)
uvx lark-mcp-server

Prerequisites / 前提条件

You need lark-cli installed and authenticated:

# Install lark-cli & login
lark-cli auth login

Configure with Claude Desktop / 配置到 Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "lark": {
      "command": "uvx",
      "args": ["lark-mcp-server"]
    }
  }
}

Now Claude can send/receive Feishu messages, list chats, and more! 🤖


Related MCP server: lark-cli-mcp

🛠️ Tools / 工具列表

💬 IM Messages / 消息

Tool

Description

说明

lark_send_message

Send text/markdown to a chat

发送消息到聊天

lark_reply_message

Reply to a message

回复消息

lark_list_chats

List group chats

列出群聊列表

lark_get_chat_members

Get chat member list

获取群成员

lark_list_messages

View chat history

查看聊天历史

lark_send_card

Send interactive card

发送交互卡片

👤 Contacts / 联系人

Tool

Description

说明

lark_get_user_info

Get user information

获取用户信息

📅 Calendar / 日历

Tool

Description

说明

lark_get_agenda

View calendar agenda

查看日程安排


💡 Use Cases / 使用场景

🤖 AI Agent Automates Feishu / Agent 自动处理飞书消息

# Your AI agent can now:
# - Monitor and reply to messages automatically
# - Send batch notifications to group chats
# - Check meeting schedules and notify attendees

📊 Data Integration / 数据集成

# Connect Feishu with other tools via MCP:
# - Read Feishu messages → process with AI → write to database
# - Sync calendar events to your task manager
# - Automate HR onboarding workflows

🔄 Cross-platform Automation / 跨平台自动化

# Feishu + GitHub + Slack = automated workflow
# All connected through standard MCP protocol

📦 Project Structure / 项目结构

lark-mcp-server/
├── pyproject.toml          # Python package config
├── src/lark_mcp_server/
│   ├── server.py           # MCP server entry, tool registration
│   └── client.py           # LarkClient — lark-cli subprocess wrapper
└── tests/
    └── test_client.py      # Integration tests


📄 License

MIT © 2026 Agent Garden

Built by AI Agents, for AI Agents. 🤖 由 AI Agent 构建,为 AI Agent 服务。

Available Tools

8 tools
lark_get_agendaC

查看飞书日程安排

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo结束时间(ISO 8601,默认今天结束)
startNo开始时间(ISO 8601,默认今天开始)
calendar_idNo日历 ID(默认 primary)primary

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits on its own. It only says 'view', implying a read operation, but does not mention authentication needs, rate limits, return format, or side effects. This is insufficient for a tool with no safety profile from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short phrase that is direct and free of redundancy. It is appropriately sized for conveying the basic purpose, though it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the schema covers parameters and an output schema exists, the description lacks usage guidelines and behavioral disclosure. It does not explain when to use this tool relative to siblings or what to expect from the operation, making the overall context incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all three parameters (start, end, calendar_id) with 100% coverage, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides, so it does not exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '查看飞书日程安排' clearly states the tool's purpose: to view Feishu agenda/schedule. It uses a specific verb (view) and resource (agenda), and it is easily distinguishable from sibling tools focused on messaging and chats. However, it lacks scope details such as date range or calendar behavior, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling alternatives. It does not mention any exclusions, prerequisites, or alternative tools, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_get_chat_membersC

获取群聊成员列表

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYes群聊 ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool gets a member list, but does not disclose pagination behavior, return format, error handling, authorization requirements, or rate limits. The read-only nature is implied but not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that gets straight to the point. It is front-loaded and contains no unnecessary words. However, it is essentially a restatement of the tool name, providing minimal additional value beyond clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and the minimal description, the tool is not fully contextualized. The agent learns what it does but not important operational details like how to obtain chat_id, whether member lists are paginated, or if any special permissions are needed. The existence of an output schema mitigates this somewhat, but the description itself is incomplete for seamless invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the only parameter chat_id with a description ('群聊 ID'), providing 100% schema description coverage. The tool description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate. The parameter is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '获取群聊成员列表' clearly states the tool's function: retrieving the member list of a group chat. It uses a specific verb (get) and resource (chat members), and it is distinct from siblings like lark_list_chats (list chats) or lark_list_messages (list messages). However, it lacks scope details such as whether members are returned in pages or if filtering is supported.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a chat_id from lark_list_chats), exclusions, or scenarios where another tool would be more appropriate. This leaves the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_get_user_infoA

获取飞书用户信息,不传 user_id 查自己

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNo用户 ID(可选)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses an important conditional behavior (no user_id → query self) beyond what the name implies. It doesn't mention permissions or error cases, but the output schema covers return details and this is a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence conveys the core purpose and the optional-parameter behavior. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and an output schema. The description fully covers the tool's purpose and the meaningful behavioral nuance. No additional context is necessary for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents user_id as an optional string. The description adds key semantics: omitting user_id results in querying the caller's own info. This enriches the parameter meaning beyond the schema's minimal description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('获取飞书用户信息' = get Lark user info) and adds the scoped behavior of querying self when user_id is omitted. This clearly distinguishes it from sibling tools like lark_get_chat_members and lark_list_chats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: pass user_id to get a specific user, omit it to get your own info. It does not explicitly mention alternative tools or when-not-to-use, but the resource is distinct enough that the guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_list_chatsB

列出飞书群聊列表

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo每页数量(默认 20)
page_tokenNo分页 token

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'list' and provides no information about pagination, result ordering, or scope (e.g., only chats joined by the bot). The schema documents pagination parameters, but the description itself adds no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It is slightly redundant ('list...列表') but remains concise and easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with full schema coverage and an output schema, the minimal description is almost sufficient. However, it lacks any mention of pagination semantics or filtering/scope beyond 'group chats', leaving some gaps for a low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both page_size and page_token have detailed descriptions in the schema. The description adds no additional meaning beyond confirming the action, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '列出飞书群聊列表' clearly states the action (list) and resource (Feishu group chats), distinguishing it from siblings like lark_list_messages and lark_get_chat_members. The slight redundancy in wording does not obscure the intended purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description only states the action, without indicating when to use this tool versus alternatives such as lark_list_messages or lark_get_chat_members. The agent must infer context from the name and sibling list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_list_messagesC

查看聊天历史消息

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYes聊天 ID
page_sizeNo获取消息数量(默认 20)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It simply states 'view chat history messages' without mentioning pagination behavior, ordering, read-only status, rate limits, or any side effects. The schema hints at page_size, but the description does not elaborate on how pagination works or what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—a single short phrase—and is front-loaded. However, it essentially restates the tool name without adding informative content, making it under-specified rather than merely concise. It has no wasted words but also fails to provide meaningful guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having a simple schema and an output schema, the description is incomplete. It lacks essential behavioral context such as message ordering, pagination limits, or any constraints. With no annotations to supplement behavioral safety, the description falls short of adequately informing an agent about expected usage and outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (chat_id and page_size) are fully described in the schema with clear descriptions and a default value, giving 100% schema coverage. The description adds no extra parameter semantics, but since the schema already covers them, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '查看聊天历史消息' clearly indicates a message retrieval operation for chat history, using a specific verb ('view') and resource ('chat messages'). It is understandable but does not explicitly distinguish itself from sibling tools like listing chats or sending messages, so it lacks full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not state when to use this tool versus alternatives such as lark_send_message or lark_list_chats, nor does it mention any exclusions or prerequisites. The intended context must be inferred entirely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_reply_messageC

回复飞书消息

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes回复内容
msg_typeNo消息类型,可选 text / markdown / posttext
is_threadNo是否回复到原帖(thread)
message_idYes被回复的消息 ID(om_xxx)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description bears full responsibility for disclosing side effects and behavior. It only says 'reply,' offering no information about permissions, failure modes, rate limits, notification behavior, or whether it creates a new thread message. The is_thread parameter hints at thread behavior, but the description does not explain it. This is severely under-specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short ('回复飞书消息'), which is concise but under-specified. It lacks the necessary elaboration for a tool with four parameters and multiple options. Under-specification is not a virtue; the description should contain enough detail to be useful, and this one does not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has four parameters, an output schema, and no annotations, the description is far too minimal to provide adequate context. It does not explain thread behavior, message types beyond schema hints, or how it differs from lark_send_message. The presence of an output schema partially mitigates return-value concerns, but the description still lacks critical usage and behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, providing baseline meaning for each field. The tool description adds no additional explanation beyond what the schema already states, so the parameter semantics are adequate but not enriched. The schema itself clarifies msg_type options and is_thread default, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '回复飞书消息' clearly states the action (reply) and the resource (Lark message). It is specific enough to convey the core purpose, though it does not explicitly differentiate from the sibling lark_send_message. Since the verb 'reply' implies responding to an existing message, it is reasonably distinct, but could be more explicit about the target being an existing message ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus lark_send_message or other siblings. It does not mention thread behavior, prerequisites, or alternative use cases. The description simply states what it does, leaving the agent to infer usage context from the schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_send_cardB

发送交互卡片到飞书聊天

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYes聊天 ID
card_jsonYes卡片 JSON(schema 2.0 格式)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, permissions, error handling, or any other behavioral traits. For a mutation tool, this is a significant omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that wastes no words. It conveys the core purpose efficiently, though it could benefit from more detail in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a mutation with no annotations and minimal description, the lack of usage guidance and behavioral transparency makes it incomplete. The schema covers parameters and an output schema exists, but the description does not compensate for the missing behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both chat_id and card_json having descriptions. The tool description itself adds no additional meaning beyond what the schema already provides, so the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '发送交互卡片到飞书聊天' clearly states the tool sends an interactive card to Feishu chat. The resource is specific ('interactive card') and distinguishes it from sibling tools like lark_send_message, which sends regular messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., lark_send_message or lark_reply_message). The description simply states the action without any context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lark_send_messageB

发送消息到飞书聊天

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYes聊天 ID(群聊 oc_xxx 或 P2P 会话)
contentYes消息内容
msg_typeNo消息类型,可选 text / markdown / posttext

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description merely states the action without disclosing behavioral details such as authentication requirements, rate limits, message type handling, or what the tool returns on success/failure. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. However, it is so minimal that it under-specifies important context, though this is partly accounted for in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is very brief and does not explain message types, chat_id formats, behavior differences from lark_reply_message or lark_send_card, or output details. Even with an output schema, the description lacks the contextual depth needed for effective tool selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions for chat_id, content, and msg_type. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '发送消息到飞书聊天' (send message to Feishu chat) clearly states the tool's action and resource. It is specific and distinguishable from sibling tools like lark_reply_message (reply) and lark_send_card (send card).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool relative to alternatives. The description does not mention lark_reply_message, lark_send_card, or any exclusions or prerequisites, leaving the agent without decision-support information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.1.0
    • First observedlark_get_agenda
    • First observedlark_get_chat_members
    • First observedlark_get_user_info
    • First observedlark_list_chats
    • First observedlark_list_messages
    • First observedlark_reply_message
    • First observedlark_send_card
    • First observedlark_send_message

TDQS

B3.3/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource and action: sending, replying, listing chats, getting members, viewing messages, sending cards, user info, and agenda. While send_message and send_card both send to a chat, their descriptions clearly distinguish text from interactive cards, leaving no ambiguity.

Naming Consistency5/5

All tool names follow the same pattern: lark_verb_noun (e.g., lark_send_message, lark_list_chats). The verbs are consistent (send, reply, list, get) and all use snake_case, making the naming uniform and predictable.

Tool Count5/5

With 8 tools, the server is well-scoped for a collaboration platform covering messaging, chat management, user info, and agenda reading. Each tool earns its place without being overwhelming or sparse.

Completeness3/5

The server covers core messaging workflows (send, reply, list history) and read operations for chats and users, but lacks write operations for chats (create/update/delete), message editing/deletion, and calendar management beyond reading. These gaps could cause agents to hit dead ends when trying to manage resources.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A tool designed to help users connect AI Agents with the Feishu/Lark platform, encapsulating Feishu/Lark Open Platform API interfaces as MCP tools for document processing, conversation management, calendar scheduling and more.
    7,954
    -