Skip to the content.

feishu-user-plugin

Feishu / Lark MCP server covering IM, docs, bitable, wiki, drive, calendar, tasks v2, OKR, realtime events. 84 tools · 3 auth layers · 9 MCP prompts · MIT licensed · Node ≥18.

GitHub npm 中文文档 CHANGELOG

Works with Claude Code, Codex, Cursor, Windsurf, VS Code, Claude Desktop, OpenClaw, and any MCP-compatible client.

What sets it apart from other Feishu MCPs: a cookie + protobuf protocol path that supports user-identity messaging — Feishu’s official open API has no send_as_user scope, and bot-token messages are tagged sender_type: "app".

Three auth layers

Layer Credentials Capabilities Tool count
User identity LARK_COOKIE Send text / image / file / post / @ / batch as the user 8
Official API (bot) LARK_APP_ID + LARK_APP_SECRET Group messages, docs, bitable, wiki, drive, calendar, tasks v2, OKR, contacts, realtime WS events 70+
User OAuth UAT LARK_USER_ACCESS_TOKEN + LARK_USER_REFRESH_TOKEN P2P chat reading, user chat list; resources owned by the user when creating docs / bitable / calendar 2 explicit + UAT-first across the suite

Layers are independent — configure any subset.

Core capabilities

Messaging (user identity)

Messaging (official API)

Document suite

Productivity

Realtime events (v1.3.9)

Multi-account (v1.3.8 / v1.3.9 multi-profile auto-switch)

9 MCP prompts (slash commands)

Prompt Purpose
/send Send a message as yourself
/reply Read recent messages then reply
/digest Summarise recent group / P2P messages
/search Search contacts / groups
/doc Search / read / create a Feishu doc
/table Operate on a bitable
/wiki Search Wiki space
/drive List drive files / create folder
/status Check all three auth layers

Quick start

npx feishu-user-plugin setup --app-id <APP_ID> --app-secret <APP_SECRET>
npx feishu-user-plugin oauth     # User OAuth UAT
# restart Claude Code / Codex

Cookie capture: ask Claude Code “set up my Feishu cookie” and it’ll automate via Playwright (QR scan login + extract); or open feishu.cn DevTools, copy the entire Cookie header from any request (don’t use document.cookiesession / sl_session are HttpOnly).

You: send to Wang Xiao Ming as me: "finished the code review, 3 nits"
Claude: [calls send_to_user]  Sent

Full install, per-client config, and tool index: GitHub README.