Integrations
Allows integration with the filesystem server through MCP, enabling reading files from allowed directories
Генкит MCP
[!ПРЕДУПРЕЖДЕНИЕ]
Этот плагин является экспериментальным, то есть он не будет поддерживаться в долгосрочной перспективе, а API-интерфейсы подвержены более частым критическим изменениям.
Этот плагин обеспечивает интеграцию между Genkit и Model Context Protocol (MCP). MCP — это открытый стандарт, позволяющий разработчикам создавать «серверы», которые предоставляют инструменты, ресурсы и подсказки клиентам. Genkit MCP позволяет разработчикам Genkit как использовать инструменты, подсказки и ресурсы MCP в качестве клиента, так и предоставлять инструменты и подсказки в качестве сервера.
Установка
Для начала вам понадобится Genkit и плагин MCP:
Клиент МСР
Чтобы создать MCP-клиент, вы вызываете функцию mcpClient
для генерации плагина Genkit для MCP-сервера. Например, чтобы использовать пример сервера файловой системы MCP:
Большинство серверов MCP созданы для запуска в качестве порожденных процессов на той же машине с использованием транспорта stdio
. Когда вы указываете опцию serverProcess
, вы указываете команду, аргументы и переменные среды для порождения сервера как подпроцесса.
Параметры mcpClient()
name
: (обязательно) Имя этого клиента, которое определяет пространство имен его инструментов и подсказок.version
: (необязательно) Номер версии клиента. По умолчанию "1.0.0".- Вам необходимо предоставить один из следующих документов:
serverProcess
: Параметры для запуска локального серверного процесса с использованием транспорта stdio MCP.command
: Путь к команде оболочки для запуска сервера MCP. Может быть, например,npx
илиuvx
для загрузки и запуска сервера из менеджера пакетов.args
: (необязательно) Массив строковых аргументов для передачи команде.env
: (необязательно) объект значения ключа переменных среды для передачи команде.
serverUrl
: URL-адрес удаленного сервера для подключения с использованием транспорта SSE MCP.- **
serverWebsocketUrl
: URL-адрес удаленного сервера для подключения с использованием транспорта WebSocket MCP. transport
: существующий объект транспорта MCP для подключения к серверу.
rawToolResponses
: (необязательно) Логический флаг. Еслиtrue
, ответы инструмента возвращаются в необработанном формате MCP; в противном случае они обрабатываются для совместимости с Genkit.
Использование действий MCP
Клиент Genkit MCP автоматически обнаруживает доступные инструменты и подсказки и регистрирует их в Genkit, делая их доступными везде, где могут использоваться другие инструменты и подсказки. Для доступа к ресурсам регистрируются специальные инструменты list_resources
и read_resource
, которые будут получать доступ к ресурсам сервера.
Все действия MCP размещаются в пространстве имен под указанным вами именем, поэтому клиент с именем filesystem
будет регистрировать такие инструменты, как filesystem/read_file
.
Ответы инструментов
Инструменты MCP возвращают массив content
, а не структурированный ответ, как большинство инструментов Genkit. Плагин Genkit MCP пытается проанализировать и привести возвращенный контент к следующему виду:
- Если содержимое представляет собой текст и допустимый JSON, JSON анализируется и возвращается.
- Если содержимое представляет собой текст, а не допустимый JSON, возвращается текст.
- Если содержимое содержит одну нетекстовую часть, она возвращается.
- Если содержимое состоит из нескольких/смешанных частей, возвращается полный ответ содержимого.
MCP-сервер
Вы также можете предоставить доступ ко всем инструментам и подсказкам из экземпляра Genkit как к серверу MCP:
Вышеприведенный код запустит сервер MCP с транспортом stdio, который предоставляет инструмент add
и приглашение happy
. Чтобы запустить сервер с другим транспортом, используйте mcpServer(...).start(otherTransport)
.
Известные ограничения
- Приглашения MCP могут принимать только строковые параметры, поэтому входные данные для схем должны быть объектами, имеющими только строковые значения свойств.
- Подсказки MCP поддерживают только сообщения
user
иmodel
.system
сообщения не поддерживаются. - Подсказки MCP поддерживают только один «тип» в сообщении, поэтому вы не можете смешивать медиа и текст в одном сообщении.
Тестирование вашего MCP-сервера
Вы можете протестировать свой сервер MCP с помощью официального инспектора. Например, если ваш код сервера скомпилирован в dist/index.js
, вы можете запустить:
После запуска инспектора вы можете составить список подсказок и действий и протестировать их вручную.
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Обеспечивает интеграцию между Genkit и протоколом контекста модели (MCP).
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.Last updated -88427JavaScript
- AsecurityAlicenseAqualityA powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.Last updated -93TypeScriptMIT License
- AsecurityAlicenseAqualityThe Firebase MCP server provides a standardized interface to interact with Firebase services, including Firebase Authentication, Firestore, and Firebase Storage.Last updated -91,184126TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables large language models like Claude to perform comprehensive interactions with Firebase Firestore databases, supporting full CRUD operations, complex queries, and advanced features like transactions and TTL management.Last updated -482JavaScriptMIT License