Connectors · Work & projects
Lark Suite MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Lark Suite and the rest of your systems. It gives your agent 437 Lark Suite actions (161 reads, 196 writes and 80 that wait for a confirmation) and holds the Lark Suite credential itself, so the agent never does. It paces Lark Suite's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "lark_suite.drive_files.list", intent: "check which Lark Suite account is connected"}# Folder · read · 1 upstream call- 437actionsin one signed file
- 161readlook, never change
- 196writecreate and update
- 80wait for a yesdestructive, confirmed first
Set up
Connect Lark Suite in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Lark Suite.
Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
app_idLark App ID (Developer Console > your custom app > Credentials & Basic Info, starts with cli_)app_secretLark App SecrethostWhere your Lark Suite lives: your host
account { op: "connections.requirements", service: "lark_suite" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "lark_suite.drive_files.list" }# folder · read · 1 upstream callcheck { action: "lark_suite.drive_files.delete", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Lark Suite at a glance
- Sign-in
- Session login. actionlake opens the session and renews it when it expires.
- You provide
app_idapp_secret- Setup fields
host- Limits we pace to
- 20 calls a second, per connection
- API covered
- Lark Suite (Docs, Base, Wiki, Sheets, Drive, Messenger, Calendar, Tasks, Contacts, Approval) API Lark Open Platform server APIs (open-apis), tool definitions of larksuite/lark-openapi-mcp and response models of larksuite/oapi-sdk-go v3, fetched 2026-10-23
open.larksuite.com - Built from
- Lark Suite's documentation, read 23 October 2026GitHubGitHubopen.larksuite.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 145 of 161 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 13, so ask can line Lark Suite up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Lark Suite.
437 actions in 15 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 161readlook, never change
- 196writecreate and update
- 80destructivewait for a confirmation
Contact
6930 read · 23 write · 16 destructive
Obtain the list of users directly under a department · Query the list of user groups · Create a user · Obtain single user's information
Im
6617 read · 38 write · 11 destructive
Get chat history · Obtain groups where the user or bot is a member · Send message · Create a group
Task
5017 read · 21 write · 12 destructive
List Tasklists · Create Task · Create Tasklist · Get Task Details
Drive
4920 read · 22 write · 7 destructive
Folder · File · Folder · File
Bitable
4615 read · 20 write · 11 destructive
Table · Table · Table · Table
Sheets
4514 read · 26 write · 5 destructive
Spreadsheet · Spreadsheet · Spreadsheet · Sheet
Calendar
3112 read · 12 write · 7 destructive
Get Event List · Query the calendar list · Create event · Get Event
Approval
2912 read · 12 write · 5 destructive
Create an approval definition · Event interface · Party approval definition · Party approval instances
7 more areas · 52 actions
- Docx 19
- Wiki 14
- Search 12
- Base 3
- Tenant 2
- Board 1
- Docs 1
Top actions
The Lark Suite API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 89 of Lark Suite's 90 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
lark_suite.drive_files.listFolder | Folder. | read | content.file.list77 connectors |
lark_suite.bitable_app_tables.listTable | Table. | read | content.table.list21 connectors |
lark_suite.wiki_spaces.listWiki space | Wiki space. | read | content.site.list16 connectors |
lark_suite.calendar_calendar_events.listGet Event List | Get Event List. | read | comm.event.list61 connectors |
lark_suite.wiki_space_nodes.listNode | Node. | read | content.site_page.list11 connectors |
lark_suite.im_messages.listGet chat history | Get chat history. | read | comm.message.list42 connectors |
lark_suite.task_tasklists.listList Tasklists | List Tasklists. | read | work.project.list109 connectors |
lark_suite.im_chats.listObtain groups where the user or bot is a member | Obtain groups where the user or bot is a member. | read | comm.chat.list20 connectors |
lark_suite.drive_files.deleteFile | File. | destructive | content.file.delete68 connectors |
lark_suite.contact_users.createCreate a user | Create a user. | write | identity.user.create262 connectors |
lark_suite.bitable_app_tables.createTable | Table. | write | content.table.create16 connectors |
lark_suite.calendar_calendar_events.createCreate event | Create event. | write | comm.event.create52 connectors |
Try it
Prompts to paste into Claude.
Each one names the Lark Suite actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Lark Suite tasks are overdue, and who owns each one?
calls
lark_suite.task_tasklists.tasks - Writewrite
Create a user in Lark Suite. Show me exactly what you will send before you save it.
calls
lark_suite.contact_users.create
Governance for Lark Suite
Destructive actions wait for a yes.
80 Lark Suite actions are destructive. The first 10:
- File
lark_suite.drive_files.delete - Delete a user
lark_suite.contact_users.delete - Table
lark_suite.bitable_app_tables.delete - Delete Event
lark_suite.calendar_calendar_events.delete - Recall message
lark_suite.im_messages.delete - Delete Task
lark_suite.task_tasks.delete - Delete Tasklist
lark_suite.task_tasklists.delete - Delete a group
lark_suite.im_chats.delete - Delete shared calendar
lark_suite.calendar_calendars.delete - Delete a user group
lark_suite.contact_groups.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
File?
intent: the user asked me to file
account { op: "keys.create", name: "lark-suite-agent", allowed_actions: ["lark_suite.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "lark_suite.drive_files.delete", approver: "[email protected]" }, { match: "lark_suite.contact_users.delete", approver: "[email protected]" }, { match: "lark_suite.bitable_app_tables.delete", approver: "[email protected]" } ]}Cost
What Lark Suite costs on actionlake.
Every Lark Suite action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Lark Suite refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 437 Lark Suite actions
- 437actions pageeach page of a long list is one call
- 145reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Lark Suite action.
437 actions by area: the id your agent calls, what it does, and its effect.
Contact69
lark_suite.contact_custom_attrs.listObtain custom user fieldsreadlark_suite.contact_departments.batchObtain bulk department informationreadlark_suite.contact_departments.childrenObtain the list of subreadlark_suite.contact_departments.createCreate a departmentwritelark_suite.contact_departments.deleteDelete a departmentdestructivelark_suite.contact_departments.getObtain single department informationreadlark_suite.contact_departments.listDepartmentreadlark_suite.contact_departments.parentObtain parent department informationreadlark_suite.contact_departments.patchModify department information in partwritelark_suite.contact_departments.unbind_department_chatChange department group to common groupdestructivelark_suite.contact_departments.updateUpdate department information in wholewritelark_suite.contact_departments.update_department_idUpdate DepartmentIDdestructivelark_suite.contact_employee_type_enums.createAdd a workforce typewritelark_suite.contact_employee_type_enums.deleteDelete workforce typesdestructivelark_suite.contact_employee_type_enums.listQuery the workforce typereadlark_suite.contact_employee_type_enums.updateUpdate the workforce typewritelark_suite.contact_functional_role_members.batch_createBatch create role membersdestructivelark_suite.contact_functional_role_members.batch_deleteDelete members from rolesdestructivelark_suite.contact_functional_role_members.getThe administrative scope of a member under a query rolereadlark_suite.contact_functional_role_members.listQuery all member information under the rolereadlark_suite.contact_functional_role_members.scopesBatch update role members scopeswritelark_suite.contact_functional_roles.createCreate rolewritelark_suite.contact_functional_roles.deleteDelete roledestructivelark_suite.contact_functional_roles.updateUpdate role namewritelark_suite.contact_group_members.addAdd members to a user groupwritelark_suite.contact_group_members.batch_addBatch add user group memberswritelark_suite.contact_group_members.batch_removeBatch remove user group membersdestructivelark_suite.contact_group_members.removeRemove members from a user groupdestructivelark_suite.contact_group_members.simplelistList user group memberreadlark_suite.contact_groups.createCreate a user groupwritelark_suite.contact_groups.deleteDelete a user groupdestructivelark_suite.contact_groups.getQuery a user groupreadlark_suite.contact_groups.member_belongQuery the user group list to which the user belongsreadlark_suite.contact_groups.patchUpdate a user groupwritelark_suite.contact_groups.simplelistQuery the list of user groupsreadlark_suite.contact_job_families.createCreate a job familywritelark_suite.contact_job_families.deleteDelete a job familydestructivelark_suite.contact_job_families.getQuery a job familyreadlark_suite.contact_job_families.listQuery the list of job familyreadlark_suite.contact_job_families.updateUpdate job familywritelark_suite.contact_job_levels.createCreate a job levelwritelark_suite.contact_job_levels.deleteDelete a job leveldestructivelark_suite.contact_job_levels.getQuery a job levelreadlark_suite.contact_job_levels.listQuery the list of job levelreadlark_suite.contact_job_levels.updateUpdate job levelwritelark_suite.contact_job_titles.getQuery a job titlereadlark_suite.contact_job_titles.listQuery the list of job titlesreadlark_suite.contact_scopes.listObtain the contacts permission scopereadlark_suite.contact_units.bind_departmentAssociate a department with a unitwritelark_suite.contact_units.createCreate a unitwritelark_suite.contact_units.deleteDelete unitsdestructivelark_suite.contact_units.getObtain unit informationreadlark_suite.contact_units.listList unitsreadlark_suite.contact_units.list_departmentList of departments bound to the unitreadlark_suite.contact_units.patchModify unit informationwritelark_suite.contact_units.unbind_departmentDissociate a department with a unitdestructivelark_suite.contact_users.batchObtain multiple users' informationreadlark_suite.contact_users.batch_get_idObtain user ID via email or mobile numberreadlark_suite.contact_users.createCreate a userwritelark_suite.contact_users.deleteDelete a userdestructivelark_suite.contact_users.find_by_departmentObtain the list of users directly under a departmentreadlark_suite.contact_users.getObtain single user's informationreadlark_suite.contact_users.listUserreadlark_suite.contact_users.patchModify user information in partwritelark_suite.contact_users.resurrectRestore deleted userswritelark_suite.contact_users.updateUserwritelark_suite.contact_users.update_user_idUpdate UserIDdestructivelark_suite.contact_work_cities.getQuery a work cityreadlark_suite.contact_work_cities.listQuery the list of work citiesread
Im66
lark_suite.im_app_feed_card_batchs.deleteDelete app feed carddestructivelark_suite.im_app_feed_card_batchs.updateUpdate app feed cardwritelark_suite.im_app_feed_cards.createCreate app feed cardwritelark_suite.im_batch_messages.deleteRecall messages in batchesdestructivelark_suite.im_batch_messages.get_progressQuery the overall progress of a batch messagereadlark_suite.im_batch_messages.read_userQuery the number of pushers and readers of batch messagesreadlark_suite.im_biz_entity_tag_relations.createBind tags with biz entity. Currently, tagging for chat is supportedwritelark_suite.im_biz_entity_tag_relations.getQuery tags bind on entityreadlark_suite.im_biz_entity_tag_relations.updateUnbind tags from biz entitywritelark_suite.im_chat_announcements.getObtain group announcement informationreadlark_suite.im_chat_announcements.patchUpdate group announcement infowritelark_suite.im_chat_buttons.updateUpdate feed card buttonwritelark_suite.im_chat_managers.add_managersSpecify group administratorswritelark_suite.im_chat_managers.delete_managersDelete group administratorsdestructivelark_suite.im_chat_members.createAdd users or bots to a groupwritelark_suite.im_chat_members.deleteRemove users or bots from a groupdestructivelark_suite.im_chat_members.getObtain group member listreadlark_suite.im_chat_members.is_in_chatDetermine whether a user or bot is in a groupreadlark_suite.im_chat_members.me_joinUsers or bots join a group voluntarilywritelark_suite.im_chat_menu_items.patchPatch chat menu item infowritelark_suite.im_chat_menu_trees.createAdd chat menuwritelark_suite.im_chat_menu_trees.deleteDelete chat menudestructivelark_suite.im_chat_menu_trees.getGet chat menusreadlark_suite.im_chat_menu_trees.sortSort chat menuswritelark_suite.im_chat_moderations.getObtains the group member speech scopesreadlark_suite.im_chat_moderations.updateUpdates group speech scopeswritelark_suite.im_chat_tabs.createAdd chat tabwritelark_suite.im_chat_tabs.delete_tabsDelete chat tabdestructivelark_suite.im_chat_tabs.list_tabsPull chat tabsreadlark_suite.im_chat_tabs.sort_tabsSort chat tabwritelark_suite.im_chat_tabs.update_tabsUpdate chat tabwritelark_suite.im_chat_top_notices.delete_top_noticeRevoke group pinningdestructivelark_suite.im_chat_top_notices.put_top_noticeUpdate group pinningwritelark_suite.im_chats.createCreate a groupwritelark_suite.im_chats.deleteDelete a groupdestructivelark_suite.im_chats.getObtain group informationreadlark_suite.im_chats.linkGet group share linkwritelark_suite.im_chats.listObtain groups where the user or bot is a memberreadlark_suite.im_chats.searchSearch for groups visible to a user or botreadlark_suite.im_chats.updateUpdate group informationwritelark_suite.im_feed_cards.bot_time_sentiveBot chat instant reminderwritelark_suite.im_feed_cards.patchInstant reminderwritelark_suite.im_message_reactions.createAdd a reaction for a messagewritelark_suite.im_message_reactions.deleteDelete a reaction for a messagedestructivelark_suite.im_message_reactions.listList message reactionsreadlark_suite.im_messages.createSend messagewritelark_suite.im_messages.deleteRecall messagedestructivelark_suite.im_messages.forwardForward a messagewritelark_suite.im_messages.getObtain the content of the specified messagereadlark_suite.im_messages.listGet chat historyreadlark_suite.im_messages.merge_forwardMerge forward messageswritelark_suite.im_messages.patchUpdate sent message cardwritelark_suite.im_messages.push_follow_upPush followwritelark_suite.im_messages.read_usersQuery the read status of messagereadlark_suite.im_messages.replyReply messagewritelark_suite.im_messages.updateEdit messagewritelark_suite.im_messages.urgent_appSend buzz messages in appswritelark_suite.im_messages.urgent_phoneSend buzz messages via phone callwritelark_suite.im_messages.urgent_smsSend buzz messages via SMSwritelark_suite.im_pins.createPin a messagewritelark_suite.im_pins.deleteUnpin a messagedestructivelark_suite.im_pins.listGet pins in groupreadlark_suite.im_tags.createCreate a tag. The tag ID will be returnedwritelark_suite.im_tags.patchModify the name of the tag in different languageswritelark_suite.im_threads.forwardForward a threadwritelark_suite.im_url_previews.batch_updateUpdate URL previewwrite
Task50
lark_suite.task_attachments.deleteDelete Attachmentdestructivelark_suite.task_attachments.getGet Attachmentreadlark_suite.task_attachments.listList Attachmentreadlark_suite.task_comments.createCreate Commentwritelark_suite.task_comments.deleteDelete Commentdestructivelark_suite.task_comments.getGet Commentreadlark_suite.task_comments.listList Commentsreadlark_suite.task_comments.patchPatch Commentwritelark_suite.task_custom_field_options.createCreate Custom Field Optionwritelark_suite.task_custom_field_options.patchPatch Custom Field Optionwritelark_suite.task_custom_fields.addAdd Custom Field To Resourcewritelark_suite.task_custom_fields.createCreate Custom Fieldwritelark_suite.task_custom_fields.getGet Custom Fieldreadlark_suite.task_custom_fields.listList Custom Fieldreadlark_suite.task_custom_fields.patchPatch Custom Fieldwritelark_suite.task_custom_fields.removeRemove Custom Field From Resourcedestructivelark_suite.task_sections.createCreate Sectionwritelark_suite.task_sections.deleteDelete Sectiondestructivelark_suite.task_sections.getGet Sectionreadlark_suite.task_sections.listList Sectionreadlark_suite.task_sections.patchPatch Sectionwritelark_suite.task_sections.tasksList Tasks of Sectionreadlark_suite.task_task_subtasks.createCreate Subtaskwritelark_suite.task_task_subtasks.listList Subtaskreadlark_suite.task_tasklist_activity_subscriptions.createCreate Activity Subscriptionwritelark_suite.task_tasklist_activity_subscriptions.deleteDelete Activity Subscriptiondestructivelark_suite.task_tasklist_activity_subscriptions.getGet Activity Subscriptionreadlark_suite.task_tasklist_activity_subscriptions.listList Activity Subscriptionreadlark_suite.task_tasklist_activity_subscriptions.patchPatch Activity Subscriptionwritelark_suite.task_tasklists.add_membersAdd Tasklist Memberswritelark_suite.task_tasklists.createCreate Tasklistwritelark_suite.task_tasklists.deleteDelete Tasklistdestructivelark_suite.task_tasklists.getGet Tasklist Detailsreadlark_suite.task_tasklists.listList Tasklistsreadlark_suite.task_tasklists.patchPatch Tasklistwritelark_suite.task_tasklists.remove_membersRemove Tasklist Membersdestructivelark_suite.task_tasklists.tasksGet Tasks of Tasklistreadlark_suite.task_tasks.add_dependenciesAdd Dependencywritelark_suite.task_tasks.add_membersAdd members to taskwritelark_suite.task_tasks.add_remindersAdd reminders to taskwritelark_suite.task_tasks.add_tasklistAdd task to tasklistwritelark_suite.task_tasks.createCreate Taskwritelark_suite.task_tasks.deleteDelete Taskdestructivelark_suite.task_tasks.getGet Task Detailsreadlark_suite.task_tasks.patchPatch Taskwritelark_suite.task_tasks.remove_dependenciesRemove Dependencydestructivelark_suite.task_tasks.remove_membersRemove members from taskdestructivelark_suite.task_tasks.remove_remindersRemove task remindersdestructivelark_suite.task_tasks.remove_tasklistRemove task from tasklistdestructivelark_suite.task_tasks.tasklistsList tasklists of taskread
Drive49
lark_suite.drive_export_tasks.createFilewritelark_suite.drive_export_tasks.getFilereadlark_suite.drive_file_comment_replies.deleteDelete Replydestructivelark_suite.drive_file_comment_replies.listGet Replies Listreadlark_suite.drive_file_comment_replies.updateUpdate Replywritelark_suite.drive_file_comments.batch_queryBatch Query Commentsreadlark_suite.drive_file_comments.createAdd a Global Commentwritelark_suite.drive_file_comments.getGet a whole commentreadlark_suite.drive_file_comments.listGet Document Comments in Pagesreadlark_suite.drive_file_comments.patchSolve or Restore a Commentwritelark_suite.drive_file_likes.listLikereadlark_suite.drive_file_statistics.getFilereadlark_suite.drive_file_versions.createDocument Versionwritelark_suite.drive_file_versions.deleteDocument Versiondestructivelark_suite.drive_file_versions.getDocument Versionreadlark_suite.drive_file_versions.listDocument Versionreadlark_suite.drive_file_view_records.listFilereadlark_suite.drive_files.copyFilewritelark_suite.drive_files.create_folderFolderwritelark_suite.drive_files.create_shortcutFilewritelark_suite.drive_files.deleteFiledestructivelark_suite.drive_files.delete_subscribeEventdestructivelark_suite.drive_files.get_subscribeEventreadlark_suite.drive_files.listFolderreadlark_suite.drive_files.moveFilewritelark_suite.drive_files.subscribeEventwritelark_suite.drive_files.task_checkFolderreadlark_suite.drive_files.upload_finishFilewritelark_suite.drive_files.upload_prepareFilewritelark_suite.drive_import_tasks.createFilewritelark_suite.drive_import_tasks.getFilereadlark_suite.drive_media.batch_get_tmp_download_urlMediareadlark_suite.drive_media.upload_finishMediawritelark_suite.drive_media.upload_prepareMediawritelark_suite.drive_meta.batch_queryFilereadlark_suite.drive_permission_members.authMemberreadlark_suite.drive_permission_members.batch_createMemberwritelark_suite.drive_permission_members.createMemberwritelark_suite.drive_permission_members.deleteMemberdestructivelark_suite.drive_permission_members.listMemberreadlark_suite.drive_permission_members.transfer_ownerMemberdestructivelark_suite.drive_permission_members.updateMemberwritelark_suite.drive_permission_public_passwords.createPasswordwritelark_suite.drive_permission_public_passwords.deletePassworddestructivelark_suite.drive_permission_public_passwords.updatePasswordwritelark_suite.drive_v1_permission_publics.getPermission Setting v1readlark_suite.drive_v1_permission_publics.patchPermission Setting v1writelark_suite.drive_v2_permission_publics.getSettingreadlark_suite.drive_v2_permission_publics.patchSettingwrite
Bitable46
lark_suite.bitable_app_dashboards.copyDashboardswritelark_suite.bitable_app_dashboards.listDashboardsreadlark_suite.bitable_app_role_members.batch_createAdvanced Permissiondestructivelark_suite.bitable_app_role_members.batch_deleteAdvanced Permissiondestructivelark_suite.bitable_app_role_members.createAdvanced Permissiondestructivelark_suite.bitable_app_role_members.deleteAdvanced Permissiondestructivelark_suite.bitable_app_role_members.listAdvanced Permissionreadlark_suite.bitable_app_roles.createBasewritelark_suite.bitable_app_roles.deleteAdvanced Permissiondestructivelark_suite.bitable_app_roles.listBasereadlark_suite.bitable_app_roles.updateBasewritelark_suite.bitable_app_table_fields.createFieldwritelark_suite.bitable_app_table_fields.deleteFielddestructivelark_suite.bitable_app_table_fields.listFieldreadlark_suite.bitable_app_table_fields.updateFieldwritelark_suite.bitable_app_table_form_fields.listFormreadlark_suite.bitable_app_table_form_fields.patchFormwritelark_suite.bitable_app_table_forms.getFormreadlark_suite.bitable_app_table_forms.patchFormwritelark_suite.bitable_app_table_records.batch_createRecordwritelark_suite.bitable_app_table_records.batch_deleteRecorddestructivelark_suite.bitable_app_table_records.batch_getRecordreadlark_suite.bitable_app_table_records.batch_updateRecordwritelark_suite.bitable_app_table_records.createRecordwritelark_suite.bitable_app_table_records.deleteRecorddestructivelark_suite.bitable_app_table_records.getBasereadlark_suite.bitable_app_table_records.listBasereadlark_suite.bitable_app_table_records.searchRecordreadlark_suite.bitable_app_table_records.updateRecordwritelark_suite.bitable_app_table_views.createViewwritelark_suite.bitable_app_table_views.deleteViewdestructivelark_suite.bitable_app_table_views.getViewreadlark_suite.bitable_app_table_views.listViewreadlark_suite.bitable_app_table_views.patchViewwritelark_suite.bitable_app_tables.batch_createTablewritelark_suite.bitable_app_tables.batch_deleteTabledestructivelark_suite.bitable_app_tables.createTablewritelark_suite.bitable_app_tables.deleteTabledestructivelark_suite.bitable_app_tables.listTablereadlark_suite.bitable_app_tables.patchTablewritelark_suite.bitable_app_workflows.listAutomationreadlark_suite.bitable_app_workflows.updateAutomationwritelark_suite.bitable_apps.copyAppwritelark_suite.bitable_apps.createAppwritelark_suite.bitable_apps.getAppreadlark_suite.bitable_apps.updateAppwrite
Sheets45
lark_suite.sheets_cells.batch_set_styleBatch set cell styleswritelark_suite.sheets_cells.mergeMerge cellswritelark_suite.sheets_cells.set_styleSet cell stylewritelark_suite.sheets_cells.unmergeSplit merged cellswritelark_suite.sheets_dimensions.addAdd rows or columns at the end of a sheetwritelark_suite.sheets_dimensions.deleteDelete rows or columnsdestructivelark_suite.sheets_dimensions.insertInsert rows or columnswritelark_suite.sheets_dimensions.updateUpdate row or column propertieswritelark_suite.sheets_metainfo.getGet spreadsheet metadatareadlark_suite.sheets_properties.updateUpdate spreadsheet propertieswritelark_suite.sheets_sheets.batch_updateAdd, copy, delete or update sheetswritelark_suite.sheets_spreadsheet_sheet_filter_view_conditions.createFilter viewwritelark_suite.sheets_spreadsheet_sheet_filter_view_conditions.deleteFilter viewdestructivelark_suite.sheets_spreadsheet_sheet_filter_view_conditions.getFilter viewreadlark_suite.sheets_spreadsheet_sheet_filter_view_conditions.queryFilter viewreadlark_suite.sheets_spreadsheet_sheet_filter_view_conditions.updateFilter viewwritelark_suite.sheets_spreadsheet_sheet_filter_views.createFilter viewwritelark_suite.sheets_spreadsheet_sheet_filter_views.deleteFilter viewdestructivelark_suite.sheets_spreadsheet_sheet_filter_views.getFilter viewreadlark_suite.sheets_spreadsheet_sheet_filter_views.patchFilter viewwritelark_suite.sheets_spreadsheet_sheet_filter_views.queryFilter viewreadlark_suite.sheets_spreadsheet_sheet_filters.createFilterwritelark_suite.sheets_spreadsheet_sheet_filters.deleteFilterdestructivelark_suite.sheets_spreadsheet_sheet_filters.getFilterreadlark_suite.sheets_spreadsheet_sheet_filters.updateFilterwritelark_suite.sheets_spreadsheet_sheet_float_images.createFloating imagewritelark_suite.sheets_spreadsheet_sheet_float_images.deleteFloating imagedestructivelark_suite.sheets_spreadsheet_sheet_float_images.getFloating imagereadlark_suite.sheets_spreadsheet_sheet_float_images.patchFloating imagewritelark_suite.sheets_spreadsheet_sheet_float_images.queryFloating imagereadlark_suite.sheets_spreadsheet_sheets.findCellreadlark_suite.sheets_spreadsheet_sheets.getSheetreadlark_suite.sheets_spreadsheet_sheets.move_dimensionRow Columnwritelark_suite.sheets_spreadsheet_sheets.querySheetreadlark_suite.sheets_spreadsheet_sheets.replaceCellwritelark_suite.sheets_spreadsheets.createSpreadsheetwritelark_suite.sheets_spreadsheets.getSpreadsheetreadlark_suite.sheets_spreadsheets.patchSpreadsheetwritelark_suite.sheets_values.appendAppend data after a rangewritelark_suite.sheets_values.batch_getRead multiple rangesreadlark_suite.sheets_values.batch_updateWrite data to multiple rangeswritelark_suite.sheets_values.getRead a single rangereadlark_suite.sheets_values.prependPrepend data above a rangewritelark_suite.sheets_values.updateWrite data to a single rangewritelark_suite.sheets_values.write_imageWrite an image into a cellwrite
Calendar31
lark_suite.calendar_calendar_acls.createCreate ACLwritelark_suite.calendar_calendar_acls.deleteDelete ACLdestructivelark_suite.calendar_calendar_acls.listObtain the ACLreadlark_suite.calendar_calendar_event_attendee_chat_members.listObtain the list of members of group invitees of an eventreadlark_suite.calendar_calendar_event_attendees.batch_deleteDelete event inviteesdestructivelark_suite.calendar_calendar_event_attendees.createCreate event inviteeswritelark_suite.calendar_calendar_event_attendees.listObtain event invitee listreadlark_suite.calendar_calendar_event_meeting_chats.createCreate meeting chatwritelark_suite.calendar_calendar_event_meeting_chats.deleteUnbind meeting chatdestructivelark_suite.calendar_calendar_event_meeting_minutes.createCreate meeting minutewritelark_suite.calendar_calendar_events.createCreate eventwritelark_suite.calendar_calendar_events.deleteDelete Eventdestructivelark_suite.calendar_calendar_events.getGet Eventreadlark_suite.calendar_calendar_events.instance_viewQuery event viewreadlark_suite.calendar_calendar_events.instancesGet Event instancesreadlark_suite.calendar_calendar_events.listGet Event Listreadlark_suite.calendar_calendar_events.patchUpdate Eventwritelark_suite.calendar_calendar_events.replyReply Eventwritelark_suite.calendar_calendar_events.searchSearch Eventreadlark_suite.calendar_calendars.createCreate a shared calendarwritelark_suite.calendar_calendars.deleteDelete shared calendardestructivelark_suite.calendar_calendars.getQuery calendar informationreadlark_suite.calendar_calendars.listQuery the calendar listreadlark_suite.calendar_calendars.patchUpdate calendar informationwritelark_suite.calendar_calendars.primaryQuery primary calendar informationwritelark_suite.calendar_calendars.searchSearch Calendarreadlark_suite.calendar_calendars.subscribeSubscribe Calendarwritelark_suite.calendar_calendars.unsubscribeUnsubscribe Calendardestructivelark_suite.calendar_freebusy.listQuery availability of the primary calendarreadlark_suite.calendar_timeoff_events.createCreate Timeoff Eventwritelark_suite.calendar_timeoff_events.deleteDelete Timeoff Eventdestructive
Approval29
lark_suite.approval_approvals.createCreate an approval definitionwritelark_suite.approval_approvals.getView approval definitionsreadlark_suite.approval_approvals.subscribeEvent interfacewritelark_suite.approval_approvals.unsubscribeEvent interfacedestructivelark_suite.approval_external_approvals.createParty approval definitionwritelark_suite.approval_external_approvals.getParty approval definitionreadlark_suite.approval_external_instances.checkParty approval instancesreadlark_suite.approval_external_instances.createParty approval instanceswritelark_suite.approval_external_tasks.listParty approval tasksreadlark_suite.approval_instance_comments.createCreate commentswritelark_suite.approval_instance_comments.deleteDelete commentsdestructivelark_suite.approval_instance_comments.listReceive commentsreadlark_suite.approval_instance_comments.removeClear commentsdestructivelark_suite.approval_instances.add_signAdd approverswritelark_suite.approval_instances.cancelRevoke approval instancesdestructivelark_suite.approval_instances.ccNotify someone of approval instanceswritelark_suite.approval_instances.createCreate an approval instancewritelark_suite.approval_instances.getObtain details of an approval instancereadlark_suite.approval_instances.listObtain IDs of multiple approval instancesreadlark_suite.approval_instances.previewPreview approval instancesreadlark_suite.approval_instances.queryList of instancesreadlark_suite.approval_instances.search_ccList of cc informationreadlark_suite.approval_instances.specified_rollbackReturn approval taskwritelark_suite.approval_tasks.approveAgree to approval taskwritelark_suite.approval_tasks.queryQuery the user's task listreadlark_suite.approval_tasks.rejectRefuse to approve taskswritelark_suite.approval_tasks.resubmitResubmit the task for approvalwritelark_suite.approval_tasks.searchQuery list of tasksreadlark_suite.approval_tasks.transferTransfer the approval taskdestructive
Docx19
lark_suite.docx_chat_announcement_block_childrens.batch_deleteBlockdestructivelark_suite.docx_chat_announcement_block_childrens.createBlockwritelark_suite.docx_chat_announcement_block_childrens.getBlockreadlark_suite.docx_chat_announcement_blocks.batch_updateBlockwritelark_suite.docx_chat_announcement_blocks.getBlockreadlark_suite.docx_chat_announcement_blocks.listGroup announcementreadlark_suite.docx_chat_announcements.getGroup announcementreadlark_suite.docx_document_block_childrens.batch_deleteBlockdestructivelark_suite.docx_document_block_childrens.createBlockwritelark_suite.docx_document_block_childrens.getBlockreadlark_suite.docx_document_block_descendants.createBlockwritelark_suite.docx_document_blocks.batch_updateBlockwritelark_suite.docx_document_blocks.getBlockreadlark_suite.docx_document_blocks.listDocumentreadlark_suite.docx_document_blocks.patchBlockwritelark_suite.docx_documents.convertBlockwritelark_suite.docx_documents.createDocumentwritelark_suite.docx_documents.getDocumentreadlark_suite.docx_documents.raw_contentDocumentread
Wiki14
lark_suite.wiki_space_members.createSpace memberwritelark_suite.wiki_space_members.deleteSpace memberdestructivelark_suite.wiki_space_members.listSpace memberreadlark_suite.wiki_space_nodes.copyNodewritelark_suite.wiki_space_nodes.createNodewritelark_suite.wiki_space_nodes.listNodereadlark_suite.wiki_space_nodes.moveNodewritelark_suite.wiki_space_nodes.move_docs_to_wikiDocswritelark_suite.wiki_space_nodes.update_titleNodewritelark_suite.wiki_space_setting.updateSpace settingswritelark_suite.wiki_spaces.getWiki spacereadlark_suite.wiki_spaces.get_nodeNodereadlark_suite.wiki_spaces.listWiki spacereadlark_suite.wiki_tasks.getDocsread
Search12
lark_suite.search_data_source_items.createData itemwritelark_suite.search_data_source_items.deleteData itemdestructivelark_suite.search_data_source_items.getData itemreadlark_suite.search_data_sources.createData sourcewritelark_suite.search_data_sources.deleteData sourcedestructivelark_suite.search_data_sources.getData sourcereadlark_suite.search_data_sources.listData sourcereadlark_suite.search_data_sources.patchData sourcewritelark_suite.search_schemas.createData schemawritelark_suite.search_schemas.deleteData schemadestructivelark_suite.search_schemas.getData schemareadlark_suite.search_schemas.patchData schemawrite
Base3
lark_suite.base_app_roles.createAdvanced Permissionwritelark_suite.base_app_roles.listAdvanced Permissionreadlark_suite.base_app_roles.updateAdvanced Permissionwrite
Tenant2
lark_suite.tenant_tenant_product_assign_infos.queryObtain company assign informationreadlark_suite.tenant_tenants.queryObtains company information such as the company name and the company IDread
Board1
lark_suite.board_whiteboard_nodes.listNodesread
Docs1
lark_suite.docs_contents.getGet docs contentread
Questions
The Lark Suite MCP server, answered.
Is there a Lark Suite MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 437 Lark Suite actions across contact, im, task and drive, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Lark Suite.
What do I need to connect Lark Suite?
Lark App ID (Developer Console > your custom app > Credentials & Basic Info, starts with cli_) and Lark App Secret. Plus your host. The free call account { op: "connections.requirements", service: "lark_suite" } lists exactly what to paste.
Can an AI agent delete or change things in Lark Suite?
Only if its key allows it, and only with an explicit confirmation. 80 Lark Suite actions are destructive, including file, delete a user and table. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Lark Suite API limit?
actionlake paces every call to the limits in the Lark Suite service file: 20 calls a second per connection. Repeated reads are answered from cache (145 Lark Suite actions can be), which never reaches Lark Suite.
What does a Lark Suite action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (437 Lark Suite actions page). Cache hits, searches, dry runs and calls Lark Suite refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Lark Suite API does it cover?
The Lark Suite (Docs, Base, Wiki, Sheets, Drive, Messenger, Calendar, Tasks, Contacts, Approval) API Lark Open Platform server APIs (open-apis), tool definitions of larksuite/lark-openapi-mcp and response models of larksuite/oapi-sdk-go v3, fetched 2026-10-23 at open.larksuite.com by default, or the base URL set when you connect. It is built from Lark Suite's documentation as read on 23 October 2026. 437 actions in 15 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Lark Suite data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Lark Suite credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Lark Suite today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.