| 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
- Search before read โ Always search for documents first to find the correct
document_id
- Prefer Wiki nodes โ If the user mentions "็ฅ่ฏๅบ" or "Wiki", use wiki APIs
- Cite sources โ When referencing document content in replies, include the document title
Task Management
- Match user intent โ When user says "ๅธฎๆๅๅปบไธไธชไปปๅก", use
task.v2.task.create
- Set due dates โ Always ask for or infer a due date when creating tasks
- Add members โ If the user mentions specific people, resolve their user IDs via contacts API first
Calendar Events
- Check availability โ Before creating an event, use
freebusy.list to check conflicts
- Time zones โ Default to Asia/Shanghai unless the user specifies otherwise
- Include details โ Set description, location, and attendees when provided
Bitable Operations
- Discover structure โ List tables and fields before searching records
- Filter queries โ Use search with filter conditions rather than fetching all records
- Batch operations โ For multiple records, prefer batch create/update when available
Messaging
- Format appropriately โ Use markdown formatting for rich messages
- Respect context โ Only send messages when the user explicitly asks to notify someone
- Interactive cards โ For structured information, use
msg_type: 'interactive' with card JSON
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 upload/download is NOT supported via MCP
- 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:
- Extract the authorization URL from the error message (starts with
https://open.feishu.cn/app/)
- Present the link to the user clearly, explaining they need to click it to authorize the required permissions
- Do NOT retry the same tool call โ it will continue to fail until permissions are granted
- 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,...
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.