Skip to main content

feishu-interaction

Feishu/Lark platform interaction via MCP - documents, tasks, calendar, Bitable, messaging

Quellinformationen

Repository
markus-global/markus
Letzte Quellaktivität
27. Juli 2026 um 10:18
Erkannte Sprache von SKILL.md
Englisch
Sterne
201
Forks
15

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
feishu-interaction
description
Feishu/Lark platform interaction via MCP - documents, tasks, calendar, Bitable, messaging
# Feishu/Lark Platform Interaction You have access to the Feishu/Lark platform via MCP tools (prefixed `feishu-lark__`). This enables you to interact with the user's Feishu workspace: search and read documents, manage tasks, create calendar events, operate Bitable databases, and send messages. ## Available Capabilities ### Documents (文档) - `docx.v1.document.rawContent` — Read document content - `docx.builtin.import` — Import documents (create new docs from content) - `docx.builtin.search` — Search documents by keyword - `wiki.v2.space.getNode` — Get Wiki node content - `wiki.v1.node.search` — Search Wiki nodes ### Tasks (任务) - `task.v2.task.create` — Create a new task with title, description, due date - `task.v2.task.patch` — Update an existing task - `task.v2.task.addMembers` — Add members to a task - `task.v2.task.addReminders` — Add reminders to a task ### Calendar (日历) - `calendar.v4.calendarEvent.create` — Create a calendar event - `calendar.v4.calendarEvent.patch` — Modify a calendar event - `calendar.v4.calendarEvent.get` — Get calendar event details - `calendar.v4.freebusy.list` — Query free/busy status - `calendar.v4.calendar.primary` — Get primary calendar info ### Bitable (多维表格) - `bitable.v1.appTable.list` — List tables in a base - `bitable.v1.appTableField.list` — List fields in a table - `bitable.v1.appTableRecord.search` — Search records - `bitable.v1.appTableRecord.create` — Create records - `bitable.v1.appTableRecord.update` — Update records ### Messaging (消息) - `im.v1.message.create` — Send a message to a chat or user - `im.v1.message.list` — List messages in a chat - `im.v1.chat.create` — Create a new group chat - `im.v1.chat.list` — List chats the bot is in ### Contacts (通讯录) - `contact.v3.user.batchGetId` — Batch get user IDs by email/mobile ## Best Practices ### Document Operations 1. **Search before read** — Always search for documents first to find the correct `document_id` 2. **Prefer Wiki nodes** — If the user mentions "知识库" or "Wiki", use wiki APIs 3. **Cite sources** — When referencing document content in replies, include the document title ### Task Management 1. **Match user intent** — When user says "帮我创建一个任务", use `task.v2.task.create` 2. **Set due dates** — Always ask for or infer a due date when creating tasks 3. **Add members** — If the user mentions specific people, resolve their user IDs via contacts API first ### Calendar Events 1. **Check availability** — Before creating an event, use `freebusy.list` to check conflicts 2. **Time zones** — Default to Asia/Shanghai unless the user specifies otherwise 3. **Include details** — Set description, location, and attendees when provided ### Bitable Operations 1. **Discover structure** — List tables and fields before searching records 2. **Filter queries** — Use search with filter conditions rather than fetching all records 3. **Batch operations** — For multiple records, prefer batch create/update when available ### Messaging 1. **Format appropriately** — Use markdown formatting for rich messages 2. **Respect context** — Only send messages when the user explicitly asks to notify someone 3. **Interactive cards** — For structured information, use `msg_type: 'interactive'` with card JSON 4. **Send text** — Prefer native tool `feishu_send_message` (or MCP `im.v1.message.create`) 5. **Send local images** — Use native tool `feishu_send_image` with the absolute file path. Feishu MCP **cannot** upload images/files. Never claim an image was sent via MCP alone. 6. **Empty chat list** — `im.v1.chat.list` only returns groups the bot has joined. If it returns `items: []`, do **not** give up: resolve the user's `open_id` (e.g. via `calendar.v4.calendar.primary` → `user_id`, or `contact.v3.user.batchGetId`) and send with `receive_id_type=open_id` (p2p / "发到我的飞书"). ## Important Notes - Tool names are prefixed with `feishu-lark__` (e.g., `feishu-lark__docx.builtin.search`) - Document editing is NOT supported — you can only read and import - File/image upload via MCP is NOT supported — use `feishu_send_image` for local images - Always handle API errors gracefully and report them to the user - Respect rate limits: 1000 requests/minute per API endpoint ## Permission Error Handling When a tool call returns an error containing `code: 99991672` or "Access denied...scopes required", it means the Feishu application has not been granted the necessary API permissions. In this case: 1. **Extract the authorization URL** from the error message (starts with `https://open.feishu.cn/app/`) 2. **Present the link to the user** clearly, explaining they need to click it to authorize the required permissions 3. **Do NOT retry** the same tool call — it will continue to fail until permissions are granted 4. **List the missing scopes** mentioned in the error so the user knows what to authorize Example response format: > The Feishu app needs additional permissions to perform this operation. > Please open the following link to authorize, then try again: > > [https://open.feishu.cn/app/cli_xxx/auth?q=docs:doc,drive:drive,...](https://open.feishu.cn/app/cli_xxx/auth?q=docs:doc,drive:drive,...) > > Missing scopes: docs:doc, drive:drive Always use the full URL as both the link text AND the href (i.e. `[full_url](full_url)`), so the user can both see the complete URL and click it directly.
Auf GitHub ansehen