Feishu/Lark OpenAPI MCP
английский |中文
Извлечение документации разработчика MCP | Официальный документ
⚠️ Уведомление о бета-версии : этот инструмент в настоящее время находится на стадии бета-тестирования. Функции и API могут измениться, поэтому, пожалуйста, следите за выпусками версий.
Это официальный инструмент Feishu/Lark OpenAPI MCP (Model Context Protocol), разработанный для того, чтобы помочь пользователям быстро подключиться к платформе Feishu/Lark и обеспечить эффективное сотрудничество между агентами ИИ и Feishu/Lark. Инструмент инкапсулирует интерфейсы Feishu/Lark Open Platform API как инструменты MCP, позволяя помощникам ИИ напрямую вызывать эти интерфейсы и реализовывать различные сценарии автоматизации, такие как обработка документов, управление разговорами, планирование календаря и многое другое.
Функции
Полный набор инструментов API Feishu/Lark: инкапсулирует почти все интерфейсы API Feishu/Lark, включая управление сообщениями, управление группами, операции с документами, события календаря, Bitable и другие основные функциональные области.
Поддержка двойной аутентификации:
Поддерживает аутентификацию с помощью токена доступа к приложению
Поддерживает аутентификацию с помощью токена доступа пользователя
Гибкие протоколы связи:
Поддерживает стандартный режим потока ввода/вывода (stdio), подходит для интеграции с инструментами ИИ, такими как Trae/Cursor/Claude
Поддерживает режим Server-Sent Events (SSE), предоставляя интерфейсы на основе HTTP
Поддерживает несколько методов настройки, адаптируясь к различным сценариям использования
Related MCP server: Lark MCP Server
Список инструментов
Полный список всех поддерживаемых инструментов Feishu/Lark можно найти на tools.md , где инструменты отсортированы по проектам и версиям с описаниями.
Подготовка
Создание приложения Feishu/Lark
Перед использованием инструмента lark-mcp необходимо создать приложение Feishu/Lark:
Посетите Feishu Open Platform или Lark Open Platform и войдите в систему.
Нажмите «Консоль» и создайте новое приложение.
Получите идентификатор приложения и секретный ключ приложения, которые будут использоваться для аутентификации API.
Добавьте необходимые разрешения для вашего приложения в зависимости от вашего сценария использования.
Если вам необходимо вызывать API как пользователь, настройте URL-адреса перенаправления OAuth 2.0 и получите токены доступа пользователя.
Подробные инструкции по созданию и настройке приложений см. в документации Feishu Open Platform — Создание приложения или в документации Lark Open Platform .
Установка Node.js
Перед использованием инструмента lark-mcp необходимо установить среду Node.js.
Установка Node.js на macOS
Использование Homebrew (рекомендуется) :
brew install nodeИспользование официального установщика :
Посетите сайт Node.js
Загрузите и установите версию LTS
После установки проверьте в терминале:
node -v npm -v
Установка Node.js на Windows
Использование официального установщика :
Посетите сайт Node.js
Загрузите и запустите установщик Windows (файл .msi)
Следуйте указаниям мастера установки для завершения установки.
После установки проверьте в командной строке:
node -v npm -v
Использование nvm-windows :
Скачать nvm-windows
Установить nvm-windows
Используйте nvm для установки Node.js:
nvm install latest nvm use <version_number>
Установка
Установите инструмент lark-mcp глобально:
Руководство по использованию
Использование с Trae/Cursor/Claude
Чтобы интегрировать функциональность Feishu/Lark в инструменты искусственного интеллекта, такие как Trae, Cursor или Claude, добавьте в файл конфигурации следующее:
Для доступа к API с использованием идентификатора пользователя вы можете добавить токен доступа пользователя:
Конфигурация пользовательского API
По умолчанию служба MCP включает общие API. Чтобы включить другие инструменты или только определенные API или предустановки, вы можете указать их с помощью параметра -t (через запятую):
Подробные сведения о предустановленных коллекциях инструментов
В следующей таблице подробно описан каждый инструмент API и его включение в различные коллекции предустановок, что поможет вам выбрать подходящую предустановку для ваших нужд:
Название инструмента | Описание функции | preset.default (по умолчанию) | preset.im.default | preset.base.default | предустановленная.базовая.партия | preset.doc.default | предустановленная.задача.по умолчанию | предустановленный.календарь.по.умолчанию |
im.v1.chat.create | Создать групповой чат | ✓ | ✓ | |||||
im.v1.chat.list | Получить список группового чата | ✓ | ✓ | |||||
im.v1.chatMembers.get | Получить участников группы | ✓ | ✓ | |||||
im.v1.сообщение.создать | Отправлять сообщения | ✓ | ✓ | |||||
im.v1.сообщение.список | Получить список сообщений | ✓ | ✓ | |||||
bitable.v1.app.create | Создать базу | ✓ | ✓ | ✓ | ||||
bitable.v1.appTable.создать | Создать базовую таблицу данных | ✓ | ✓ | ✓ | ||||
bitable.v1.appTable.list | Получить список таблиц базовых данных | ✓ | ✓ | ✓ | ||||
bitable.v1.appTableField.list | Получить список полей таблицы базовых данных | ✓ | ✓ | ✓ | ||||
bitable.v1.appTableRecord.поиск | Поиск записей таблицы базовых данных | ✓ | ✓ | ✓ | ||||
bitable.v1.appTableRecord.создать | Создать базовые записи таблицы данных | ✓ | ✓ | |||||
bitable.v1.appTableRecord.batchCreate | Пакетное создание записей таблицы базовых данных | ✓ | ||||||
bitable.v1.appTableRecord.обновление | Обновление записей таблицы базовых данных | ✓ | ✓ | |||||
bitable.v1.appTableRecord.batchUpdate | Пакетное обновление записей таблицы базовых данных | ✓ | ||||||
docx.v1.document.rawContent | Получить содержимое документа | ✓ | ✓ | |||||
docx.встроенный.импорт | Импортные документы | ✓ | ✓ | |||||
docx.встроенный.поиск | Поиск документов | ✓ | ✓ | |||||
drive.v1.permissionMember.create | Добавить разрешения соавтора | ✓ | ✓ | |||||
wiki.v2.space.getNode | Получить Wiki-узел | ✓ | ✓ | |||||
wiki.v1.node.search | Поиск вики-узлов | ✓ | ✓ | |||||
contact.v3.user.batchGetId | Пакетное получение идентификаторов пользователей | ✓ | ||||||
задача.v2.задача.создать | Создать задачу | ✓ | ||||||
задача.v2.задача.патч | Изменить задачу | ✓ | ||||||
task.v2.task.addMembers | Добавить участников задачи | ✓ | ||||||
task.v2.task.addНапоминания | Добавить напоминания о задачах | ✓ | ||||||
календарь.v4.calendarEvent.создать | Создать событие календаря | ✓ | ||||||
календарь.v4.calendarEvent.патч | Изменить событие календаря | ✓ | ||||||
календарь.v4.calendarEvent.get | Получить событие календаря | ✓ | ||||||
календарь.v4.freebusy.list | Запрос статуса «свободен/занят» | ✓ | ||||||
календарь.v4.календарь.первичный | Получить основной календарь | ✓ |
Примечание : В таблице "✓" указывает, что инструмент включен в этот пресет. Использование
-t preset.xxxвключит только инструменты, отмеченные "✓" в соответствующем столбце.
Расширенная конфигурация
Параметры командной строки
Инструмент lark-mcp mcp предоставляет различные параметры командной строки для гибкой настройки службы MCP:
Параметр | Короткий | Описание | Пример |
|
| Идентификатор приложения Feishu/Lark |
|
|
| Секрет приложения Feishu/Lark |
|
|
| Домен API Feishu/Lark, по умолчанию |
|
|
| Список инструментов API для включения, разделенных запятыми |
|
|
| Формат имени инструмента, варианты: змея, верблюд, точка или шашлык, по умолчанию — змея |
|
|
| Язык инструментов, варианты zh или en, по умолчанию en |
|
|
| Токен доступа пользователя для вызова API в качестве пользователя |
|
| Тип токена API, варианты: auto, tenant_access_token или user_access_token, по умолчанию — auto |
| |
|
| Режим транспорта, варианты — stdio или sse, по умолчанию — stdio |
|
| Прослушивающий хост в режиме SSE, по умолчанию — localhost |
| |
|
| Прослушиваемый порт в режиме SSE, по умолчанию 3000 |
|
| Путь к файлу конфигурации, поддерживает формат JSON |
| |
|
| Показать номер версии |
|
|
| Отображение справочной информации |
|
Примеры использования параметров
Базовое использование (с использованием идентификатора приложения):
lark-mcp mcp -a cli_xxxx -s yyyyyИспользование идентификатора пользователя :
lark-mcp mcp -a cli_xxxx -s yyyyy -u u-zzzzПримечание : токены доступа пользователя можно получить через процесс авторизации Feishu Open Platform или процесс авторизации Lark Open Platform , или вы можете использовать консоль отладки API для их получения. После использования токена доступа пользователя вызовы API будут выполняться с идентификатором этого пользователя.
Настройка определенного режима токена :
lark-mcp mcp -a cli_xxxx -s yyyyy --token-mode user_access_tokenПримечание : эта опция позволяет явно указать, какой тип токена использовать при вызове API.
autoрежим (по умолчанию) будет определяться LLM при вызове API.Указание доменов Lark или KA :
# Lark international version lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.larksuite.com # Custom domain (KA domain) lark-mcp mcp -a <your_app_id> -s <your_app_secret> -d https://open.your-ka-domain.comВключение только определенных инструментов API или других инструментов API :
lark-mcp mcp -a cli_xxxx -s yyyyy -t im.v1.chat.create,im.v1.message.createПримечание : Параметр
-tподдерживает следующие предустановленные наборы инструментов:preset.default— набор инструментов по умолчанию, содержащий все предустановленные инструментыpreset.im.default— инструменты, связанные с мгновенным обменом сообщениями, такие как управление группами, отправка сообщений и т. д.preset.bitable.default— инструменты, связанные с Bitable, такие как создание таблиц, управление записями и т. д.preset.bitable.batch— инструменты пакетной обработки Bitable, включая функции пакетного создания и обновления записейpreset.doc.default— инструменты, связанные с документами, такие как чтение содержимого документа, управление разрешениями и т. д.preset.task.default— инструменты, связанные с управлением задачами, такие как создание задач, управление участниками и т. д.preset.calendar.default— инструменты управления событиями календаря, такие как создание событий календаря, запрос статуса «свободен/занят» и т. д.
Использование режима SSE с определенным портом и хостом :
lark-mcp mcp -a cli_xxxx -s yyyyy -m sse --host 0.0.0.0 -p 3000Установка китайского языка в инструментах :
lark-mcp mcp -a cli_xxxx -s yyyyy -l zhПримечание : Установка языка на китайский (
-l zh) может потреблять больше токенов. Если вы столкнетесь с проблемами ограничения токенов при интеграции с большими языковыми моделями, рассмотрите возможность использования настройки английского языка по умолчанию (-l en).Установка формата имени инструмента на CamelCase :
lark-mcp mcp -a cli_xxxx -s yyyyy -c camelПримечание : Установив формат имени инструмента, вы можете изменить способ отображения имен инструментов в MCP. Например,
im.v1.message.createв разных форматах:формат змеи (по умолчанию):
im_v1_message_createФормат Camel:
imV1MessageCreateФормат кебаба:
im-v1-message-createформат точки:
im.v1.message.create
Использование переменных среды вместо параметров командной строки :
# Set environment variables export APP_ID=cli_xxxx export APP_SECRET=yyyyy # Start the service (no need to specify -a and -s parameters) lark-mcp mcpИспользование файла конфигурации :
Помимо параметров командной строки, для установки параметров можно также использовать файл конфигурации в формате JSON:
Пример файла конфигурации (config.json):
Примечание : Параметры командной строки имеют более высокий приоритет, чем файл конфигурации. При использовании как параметров командной строки, так и файла конфигурации параметры командной строки переопределят соответствующие настройки в файле конфигурации.
Виды транспорта :
lark-mcp поддерживает два режима транспортировки:
Режим stdio (по умолчанию/рекомендуется) : подходит для интеграции с инструментами ИИ, такими как Trae/Cursor или Claude, взаимодействующими через стандартные потоки ввода/вывода.
Режим SSE : предоставляет HTTP-интерфейс на основе событий, отправляемых сервером, подходящий для сценариев, где локальное выполнение невозможно.
После запуска конечная точка SSE будет доступна по адресу http://<host>:<port>/sse .
Часто задаваемые вопросы
Проблема : Невозможно подключиться к API Feishu/Lark Решение : Проверьте сетевое подключение и убедитесь, что APP_ID и APP_SECRET указаны правильно. Убедитесь, что вы можете получить доступ к API Feishu/Lark Open Platform; возможно, вам придется настроить прокси-сервер.
Проблема : Ошибка при использовании user_access_token Решение : Проверьте, не истек ли срок действия токена. Обычно срок действия user_access_token составляет 2 часа, и его необходимо периодически обновлять. Вы можете реализовать механизм автоматического обновления токена.
Проблема : Невозможно вызвать определенные API после запуска службы MCP, с ошибками недостаточного количества разрешений Решение : Проверьте, получило ли ваше приложение соответствующие разрешения API. Некоторые API требуют дополнительных разрешений высокого уровня, которые можно настроить в Developer Console или Lark Developer Console . Убедитесь, что разрешения были одобрены.
Проблема : Вызовы API, связанные с загрузкой/выгрузкой изображений или файлов, не работают. Решение : Текущая версия не поддерживает функциональность загрузки/выгрузки файлов и изображений. Эти API будут поддерживаться в будущих версиях.
Проблема : Командная строка отображает искаженные символы в среде Windows Решение : Измените кодировку командной строки на UTF-8, выполнив команду
chcp 65001в командной строке. Если вы используете PowerShell, вам может потребоваться изменить шрифт терминала или конфигурацию PowerShell.Проблема : Ошибки разрешений во время установки Решение : На macOS/Linux используйте
sudo npm install -g @larksuiteoapi/lark-mcpдля установки или измените разрешения глобального пути установки npm. Пользователи Windows могут попробовать запустить командную строку от имени администратора.Проблема : превышен лимит токенов после запуска службы MCP. Решение : попробуйте использовать
-t, чтобы уменьшить количество включенных API, или используйте модель, которая поддерживает более крупные токены (например, claude3.7).Проблема : Невозможно подключиться или получить сообщения в режиме SSE. Решение : Проверьте, не используется ли уже порт, и попробуйте изменить его на другой порт. Убедитесь, что клиент правильно подключен к конечной точке SSE и обрабатывает поток событий.
Ссылки по теме
Обратная связь
Вопросы приветствуются, чтобы помочь улучшить этот инструмент. Если у вас есть какие-либо вопросы или предложения, пожалуйста, поднимите их в репозитории GitHub.