Lark MCP
Lark Agentx - Ihr Feishu KI-Assistent 🚀
Ein auf Feishu (Lark) basierender KI-Agent, der es großen Sprachmodellen ermöglicht, Funktionsaufrufe und Nachrichtenverarbeitung über Feishu durchzuführen.
Keine Konfiguration eines Feishu-Bots erforderlich, Ihr Feishu-Konto fungiert als KI-Assistent.
Sie müssen lediglich Funktionen und Kommentare definieren; Ihr Feishu-Bot ruft diese automatisch je nach Szenario auf.
Projektübersicht 🌟
Lark Agentx ist eine moderne Python-Anwendung, die Folgendes ermöglicht:
📊 Reverse Engineering von Websockets und APIs, die im Feishu-Protobuf-Format übertragen werden, um Nachrichten zu überwachen und zu protokollieren
🤖 Bereitstellung benutzerdefinierter Funktionen für den Aufruf durch große Sprachmodelle
🔄 Implementierung eines Frameworks für Funktionsaufrufe basierend auf dem MCP (Model Context Protocol)
💾 Speicherung von Nachrichten in einer MySQL-Datenbank mittels SQLAlchemy
Related MCP server: Feishu MCP Server
Screenshots🧸
✨ Funktionen
Funktionsregistrierungsmechanismus: Einfacher und intuitiver Dekorator zur Funktionsregistrierung
Automatische Nachrichtenverarbeitung: Protokollierung aller empfangenen Nachrichten (Privat- und Gruppenchats)
Asynchrone Verarbeitung: Verwendung des async/await-Musters für asynchrone Kommunikation
Datenpersistenz: Speicherung von Nachrichten in einer MySQL-Datenbank mittels SQLAlchemy
Flexible Konfiguration: Konfiguration über Umgebungsvariablen
Containerisierte Bereitstellung: Unterstützung für schnelle Docker-Bereitstellung
Intelligente Funktionsaufrufe: Die KI analysiert Benutzereingaben automatisch und ruft die am besten passende Funktion auf; Entwickler müssen nur die Funktion und deren Kommentarbeschreibung hinzufügen
📦 Aktuell unterstützte Funktionen
Das Projekt enthält derzeit die folgenden integrierten Funktionen für den Aufruf durch große Sprachmodelle:
Funktionsname | Beschreibung |
| Erzählt einen zufälligen Witz |
| Ruft die aktuelle Uhrzeit ab |
| Zieht ein zufälliges Horoskop |
| Ruft das Wetter für eine Stadt ab |
| Ruft die Statistik der heutigen Sprecher ab |
| Ruft den Benutzer mit den meisten Nachrichten heute ab |
| Sendet eine Nachricht an einen bestimmten Benutzer |
| Listet alle verfügbaren Tools und deren Beschreibungen auf |
| Extrahiert Bestellinformationen aus Texten, einschließlich Bestellnummer, Produktname, Menge usw. |
Sie können diese Funktionen aufrufen, indem Sie in Feishu einen Trigger-Befehl gefolgt von der gewünschten Aktion eingeben, z. B.: /run Erzähl einen Witz
📂 Projektstruktur
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配置🛠️ Entwicklung benutzerdefinierter Funktionen
In der Datei app/core/mcp_server.py können Sie Ihre eigenen benutzerdefinierten Funktionen mit dem @register_tool-Dekorator hinzufügen:
@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}'"Wichtig: Fügen Sie einfach die Funktion und die entsprechende Beschreibung hinzu. Die KI analysiert den Text des Benutzers automatisch und ruft die am besten passende Funktion auf; eine manuelle Implementierung der Funktionsabgleichslogik ist nicht erforderlich.
🔧 Systemanforderungen
Python 3.10+
Node.js 18+
MySQL-Datenbank
📦 Installationsmethode
Verwendung der lokalen Umgebung
Abhängigkeiten installieren:
pip install -r requirements.txtHinweis für Windows-Benutzer: Windows-Systeme erfordern die zusätzliche Installation der folgenden Abhängigkeiten:
pip install win-inet-pton==1.1.0
Verwendung von Docker
Methode 1: Image separat erstellen
# 构建镜像
docker build -t feishuapp .
# 运行容器 需要外部mysql 通过docker网关连接宿主机mysql 推荐--env-file
docker run -it feishuapp bashMethode 2: Verwendung von Docker Compose (empfohlen)
# 启动所有服务(应用和数据库)
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止所有服务
docker-compose downMit Docker Compose können Sie die gesamte Anwendungsumgebung, einschließlich der MySQL-Datenbank und der Anwendungsdienste, mit einem Klick starten, was bequemer und effizienter ist.
🛠️ Konfigurationshinweise
Kopieren Sie die Datei .env.example und benennen Sie sie in .env um. Sie enthält die folgende Konfiguration:
# 数据库设置
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"🚀 Benutzerhandbuch
Anwendung ausführen
Methode 1: Direkt ausführen
python main.pyMethode 2: Verwendung von Docker Compose
docker-compose up -dDie Anwendung wird:
Den MCP-Server initialisieren
Eine Verbindung zur Feishu-API herstellen und Ihr Feishu-Konto als KI-Assistent verwenden
Eingehende Nachrichten überwachen
Funktionsaufrufe, die von großen Sprachmodellen über Feishu initiiert wurden, verarbeiten und ausführen
Nachrichten in der MySQL-Datenbank speichern
🗄️ Datenbankstruktur
Die Anwendung speichert Nachrichten in der Tabelle messages, die die folgende Struktur aufweist:
Spaltenname | Typ | Beschreibung |
id | INT (PK) | Primärschlüssel |
user_name | VARCHAR(255) | Name des Nachrichtenabsenders |
user_id | VARCHAR(255) | Feishu-Benutzer-ID des Absenders |
content | TEXT | Nachrichteninhalt |
is_group_chat | BOOLEAN | Ob die Nachricht aus einem Gruppenchat stammt |
group_name | VARCHAR(255) | Gruppenchat-Name (falls zutreffend) |
chat_id | VARCHAR(255) | Chat-ID |
message_time | DATETIME | Sendezeit der Nachricht |
created_at | DATETIME | Erstellungszeitpunkt des Datensatzes |
🤝 Beitrag leisten
Beiträge sind willkommen! Bitte zögern Sie nicht, einen Pull Request einzureichen.
Forken Sie dieses Repository
Erstellen Sie Ihren Feature-Branch (
git checkout -b feature/amazing-feature)Committen Sie Ihre Änderungen (
git commit -m 'Einige großartige Funktionen hinzugefügt')Pushen Sie in den Branch (
git push origin feature/amazing-feature)Öffnen Sie einen Pull Request
🐛 Probleme und Support
Wenn Sie auf Probleme stoßen oder Fragen haben, erstellen Sie bitte ein Issue oder besuchen Sie unser Diskussionsforum.
📈 Star-Trend
🍔 Austauschgruppe
Wenn Sie sich für Crawler und KI-Agenten interessieren, fügen Sie bitte den Autor über die Homepage (WeChat) hinzu, um eine Einladung zur Gruppe zu erhalten.
PS: Bitte treten Sie Gruppe 7 bei. Wenn diese voll oder abgelaufen ist, erstellen Sie ein Issue | WeChat-Erinnerung

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