MCP ExplorerExplorer

Lark Mcp Server

@junyuan-qion 9 months ago
5 MIT
FreeCommunity
AI Systems
Lark MCP Server is a Model Context Protocol implementation that connects AI models with Lark's collaboration tools. Key features include sending messages to users and managing calendar events, enabling seamless interaction for AI applications. It supports standard I/O communication, ensuring compatibility with various MCP clients.

Overview

What is Lark Mcp Server

Lark MCP Server is an implementation of the Model Context Protocol (MCP) designed for Lark/Feishu, allowing MCP-compatible applications to utilize Lark’s collaboration features.

Use cases

Use cases include integrating AI assistants with Lark for automated messaging, scheduling meetings, and managing calendar events efficiently.

How to use

To use Lark MCP Server, clone the repository, install dependencies, and build the project. Configure your MCP client (like Claude Desktop) to connect to the server and set the necessary environment variables.

Key features

Key features include sending messages to Lark users, managing calendar events (listing, creating, and adding attendees), and using standard input/output for communication with MCP clients.

Where to use

undefined

Content

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

  1. Clone the repository:

    git clone https://github.com/junyuan-qi/lark-mcp-server.git
    cd lark-mcp-server
    
  2. Install dependencies:

    npm install
    
  3. 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:

  1. Open the Claude Desktop app and enable Developer Mode from the top-left menu bar.
  2. 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:

  1. Completely quit Claude Desktop (not just close the window)
  2. Start Claude Desktop again
  3. 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 implementation
  • build/: Compiled JavaScript files
  • package.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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers