Feishu User Plugin logo

Feishu User Plugin

by EthanQC

Connects MCP clients to Feishu/Lark for user-authenticated messaging, collaboration APIs, documents, calendars, tasks, OKR, and events.

Install Feishu User Plugin

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ethanqc-feishu-user-plugin": {
      "command": "npx",
      "args": [
        "-y",
        "feishu-user-plugin"
      ],
      "env": {
        "LARK_COOKIE": "YOUR_VALUE_HERE",
        "LARK_APP_ID": "YOUR_VALUE_HERE",
        "LARK_APP_SECRET": "YOUR_VALUE_HERE",
        "LARK_USER_ACCESS_TOKEN": "YOUR_VALUE_HERE",
        "LARK_USER_REFRESH_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 85 tools correctly (11d ago).

Overview

EthanQC/feishu-user-plugin MCP server connects MCP clients to Feishu/Lark through user cookie authentication, OAuth user tokens, or app credentials. It exposes tools for messaging, group and private-chat access, documents, bitables, wiki, drive, calendar, tasks, OKR, contacts, and real-time events. Use it when an agent needs to act as a Feishu user or access multiple Feishu work domains through MCP. Cookie-based messaging has fewer setup requirements, while most other capabilities require a Feishu custom app.

Use cases

  • Send Feishu messages as the signed-in user
  • Summarize group or private-chat conversations
  • Read and update Feishu documents and bitables
  • Manage calendars, tasks, and OKR progress
  • Receive Feishu events through a shared WebSocket

Key features

  • User-identity messaging through cookie or OAuth paths
  • Official Feishu API access with app credentials
  • Document, bitable, wiki, and drive operations
  • Calendar, Task v2, OKR, and contact tools
  • Multi-profile credential management
  • Machine-level WebSocket event delivery

Tools85

What Feishu User Plugin lets your agent do. Expand a tool for its parameters.

Verified live~15.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

5/5 checks healthy over the last 30d

What it can do

From the 85 tools this server returned when we ran it.

Can delete or modify data · 15Writes files · 4Handles credentials · 13Makes network requests · 10Read-only tools · 66
Network at startup3 connections
Files written at startupNone
Install scriptsprepare
npm provenanceNot published
Package age219 days
Maintainers1

Observed 2026-10-15 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · feishu-user-plugin (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars11Stargazers on the source repository.
npm downloads3.1kPackage downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed85Callable tools this server registers over MCP.
Directory activity9 viewsConfig copies, upvotes, and views on AllMCPs.

How Feishu User Plugin works

What EthanQC/feishu-user-plugin MCP server does

EthanQC/feishu-user-plugin MCP server exposes Feishu and Lark operations through MCP, with 85 tools and nine MCP prompts. Its coverage includes instant messaging, document reading and writing, bitables, knowledge bases, cloud storage, calendars, Task v2, OKR, contacts, and real-time events.

Messaging can use the signed-in user identity rather than a bot identity. Supported user-style message operations include text, images, files, rich-text posts, cards, mentions, and batch sending, although the available path depends on the authentication method. The server also supports reading group and private conversations, expanding forwarded messages, and extracting linked Feishu documents.

How it works

The server offers three separate credential layers. A Feishu web cookie supports user-identity messaging through a cookie and protobuf path. An app ID and app secret provide official API access for bot operations and most collaboration domains. OAuth user access and refresh tokens support private-message reads, user chat lists, and user-owned writes for documents, bitables, and calendars.

These layers can be configured independently, so a deployment may enable only the capabilities it needs. Multiple profiles can be stored locally, with read operations able to retry across profiles when configured access fails. Write operations do not switch profiles automatically; a call can specify a profile explicitly with via_profile.

For real-time events, one process on the machine owns the WebSocket connection and shares events through a local JSONL file. The default subscription is im.message.receive_v1; other event subscriptions can be configured in the profile credentials. This WebSocket mode currently supports feishu.cn, not the international Lark service.

Setup and configuration

Install with Node.js 18 or newer. The documented setup flow uses npx feishu-user-plugin setup --app-id <APP_ID> --app-secret <APP_SECRET>, followed by npx feishu-user-plugin oauth when OAuth user credentials are needed. Cookie credentials can be obtained through the documented Playwright or browser developer-tools flow.

Configuration templates are provided for Claude Code, Claude Desktop, Codex, Cursor, VS Code, and Windsurf, with client-specific file paths and top-level keys. The setup command can target Claude Code, Codex, or both. Credentials are stored locally in ~/.feishu-user-plugin/credentials.json with restrictive file permissions; an optional event log is stored under the same directory.

Tools and capabilities

  • Send messages as the user or through bot/API paths.
  • Read group conversations and P2P chats.
  • Read and modify Feishu documents, bitables, wiki content, and drive resources.
  • Read and write calendar data, manage Task v2 resources, and work with OKR progress.
  • Search or access contacts and inspect authentication status.
  • Manage the shared WebSocket event connection.
  • Use prompts for sending, replying, digesting conversations, searching, document work, table work, wiki, drive, and status checks.

Limitations and notes

Cookie authentication expires after roughly 12–24 hours without a heartbeat and depends on Feishu’s web protocol, so protocol changes can affect that path. Cookie-based sending has a narrow zero-app setup scope: plain text and post-style user messages do not require an app, but image and file messages still need keys obtained through official upload APIs. Card sending through the cookie path is unavailable and uses the bot route.

Most non-messaging features still require a Feishu custom app with LARK_APP_ID and LARK_APP_SECRET. The server does not cover every Feishu business domain; the documented comparison specifically identifies email, approvals, attendance, HR, recruiting, and meeting minutes as outside its scope. Real-time WebSocket events are unavailable for international Lark accounts.

EthanQC/feishu-user-plugin runs locally. The project states that it does not collect telemetry or contact an author-operated backend, and that credentials remain on the user’s machine. Removing the local credentials directory and uninstalling the package removes the stored local data.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Feishu User Plugin

EthanQC/feishu-user-plugin is an MCP server that connects AI clients to Feishu/Lark. Its main tools send messages as a user or bot, read chats, manage documents, bitables, wiki, drive, calendars, tasks, OKR, contacts, and real-time events through cookie, OAuth, or app credentials.

Install it with Node.js 18 or newer using `npx feishu-user-plugin setup --app-id <APP_ID> --app-secret <APP_SECRET>`. Run `npx feishu-user-plugin oauth` if OAuth user credentials are needed, then configure or restart the MCP client.

Yes, EthanQC/feishu-user-plugin documents Cursor as a supported MCP client. Its project-level configuration uses `.cursor/mcp.json` with the `mcpServers.feishu` entry, and the setup command can generate client configuration for supported targets.

Yes, it can send messages as the user through a Feishu OAuth scope or its cookie and protobuf path. Cookie-based text and post messages can avoid creating an app, while image and file messages still require official API uploads for their keys.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewFeishu User Plugin AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ethanqc-feishu-user-plugin?style=directory)](https://allmcps.com/mcp/ethanqc-feishu-user-plugin)
HTML Embed
<a href="https://allmcps.com/mcp/ethanqc-feishu-user-plugin"><img src="https://allmcps.com/api/badge/ethanqc-feishu-user-plugin?style=directory" alt="Feishu User Plugin on AllMCPs" /></a>