Lark MCP Server
by junyuan-qi
Lark MCP Server implements the Model Context Protocol (MCP) for Lark/Feishu, enabling AI models to interact with Lark's collaboration features. It acts as a bridge between AI assistants and Lark, allowing for message sending and calendar management.
Last updated: N/A
Lark MCP Server
A Model Context Protocol (MCP) server implementation for Lark/Feishu, enabling MCP-compatible applications to interact with Lark's various collaboration capabilities.
Overview
Lark MCP Server provides a bridge between AI models and Lark's collaboration platform by implementing the Model Context Protocol (MCP) specification. This server allows AI assistants to:
- Send messages to Lark users
- Retrieve calendar events
- Create new calendar events
- Add attendees to calendar events
The server uses the standard I/O (stdio) transport layer to communicate with MCP clients, making it compatible with various AI model implementations that support the MCP standard.
Features
- Message Sending: AI models can send direct messages to Lark users
- Calendar Management:
- List events within a specific time range
- Create new calendar events with customizable details
- Add various types of attendees to events (users, groups, meeting rooms, external emails)
Prerequisites
- Node.js v18 or higher
- A registered Lark/Feishu application with appropriate permissions
- User access token for calendar operations
Installation
-
Clone the repository:
git clone https://github.com/junyuan-qi/lark-mcp-server.git cd lark-mcp-server
-
Install dependencies:
npm install
-
Build the project:
npm run build
Usage
Connecting with an MCP Client
The server communicates via standard input/output (stdio). MCP clients can connect to the server by launching it as a child process and communicating through its stdin/stdout channels.
Setting Up with Claude Desktop
You can integrate this MCP server with Claude Desktop by configuring the Claude Desktop application to recognize and use the Lark MCP server.
1. Configure Claude Desktop to recognize the Lark MCP server
You can find claude_desktop_config.json
inside the settings of Claude Desktop app:
- Open the Claude Desktop app and enable Developer Mode from the top-left menu bar.
- Once enabled, open Settings (also from the top-left menu bar) and navigate to the Developer Option, where you'll find the Edit Config button. Clicking it will open the
claude_desktop_config.json
file, allowing you to make the necessary edits.
Alternatively, you can open claude_desktop_config.json
directly from terminal:
For macOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
For Windows:
code %APPDATA%\Claude\claude_desktop_config.json
2. Add the Lark MCP server configuration
Add the following configuration to the mcpServers
section of your claude_desktop_config.json
:
{
"mcpServers": {
"lark-mcp-server": {
"command": "node",
"args": ["/path/to/lark-mcp-server/build/index.js"],
"env": {
"LARK_APP_ID": "your_app_id",
"LARK_APP_SECRET": "your_app_secret",
"LARK_USER_ID": "target_user_id",
"LARK_CALENDAR_ID": "target_calendar_id",
"LARK_USER_ACCESS_TOKEN": "your_user_access_token"
}
}
}
}
Replace the path and environment variables with your actual values. This configuration tells Claude Desktop how to launch the Lark MCP server and what environment variables to provide.
3. Restart Claude Desktop
For the changes to take effect:
- Completely quit Claude Desktop (not just close the window)
- Start Claude Desktop again
- Look for an icon in the UI to verify the Lark MCP server is connected
Once connected, Claude will be able to send messages to Lark users and manage calendar events on your behalf.
Development
Project Structure
src/index.ts
: Main server implementationbuild/
: Compiled JavaScript filespackage.json
: Project dependencies and scripts
Building
npm run build
This compiles the TypeScript code to JavaScript in the build
directory and sets executable permissions.
Troubleshooting
Check the server logs (written to stderr) for detailed error information. Common issues include:
- Missing environment variables
- Incorrect or expired access tokens
- Insufficient permissions for the Lark application
- Invalid request parameters
License
ISC
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
For more information about the Model Context Protocol, visit the MCP Documentation.
For more information about Lark/Feishu API, visit the Lark Open Platform Documentation.