lark-mcp
A Model Context Protocol (MCP) server for Feishu/Lark. Lets AI assistants (Cursor, Claude Desktop, etc.) search wiki pages and read/write Feishu documents on your behalf via OAuth.
Features
- search_wiki — Search documents in Feishu Wiki by keywords
- get_doc_content — Read a Feishu document or wiki page by URL
- create_doc — Create a new Feishu document (with optional Markdown content)
- update_doc — Replace or append content in an existing Feishu document (Markdown → Feishu blocks)
Requirements
- Node.js >= 18.14.1
- A Feishu open-platform app with the following permissions:
docx:document,docx:document:readonlywiki:wiki:readonlysearch:docs:read
Setup
-
Install dependencies:
npm install -
Copy the example environment file and fill in your credentials:
cp .env.example .env -
Start the MCP server:
node index.mjs
Environment Variables
| Variable | Required | Description |
|---|---|---|
LARK_APP_ID | Yes | Feishu app ID |
LARK_APP_SECRET | Yes | Feishu app secret |
FEISHU_DOMAIN | No | Your Feishu tenant domain (default: feishu.cn) |
OAUTH_PORT | No | Local port for OAuth callback (default: 9997) |
LARK_OAUTH_SCOPE | No | OAuth scopes (default: docx:document docx:document:readonly wiki:wiki:readonly search:docs:read) |
Cursor / Claude Desktop Integration
Add the following to your MCP config (e.g. ~/.cursor/mcp.json):
{
"mcpServers": {
"lark": {
"command": "node",
"args": ["/path/to/lark-mcp/index.mjs"],
"env": {
"LARK_APP_ID": "your_app_id",
"LARK_APP_SECRET": "your_app_secret",
"FEISHU_DOMAIN": "your-tenant.feishu.cn"
}
}
}
}
License
MIT