Lark MCP
Lark Agentx - あなたの飛書(Lark) AIアシスタント 🚀
飛書(Lark)ベースのAIエージェントであり、大規模言語モデルが飛書を通じて関数呼び出しやメッセージ処理を行えるようにします。
飛書ボットの設定は不要で、あなたの飛書アカウントがそのままAIアシスタントになります。
関数とコメントを定義するだけで、飛書ボットがシナリオに応じて自動的に呼び出します。
プロジェクト概要 🌟
Lark Agentxは、以下の機能を備えたモダンなPythonアプリケーションです:
📊 飛書のProtobuf形式で転送されるWebsocketsとAPIをリバースエンジニアリングし、メッセージを監視・記録
🤖 大規模言語モデルが呼び出せるカスタム関数を提供
🔄 MCP (Model Context Protocol) に基づく関数呼び出しフレームワークの実装
💾 SQLAlchemyを使用してメッセージをMySQLデータベースに保存
Related MCP server: Feishu MCP Server
スクリーンショット🧸
✨ 機能の特徴
関数登録メカニズム: 直感的でシンプルな関数登録デコレータ
メッセージ自動処理: 受信したすべてのメッセージ(個人チャットおよびグループチャット)を記録
非同期処理: async/awaitパターンを採用した非同期通信
データ永続化: SQLAlchemyを使用してMySQLデータベースにメッセージを保存
柔軟な設定: 環境変数による設定
コンテナ化デプロイ: Dockerによる迅速なデプロイをサポート
インテリジェントな関数呼び出し: AIがユーザーの入力テキストを自動的に分析し、最適な関数を呼び出します。開発者は関数とそのコメント説明を追加するだけです
📦 現在サポートされている関数
プロジェクトには、大規模言語モデルが呼び出せる以下の関数が組み込まれています:
関数名 | 説明 |
| ランダムなジョークを言う |
| 現在時刻を取得する |
| ランダムな運勢を占う |
| 都市の天気を取得する |
| 今日の発言者数を集計する |
| 今日最も発言したユーザーを取得する |
| 指定したユーザーにメッセージを送信する |
| 利用可能なすべてのツールとその説明をリストアップする |
| テキストから注文番号、商品名、数量などの注文情報を抽出する |
飛書でトリガーコマンドを入力し、その後に実行したい操作を続けることで、これらの機能を呼び出すことができます。例: /run ジョークを言って
📂 プロジェクト構造
project/
├── app/ # 应用程序模块
│ ├── api/ # API相关模块
│ │ ├── auth.py # 认证模块
│ │ └── lark_client.py # 飞书客户端
│ ├── config/ # 配置模块
│ │ └── settings.py # 应用配置
│ ├── core/ # 核心业务逻辑
│ │ ├── mcp_server.py # MCP服务器(函数注册和处理)
│ │ ├── llm_service.py # LLM服务
│ │ └── message_service.py # 消息处理服务
│ ├── db/ # 数据库相关
│ │ ├── models.py # 数据模型
│ │ └── session.py # 数据库会话管理
│ └── utils/ # 工具函数
├── builder/ # 请求构建器
├── extension/ # 扩展功能
│ └── weather_api/ # 天气API集成
├── static/ # 静态资源
│ ├── resource/ # 图片资源
│ ├── proto_pb2.py # 协议定义
│ └── lark_decrypt.js # 飞书解密工具
├── .env # 环境变量
├── main.py # 应用入口
├── requirements.txt # 项目依赖
├── docker-compose.yml # Docker Compose配置
└── Dockerfile # Docker配置🛠️ カスタム関数の開発
app/core/mcp_server.py ファイル内で、@register_tool デコレータを使用して独自のカスタム関数を追加できます:
@register_tool(name="tell_joke", description="讲一个随机笑话")
def tell_joke() -> str:
jokes = [
"为什么程序员都喜欢黑色?因为他们不喜欢 bug 光。",
"Python 和蛇有什么共同点?一旦缠上你就放不下了。",
"为什么 Java 开发者很少被邀去派对?因为他们总是抛出异常。",
]
return random.choice(jokes)
@register_tool(name="send_message", description="给指定用户发送消息 {user:用户名称 content:消息内容}")
def send_message(user: str, content: str) -> str:
"""给指定用户发送私信"""
lark_client = LarkClient(get_auth())
# ... 实现逻辑 ...
return f"成功向 {user} 发送了私信: '{content}'"重要: 関数とそれに対応する説明を追加するだけで、AIがユーザーのテキストに基づいて自動的に分析し、最適な関数を呼び出します。手動で関数マッチングロジックを実装する必要はありません。
🔧 環境要件
Python 3.10+
Node.js 18+
MySQLデータベース
📦 インストール方法
ローカル環境での使用
依存関係のインストール:
pip install -r requirements.txtWindowsユーザーへの注意: Windowsシステムでは、以下の依存関係を別途インストールする必要があります:
pip install win-inet-pton==1.1.0
Dockerの使用
方法1:イメージを個別にビルド
# 构建镜像
docker build -t feishuapp .
# 运行容器 需要外部mysql 通过docker网关连接宿主机mysql 推荐--env-file
docker run -it feishuapp bash方法2:Docker Composeを使用(推奨)
# 启动所有服务(应用和数据库)
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止所有服务
docker-compose downDocker Composeを使用すると、MySQLデータベースとアプリケーションサービスを含むアプリケーション環境全体をワンクリックで起動でき、より便利で効率的です。
🛠️ 設定説明
.env.example ファイルをコピーして .env ファイルを作成し、以下の設定を行います:
# 数据库设置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=123456
DB_NAME=lark_messages
# 飞书的Cookie设置 - 只需配置LARK_COOKIE即可,告别飞书机器人
LARK_COOKIE=""
# 调用函数的触发前缀 (以FUNCTION_TRIGGER_FLAG开头的消息会被大模型解析,所有消息都会被记录到数据库,无论是否以该前缀开头)
FUNCTION_TRIGGER_FLAG="/run"
# 机器人发言前缀 (暂未使用)
AI_BOT_PREFIX="Lark AI Bot:"
# OpenAI API配置 默认是通义千问的,满足OpenAI的大模型厂商都可以
OPENAI_API_KEY=""
OPENAI_API_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
OPENAI_API_MODEL="qwen-plus"🚀 使用ガイド
アプリケーションの実行
方法1:直接実行
python main.py方法2:Docker Composeを使用
docker-compose up -dアプリケーションは以下の動作を行います:
MCPサーバーの初期化
飛書APIへの接続と、あなたの飛書アカウントをAIアシスタントとして使用
受信メッセージの監視
飛書を通じて開始された大規模言語モデルによる関数呼び出しの処理と実行
メッセージをMySQLデータベースに保存
🗄️ データベース構造
アプリケーションはメッセージを messages テーブルに保存します。このテーブルの構造は以下の通りです:
列名 | 型 | 説明 |
id | INT (PK) | 主キー |
user_name | VARCHAR(255) | メッセージ送信者の名前 |
user_id | VARCHAR(255) | 送信者の飛書ユーザーID |
content | TEXT | メッセージ内容 |
is_group_chat | BOOLEAN | グループチャットからのメッセージかどうか |
group_name | VARCHAR(255) | グループチャット名(該当する場合) |
chat_id | VARCHAR(255) | チャットID |
message_time | DATETIME | メッセージ送信時間 |
created_at | DATETIME | レコード作成時間 |
🤝 貢献ガイド
貢献を歓迎します!お気軽にPull Requestを送信してください。
このリポジトリをForkする
特徴ブランチを作成する (
git checkout -b feature/amazing-feature)変更をコミットする (
git commit -m '素晴らしい機能を追加')ブランチにプッシュする (
git push origin feature/amazing-feature)Pull Requestを開く
🐛 問題とサポート
問題が発生した場合や質問がある場合は、issueを提出するか、ディスカッションフォーラムにアクセスしてください。
📈 Starの推移
🍔 交流グループ
クローラーやAIエージェントに興味がある方は、作者のホームページにあるWeChatから招待を受けてグループチャットに参加してください。
ps: グループ7に参加してください。満員または期限切れの場合はissueで通知してください | WeChatでリマインド

This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA zero-configuration MCP server enabling AI assistants to interact with Feishu (Lark) workspace through OAuth authentication, supporting document operations, content creation, and advanced file management.37MIT
- AlicenseNot gradedqualityFmaintenanceA remote Model Context Protocol server for Feishu (Lark) that supports OAuth authentication and deployment on Cloudflare Workers. It allows AI clients to interact with Feishu documents, perform content searches, and manage document blocks with a zero-configuration experience.85MIT
- AlicenseBqualityFmaintenanceAn MCP server that exposes Feishu/Lark capabilities as function tools to MCP-compatible agents like Hermes and Claude Desktop. It provides 57 tools for messaging, document management, calendar operations, and task management through both hand-written fallback tools and bridged OpenClaw SDK functionality.531MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that pushes Feishu (Lark) messages to Claude Code sessions and allows Claude to reply directly in Feishu.2MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
A Model Context Protocol server for Wix AI tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cv-cat/LarkAgentX'
If you have feedback or need assistance with the MCP directory API, please join our Discord server