meeting-summary-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meeting-summary-mcpSummarize yesterday's Feishu meeting and organize action items by department."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
meeting-summary-mcp · Universal Meeting Summary MCP
A universal MCP Server: hand it any meeting (Feishu Minutes/Meeting Notes link, date range, or transcripts exported from Tencent Meeting, etc.), and it will automatically organize it into a standard meeting summary — Meeting Info / Meeting Summary / Meeting Content / To-Dos · Distributed by Department.
Use case: after a meeting → let AI read the meeting content → automatically produce a structured summary, and assign each to-do to the corresponding department ("Product Dept. / Operations Dept. / Brand Dept. …"), saving the manual post-meeting cleanup and item-by-item distribution. Supports Feishu native data + any meeting transcript, not tied to a single meeting platform.
✨ Features (MCP Tools)
Tool | Description |
| Search Feishu meetings/minutes by date range, returns a list |
| Extract token from a Feishu link (minutes/notes/meeting link) |
| Read meeting minutes content (summary/to-dos/chapters/keywords) |
| Read the full meeting transcript (speaker + speech) |
| Read the Feishu smart minutes document (AI summary + to-dos) |
| Core: read a Feishu meeting → map by role config → generate department-based to-do list |
| Read any meeting transcript file/text (txt exported from Tencent Meeting, etc.) |
| Core: from plain transcript (any meeting platform) → generate department-based to-dos, no Feishu dependency |
Related MCP server: claude-slack-to-notion
📦 Installation
1. Install Python dependencies
pip install mcp2. Install and log in to lark-cli (Feishu command-line tool)
npm install -g lark-cli
lark-cli auth loginWhen logging in, scan the QR code with your own Feishu account to authorize, and check the following permission scopes (Scope):
vc:meeting.search:read
vc:meeting.meetingevent:read
vc:record:readonly
minutes:minutes.search:read
minutes:minutes.basic:read
minutes:minutes.artifacts:read
minutes:minutes.transcript:export
vc:note:read
docs:document.content:readIt's fine if you don't select everything at once — you can grant additional permissions later when prompted when using a specific feature.
🔌 Connect to your AI client
Claude Code (VS Code extension / CLI)
Add to mcpServers in settings.json (user or project level):
{
"mcpServers": {
"meeting-summary": {
"command": "python",
"args": ["D:/meeting-summary-mcp/server.py"]
}
}
}Claude Desktop / other MCP-compatible clients
Point to the same in the client's MCP config: command: python, args: [absolute path to server.py].
🚀 Usage Examples
Scenario 1: Search today's / a specific day's meetings
Have AI call search_meetings("2026-08-21", "2026-08-21") to get the meeting list for that day.
Scenario 2: Turn a minutes/notes link into department-based to-dos
Give the meeting minutes link (
.../minutes/obcnxxx) to AITell AI the attendees' roles, for example:
吴楠是北京产品经理,熊燕刚是运营总监,季子禾是直播间运营, 刘晓曼是品牌运营,紫芙BB是品牌对接,王晨旭是直播间运营负责人AI calls
organize_todos_by_department, passingminute_tokenorlinkandroles_json, and gets:
# 会议待办 · 按部门分发
## 产品/技术部
- [ ] 积分问题排查:…(负责人:吴楠·北京产品经理)
## 直播间运营部
- [ ] 直播间GMV录入:…(负责人:王晨旭·直播间运营负责人)Scenario 3: Read the transcript for deep analysis
Call fetch_transcript(minute_token) to get the full text, then have AI independently analyze based on the raw speech (more accurate than directly copying the AI summary).
Scenario 4: Any meeting such as Tencent Meeting (no Feishu dependency)
Hand the meeting transcript exported from Tencent Meeting (txt) directly to AI to read with import_meeting_text, then call organize_todos_from_text combined with the role config to organize to-dos by department:
张三 00:00:10
这个需求需要尽快跟进,明天给产品确认。
李四 00:00:20
培训文档我来输出,会后整理下发给运营。→ organize_todos_from_text(text, roles_json, title) outputs department-grouped to-dos.
WeChat meetings / voice-to-text transcriptions / any transcript work the same way.
🧩 roles_json Role Config Format
The roles_json parameter for organize_todos_by_department:
{
"吴楠": {"role": "北京产品经理", "department": "产品/技术部"},
"熊燕刚": {"role": "运营总监", "department": "运营总监"},
"附子LC-直播运营": {"role": "直播间运营", "department": "直播间运营部"},
"刘晓曼": {"role": "品牌运营", "department": "品牌运营/品牌对接"}
}Key: attendee name (display name in the meeting) or open_id (starting with
ou_)role: job title;department: department (to-dos are grouped by this)To-dos that don't match any department are automatically placed under "To be confirmed / Needs manual assignment"
See
examples/roles_example.jsonfor an example
📄 Output Format (Standard Four-Section Template)
The standard template output by organize_todos_by_department / organize_todos_from_text:
# 会议纪要 · {会议主题}
## 一、会议信息 (主题 / 时间 / 参会人)
## 二、会议摘要 (一段话概括)
## 三、会议内容 (按议题分节)
## 四、待办事项 · 按部门分发
### 🛠️ 部门A
- [ ] 任务(负责人:xxx·岗位)
### 待确认 / 需人工认领Template description and a real example see
examples/meeting_template.md
📁 Project Structure
meeting-summary-mcp/
├── server.py # MCP 入口(FastMCP + 8 个 tools)
├── feishu_client.py # lark-cli 封装(搜索/妙记/纪要/逐字稿)
├── organizer.py # 按部门待办整理逻辑
├── requirements.txt
├── README.md
├── examples/
│ ├── roles_example.json # 岗位配置示例
│ └── output_example.md # 生成的按部门待办示例
└── test/
└── smoke_test.py # 本机冒烟测试🧪 Self-Test
cd meeting-summary-mcp
python test/smoke_test.pyRequires lark-cli to be logged in locally with the corresponding scopes authorized.
🔄 Sharing with Others
Simply package the entire meeting-summary-mcp directory (zip) and send it to the other person. They can follow the three steps in this README — "Install → Authorize → Connect" — to use it with their own AI client + their own Feishu account.
Note: This MCP accesses Feishu via lark-cli. Data is only read within your own account's authorized scope, and meeting content is never leaked across accounts.
This server cannot be deployed
Maintenance
Related MCP Connectors
- AlignOAuthcom.meet-align
Your team's meetings, decisions and tasks: ask what was decided, who owns what, what's due.
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Turn meeting notes or transcripts into a clean structured summary document from chat.
- MyGhostsOAuthapp.myghosts
Send AI bots to attend meetings on your behalf. Get recordings, transcripts, and summaries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Feishu/Lark platform through comprehensive OpenAPI integration, supporting message management, document operations, calendar scheduling, group chats, Bitable operations, and more automation scenarios with dual authentication support.23,334 npmMIT
- AlicenseAqualityDmaintenanceEnables automatic collection and AI analysis of Slack messages to create organized Notion pages, supporting custom analysis directions like meeting minutes, issue extraction, and topic classification.17MIT
- FlicenseDqualityDmaintenanceEnables extracting action items from meeting transcripts and managing them in Notion, with duplicate detection and human review.3-
- AlicenseAqualityCmaintenanceEnables creating meeting minutes from unstructured meeting memos with validation, grounding checks, and user-approved saving.11MIT