Feishu (Lark) MCP server

Integrates with Feishu (Lark) to enable document retrieval, messaging, and collaborative features directly within workplace conversations through a TypeScript implementation that runs as either a CLI or HTTP server.
Back to servers
Setup instructions
Provider
cso1z
Release date
Mar 17, 2025
Language
TypeScript
Package
Stats
7.8K downloads
206 stars

This MCP server enables AI coding tools to access, edit, and process structured content from Feishu documents. It bridges the gap between AI tools like Cursor, Windsurf, and Cline, allowing them to intelligently interact with your Feishu documents.

Installation

Quick Start with NPM

The fastest way to get up and running is using npx:

npx feishu-mcp@latest --feishu-app-id=<YOUR_FEISHU_APP_ID> --feishu-app-secret=<YOUR_FEISHU_APP_SECRET>

Using Smithery Platform

Access the server directly on Smithery platform at: https://smithery.ai/server/@cso1z/feishu-mcp

Local Installation

  1. Clone the repository

    git clone https://github.com/cso1z/Feishu-MCP.git
    cd Feishu-MCP
    
  2. Install dependencies

    pnpm install
    
  3. Configure environment variables

    macOS/Linux:

    cp .env.example .env
    

    Windows:

    copy .env.example .env
    
  4. Edit the .env file

    FEISHU_APP_ID=cli_xxxxx
    FEISHU_APP_SECRET=xxxxx
    PORT=3333
    
  5. Start the server

    pnpm run dev
    

Configuration

Environment Variables

Variable Required Description Default
FEISHU_APP_ID Feishu application ID -
FEISHU_APP_SECRET Feishu application secret -
PORT Server port 3333
FEISHU_AUTH_TYPE Authentication type (user or tenant) tenant
FEISHU_TOKEN_ENDPOINT Custom token API endpoint http://localhost:3333/getToken

Command Line Arguments

Argument Description Default
--port Server listening port 3333
--log-level Log level (debug/info/log/warn/error/none) info
--feishu-app-id Feishu application ID -
--feishu-app-secret Feishu application secret -
--feishu-base-url Feishu API base URL https://open.feishu.cn/open-apis
--cache-enabled Enable caching true
--cache-ttl Cache TTL in seconds 3600
--stdio Run in command mode -
--help Display help menu -
--version Display version -

Configuration for Cursor, Cline, etc.

{
  "mcpServers": {
    "feishu-mcp": {
      "command": "npx",
      "args": ["-y", "feishu-mcp", "--stdio"],
      "env": {
        "FEISHU_APP_ID": "<YOUR_FEISHU_APP_ID>",
        "FEISHU_APP_SECRET": "<YOUR_FEISHU_APP_SECRET>"
      }
    },
    "feishu_local": {
      "url": "http://localhost:3333/sse"
    }
  }
}

Usage Tips

Feishu App Configuration

⚠️ Important: You must configure a Feishu application before using this tool.

For detailed setup instructions, refer to the Feishu documentation on creating an app.

Working with Folders

When creating new documents, it's recommended to provide a Feishu folder token. This helps in efficiently locating and managing documents. You can obtain the folder token from the folder URL - it's the string of characters at the end of the folder link.

Image Upload

When running the MCP server locally, you can upload images using both local absolute paths and http/https network image URLs. When running on a server, only network image links are supported.

Formula Support

You can include formulas using LaTeX syntax in text blocks. The server supports mixing regular text with formula elements like 1+2=3, \frac{a}{b}, \sqrt{x}, etc.

Available Features

Document Management

  • Create new Feishu documents
  • Get document information
  • Get document block structure

Content Editing

  • Batch create multiple blocks
  • Update block text content
  • Delete document blocks

Folder Management

  • Get folder file list
  • Create new folders

Search and Utilities

  • Search documents
  • Convert Wiki links to document IDs
  • Get image resources
  • Get whiteboard content

Advanced Features

  • Create and edit tables
  • Insert flowcharts and mind maps
  • Insert local and remote images
  • Support for formulas

Troubleshooting

Permission Issues

  1. Check application permissions: Ensure your app has necessary document access permissions
  2. Verify document authorization: Confirm the target document is authorized for your application
  3. Check availability scope: Ensure your app's published version scope includes the document owner

For detailed troubleshooting steps:

  1. Get a token using the app_access_token API
  2. Verify document access using the document info API

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "feishu-mcp" '{"command":"npx","args":["-y","feishu-mcp","--stdio"],"env":{"FEISHU_APP_ID":"<\u4f60\u7684\u98de\u4e66\u5e94\u7528ID>","FEISHU_APP_SECRET":"<\u4f60\u7684\u98de\u4e66\u5e94\u7528\u5bc6\u94a5>"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "feishu-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "feishu-mcp",
                "--stdio"
            ],
            "env": {
                "FEISHU_APP_ID": "<\u4f60\u7684\u98de\u4e66\u5e94\u7528ID>",
                "FEISHU_APP_SECRET": "<\u4f60\u7684\u98de\u4e66\u5e94\u7528\u5bc6\u94a5>"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "feishu-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "feishu-mcp",
                "--stdio"
            ],
            "env": {
                "FEISHU_APP_ID": "<\u4f60\u7684\u98de\u4e66\u5e94\u7528ID>",
                "FEISHU_APP_SECRET": "<\u4f60\u7684\u98de\u4e66\u5e94\u7528\u5bc6\u94a5>"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later