PlugWiki

Lark and Feishu MCP Server Setup for Claude Code, Cursor and Other Apps

OfficialLocal
Getnpm@larksuiteoapi/lark-mcplarksuite/lark-openapi-mcp

Lets Claude and other assistants send Lark and Feishu messages and work with docs, Bases, the Wiki and calendars.

This is Lark's own server for the Feishu and Lark Open Platform. You create a Lark app, put its app ID and secret in the config, and your assistant can then act through that app, or as you after a one-time sign-in. By default it turns on 19 common tools for chats, Bases, documents and the Wiki. Many more platform APIs can be switched on by name, and the project warns that those have not been tested with assistants.

Good for

  • Teams on Lark or Feishu who want Claude to post messages and summarize chats
  • Ops and project managers who keep data in Lark Base tables
  • Anyone who wants Claude to read, search and share Lark docs and Wiki pages
  • Developers building on the Lark Open Platform

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install @larksuiteoapi/lark MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the @larksuiteoapi/lark MCP server to Claude Code. Run this command:
    
    claude mcp add lark -- npx -y @larksuiteoapi/lark-mcp mcp -a <your_app_id> -s <your_app_secret>
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js, Lark or Feishu app ID and secret.

Create an app in the Lark or Feishu developer console and replace the two placeholders with its app ID and secret. For the international Lark, add the domain option with https://open.larksuite.com. To act as a user, run the package's login command first and add the OAuth option.

Built from the package data we hold. Not yet tested by us.

Tools

  • Sends a chat message

    Posts a message to a person or group chat as your app or as you.

    Try: “Send "standup moved to 10:30" to the Design group.”

    Write · im_v1_message_create

  • Reads messages in a chat

    Returns the message history of a chat.

    Try: “Show the latest messages in the Launch channel.”

    Network · im_v1_message_list

  • Creates a group chat

    Starts a new group chat with the name and members you give.

    Try: “Create a group chat called Q4 Planning.”

    Write · im_v1_chat_create

  • Lists group chats

    Returns the group chats the app or you can see.

    Try: “List my group chats.”

    Network · im_v1_chat_list

  • Lists who is in a group chat

    Returns the members of a given group chat.

    Try: “Who is in the Launch group?”

    Network · im_v1_chatMembers_get

  • Creates a Base

    Creates a new Base, Lark's database-style workspace.

    Try: “Create a Base called Bug Tracker.”

    Write · bitable_v1_app_create

  • Adds a table to a Base

    Creates a data table inside an existing Base.

    Try: “Add a table called Releases to the Bug Tracker Base.”

    Write · bitable_v1_appTable_create

  • Lists tables in a Base

    Returns the tables that exist in a Base.

    Try: “What tables are in the Bug Tracker Base?”

    Network · bitable_v1_appTable_list

  • Lists the columns of a table

    Returns the fields of a Base table, with their types.

    Try: “What columns does the Releases table have?”

    Network · bitable_v1_appTableField_list

  • Searches rows in a table

    Finds records in a Base table that match your filters.

    Try: “Find open bugs assigned to Maya.”

    Network · bitable_v1_appTableRecord_search

  • Adds a row to a table

    Creates a new record in a Base table.

    Try: “Add a bug titled "Login fails on Safari" to the table.”

    Write · bitable_v1_appTableRecord_create

  • Edits a row in a table

    Changes the values of an existing record in a Base table.

    Try: “Mark bug 42 as fixed.”

    Write · bitable_v1_appTableRecord_update

Read from the source code

Permissions

medium risk · 5 things to watch

Medium risk

The assistant can send messages, edit Base records, import documents and change who can access files, as your Lark app or as you. Give the app only the permissions you need, and keep the default tool set unless you must enable more.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • The app secret sits in the config arguments

    The setup passes the app ID and secret as command arguments, so they appear in your client config and in process lists. Keep the config private and rotate the secret if it leaks. github.com

  • It can message people and change file access

    Default tools send messages, edit Base records and add collaborators to files. Restrict the app's permissions in the Lark console to what you need. github.com

  • The tools option can enable delete actions

    The tool catalog covers many more APIs than the default 19, including ones that delete. The project says those untested APIs may not work well with assistants. Enable them only by name. registry.npmjs.org

  • HTTP modes can listen on every interface

    Streamable and SSE modes listen on localhost by default, but the host option accepts 0.0.0.0. Keep it on localhost. github.com

  • The project calls this a beta

    The README says features and APIs may change between versions. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only switch is documented. You can limit the tool list with the tools option and the app's own permissions in the Lark console.
Talks toFeishu or Lark Open Platform (open.feishu.cn, or open.larksuite.com with the domain option)
Sign-in and keysApp ID and app secret go in the command arguments. A signed-in user token is stored locally after the login command.

Questions

Is the Lark MCP server official?

Yes. The README calls it the Feishu/Lark official OpenAPI MCP tool, and it comes from the larksuite organization.

What do I need before installing?

A Feishu or Lark app with its app ID and app secret, created in the developer console, plus Node.js. Add the permissions your use case needs to the app.

Does it work with Lark outside China?

Yes. Add the domain option with https://open.larksuite.com for the international Lark. The default domain is open.feishu.cn.

Can it act as me instead of the app?

Yes. Run the login command once to sign in with your Lark account, then add the OAuth option to the server arguments. You can also pass a user token directly, but it expires after 2 hours.

How many tools does it have?

The default set has 19 tools. The 0.5.1 package ships 1,274 in its catalog (1,271 generated API tools and 3 built-in ones), and you turn extra ones on by name, so the list on this page is partial.

How do I turn on more tools?

Use the tools option with tool names or a preset such as the calendar or task preset. The project warns that non-preset APIs have not been compatibility tested.

Why does it ask me to sign in again?

A user token expires. With the OAuth option on, the server asks you to sign in again when it does.

What is the difference between Lark and Feishu?

The server talks to either one through a domain option. The default is https://open.feishu.cn (Feishu). For the international Lark, pass https://open.larksuite.com. Create your app on the matching developer platform.

Information

updated Nov 2, 2026

Publisher
Official
Package
@larksuiteoapi/lark-mcp
Registry
npm
Transport
stdio
Auth
API key
Version
0.5.1
License
MIT

npm

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. github.com · github.com
  2. www.npmjs.com · npmjs.com
  3. registry.npmjs.org · registry.npmjs.org

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.