MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Lark Open Platform MCP Server — Connect AI assistants to Lark/Feishu

Created 4/9/2026
Updated about 5 hours ago
Repository documentation and setup instructions

Lark MCP Server

MCP server for Lark Open Platform. Supports Claude Desktop (stdio) and HTTP multi-session transports. ~42 tools across messages, docs (Base/Bitable, Sheets, Documents), and tasks.

Setup

1. Create a Lark Internal App

  • Go to https://open.larksuite.com/app → Create app → Internal app
  • Note down App ID and App Secret
  • Under "Permissions & Scopes", enable required permissions (see table below)
  • Under "Version Management & Release", publish the app

2. Required Permissions

| Feature | Required Permissions | |---------|---------------------| | Messages | im:message, im:message:send_as_bot, im:chat:readonly | | Base/Bitable | bitable:app, bitable:app:readonly | | Sheets | sheets:spreadsheet, sheets:spreadsheet:readonly | | Documents | docx:document, docx:document:readonly | | Tasks | task:task, task:task:write |

3. Install

npm install
npm run build

Environment Variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | LARK_APP_ID | Yes | — | Lark internal app ID | | LARK_APP_SECRET | Yes | — | Lark internal app secret | | LARK_BASE_URL | No | https://open.larksuite.com/open-apis | Use https://open.feishu.cn/open-apis for China region | | PORT | No | 3000 | HTTP server port | | LARK_RATE_LIMIT | No | 50 | Max requests per second |

Copy .env.example to .env and fill in your values:

cp .env.example .env
# Edit .env with your Lark app credentials

Usage

Claude Desktop (stdio)

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "lark": {
      "command": "node",
      "args": ["/path/to/lark-mcp/dist/cli.js", "mcp"],
      "env": {
        "LARK_APP_ID": "cli_xxxx",
        "LARK_APP_SECRET": "xxxx"
      }
    }
  }
}

Or with CLI args:

node dist/cli.js mcp --app-id cli_xxxx --app-secret xxxx

HTTP Server (multi-session)

node dist/cli.js mcp --app-id cli_xxxx --app-secret xxxx --mode http --port 3000

Connect via MCP client to http://localhost:3000/mcp.

Docker

docker build -t lark-mcp .

# Using env file
docker run --rm --env-file .env -p 3000:3000 lark-mcp

# Or passing env vars directly
docker run --rm -e LARK_APP_ID=cli_xxxx -e LARK_APP_SECRET=xxxx lark-mcp

# HTTP mode
docker run --rm --env-file .env -p 3000:3000 lark-mcp --mode http

Available Tools & Presets

Presets

| Preset | Description | |--------|-------------| | preset.default | All ~42 tools | | preset.readonly | Read-only GET tools only | | preset.messages | Messages + chats (10 tools) | | preset.docs | Base + Sheets + Documents (22 tools) | | preset.tasks | Tasks + tasklists (10 tools) |

Use with: node dist/cli.js mcp --tools preset.readonly ...

Tool Reference

Messages (7 tools)

  • lark_message_send — Send message to user or chat
  • lark_message_get — Get message by ID
  • lark_message_list — List messages in a chat
  • lark_message_update — Edit a message
  • lark_message_delete — Delete a message
  • lark_message_reply — Reply to a message
  • lark_message_forward — Forward a message

Chats (3 tools)

  • lark_chat_list — List chats
  • lark_chat_get — Get chat info
  • lark_chat_members — List chat members

Base/Bitable (10 tools)

  • lark_base_create, lark_base_get — App management
  • lark_base_table_list, lark_base_table_create — Table management
  • lark_base_record_list, lark_base_record_get, lark_base_record_create, lark_base_record_update, lark_base_record_delete — Record CRUD
  • lark_base_field_list — List fields

Sheets (6 tools)

  • lark_sheet_create, lark_sheet_get, lark_sheet_list — Spreadsheet management
  • lark_sheet_values_read, lark_sheet_values_write, lark_sheet_values_append — Value operations

Documents (6 tools)

  • lark_document_create, lark_document_get — Document management
  • lark_document_content — Get raw text content
  • lark_document_blocks_list, lark_document_block_create, lark_document_block_update — Block operations

Tasks (10 tools)

  • lark_task_create, lark_task_get, lark_task_list, lark_task_update, lark_task_delete — Task CRUD
  • lark_task_complete — Complete a task
  • lark_task_add_members, lark_task_remove_members — Member management
  • lark_tasklist_list, lark_tasklist_create — Tasklist management

List all tools

node dist/cli.js tools
node dist/cli.js tools --project messages

License

MIT

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-lark-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "haudnn-lark-mcp": { "command": "npx", "args": [ "haudnn-lark-mcp" ] } } }