Обзор и подключение
MCP (Model Context Protocol) позволяет AI-агенту интегратора работать с Biometric.Vision: просматривать подписки организации, создавать и изменять Workflow, а также проводить разовый smoke-тест сессии. MCP-сервер совместим с Claude Code, Cursor и Codex.
В интерфейсе и документации v2 используется термин Workflow. В названиях MCP-инструментов и полей API сохраняется термин flow: например, create_flow, flow_id и flow_config.
Сервер работает по MCP поверх Streamable HTTP:
Для аутентификации используется API-ключ организации в заголовке Authorization: Bearer <YOUR_ORG_API_KEY>. Также поддерживается заголовок X-Org-API-Key: <YOUR_ORG_API_KEY>.
MCP используется только при интеграции
MCP предназначен для AI-агента интегратора. Не вызывайте MCP-инструменты из backend, frontend, обработчиков маршрутов или фоновых задач production-приложения.
Для каждой проверки конечного пользователя создавайте сессию и получайте результат через REST API. Способ показа интерфейса выбирайте в зависимости от приложения: Remote Workflow, Widget Workflow или WebView Workflow.
Лимит запросов
Для /mcp/* действует лимит 60 запросов в минуту на один IP. При превышении сервер возвращает HTTP 429 Too Many Requests, Retry-After, X-RateLimit-Limit и X-RateLimit-Remaining. Подождите указанное в Retry-After количество секунд и повторите запрос.
sequenceDiagram
participant AGENT as AI-агент интегратора
participant KYC as Biometric.Vision
participant APP as Приложение клиента
participant USER as Конечный пользователь
note over AGENT,KYC: Разовая настройка через MCP
AGENT->>KYC: Проверить организацию и подписки
AGENT->>KYC: Создать или изменить Workflow
AGENT->>KYC: Создать и проверить тестовую сессию
note over APP,KYC: Production через REST API
USER->>APP: Начать проверку
APP->>KYC: Создать сессию Workflow
KYC-->>APP: session_id
APP-->>USER: Открыть Remote, Widget или WebView
APP->>KYC: Получить результат сессии
KYC-->>APP: Результаты технологий
1. Получение API-ключа организации¶
Скопируйте API-ключ организации из личного кабинета: Настройки → Данные компании → API KEY.
Ключ организации даёт MCP-серверу доступ к настройкам организации. Храните его в локальной конфигурации AI-агента, не добавляйте в репозиторий и не передавайте в production-приложение. Для REST-интеграции приложение использует отдельный API-ключ Workflow, который возвращает create_flow.
2. Подключение MCP-сервера¶
Добавьте сервер для текущего проекта:
claude mcp add --transport http --scope local kyc \
https://kyc.biometric.vision/mcp/ \
--header "Authorization: Bearer <YOUR_ORG_API_KEY>"
Проверьте подключение командой claude mcp get kyc или откройте /mcp в Claude Code.
Создайте .cursor/mcp.json в проекте или ~/.cursor/mcp.json для глобальной настройки:
{
"mcpServers": {
"kyc": {
"url": "https://kyc.biometric.vision/mcp/",
"headers": {
"Authorization": "Bearer <YOUR_ORG_API_KEY>"
}
}
}
}
Перезагрузите MCP-сервер в настройках Cursor или перезапустите Cursor.
Добавьте сервер в ~/.codex/config.toml или в .codex/config.toml проекта. Значение ключа передайте через переменную окружения:
[mcp_servers.kyc]
url = "https://kyc.biometric.vision/mcp/"
bearer_token_env_var = "KYC_ORG_API_KEY"
Перед запуском Codex задайте переменную:
Выполните codex mcp list, затем откройте /mcp в Codex и убедитесь, что сервер доступен.
3. Проверка подключения¶
После подключения вызовите два инструмента:
get_organization(api_key="<YOUR_ORG_API_KEY>")— проверяет организацию. Полеstatusпоказывает окружение:TEST,DEMOилиPRODUCTION.list_subscription_technologies()— возвращает технологии, доступные организации, включая ихid,codeиname.
Если подключение не работает:
| Симптом | Возможная причина и действие |
|---|---|
401 Unauthorized |
API-ключ отсутствует, неверен или больше не действует. Скопируйте ключ организации заново. |
429 Too Many Requests |
Превышен лимит на один IP. Подождите время из Retry-After. |
Инструменты kyc не отображаются |
Перезагрузите MCP-сервер или перезапустите клиент. |
| Ошибка соединения или DNS | Проверьте полный URL, включая https:// и завершающий /. |
| Возвращена другая организация | В конфигурации указан ключ другой организации. |
4. Проектирование Workflow¶
Workflow задаёт набор и порядок технологий, которые проходит конечный пользователь. Перед созданием Workflow:
- Получите доступные технологии через
list_subscription_technologies(). - Определите бизнес-сценарий, страны пользователей, необходимые проверки и допустимый уровень сложности для пользователя.
- Согласуйте с владельцем продукта состав и порядок технологий.
- Прочитайте справочные MCP-ресурсы с актуальными значениями по умолчанию и допустимыми идентификаторами.
| Ресурс | Назначение |
|---|---|
kyc://reference/flow-config-defaults |
Значения по умолчанию для flow_config. |
kyc://reference/technology-config-defaults |
Доступные настройки и значения по умолчанию для каждой технологии. |
kyc://reference/document-recognition-countries |
Идентификаторы стран для doc_recognition_config.allowed_countries. |
kyc://reference/document-recognition-document-types |
Идентификаторы типов документов для doc_recognition_config.allowed_document_types. |
Workflow с цифровой подписью создаётся в кабинете
Не передавайте технологии с кодами DSI, DSN или DSS в create_flow. Для таких Workflow действуют дополнительные ограничения удостоверяющего центра и идентификации подписанта, которые этот MCP-сценарий не проверяет.
Создайте Workflow с цифровой подписью в личном кабинете, затем найдите его через list_flows() и получите данные через get_flow(flow_id=...).
5. Создание Workflow¶
Передавайте в technology_ids UUID из ответа list_subscription_technologies() в требуемом порядке выполнения. Короткие коды технологий для этого поля не подходят.
Минимальный вызов:
{
"request_data": {
"name": "kyc-production",
"display_name": "KYC verification",
"technology_ids": [
"<TECHNOLOGY_UUID_1>",
"<TECHNOLOGY_UUID_2>"
],
"flow_config": {
"success_redirect_url": "https://example.com/kyc/return",
"failure_redirect_url": "https://example.com/kyc/return"
}
}
}
Если конфигурация указана не для всех технологий, create_flow предложит выбрать между настройками по умолчанию и индивидуальными переопределениями:
decline— применить значения по умолчанию ко всем технологиям;accept— последовательно настроить технологии;cancel— отменить создание Workflow.
Если передать technology_configs для всех технологий и задать display_name, дополнительные вопросы не появятся. Ответ create_flow содержит:
id— UUID Workflow;api_key— API-ключ Workflow для создания production-сессий через REST API.
Сохраните api_key в менеджере секретов backend. Не передавайте его в браузер или мобильное приложение.
6. Smoke-тест¶
Перед подключением production-кода проверьте Workflow целиком:
- Вызовите
create_flow_session(flow_api_key="<WORKFLOW_API_KEY>")и сохранитеsession_id. - Пройдите проверку по адресу
https://remote.biometric.vision/flow/<session_id>. - Вызовите
get_flow_session_light_result(session_id="<SESSION_ID>"). - Проверьте
status,overall_result, результаты каждой технологии иfailure_reasonsпри ошибке.
После smoke-теста подключите Workflow к приложению через Remote Workflow, Widget Workflow или WebView Workflow. Production-приложение создаёт сессии и получает результаты через REST API.
MCP-инструменты¶
| Инструмент | Назначение |
|---|---|
get_organization(api_key) |
Получить организацию и её статус. |
list_subscription_technologies() |
Получить технологии, доступные по подписке организации. |
list_flows(limit, offset) |
Получить список Workflow с пагинацией. |
get_flow(flow_id) |
Получить Workflow и его конфигурацию. |
create_flow(request_data) |
Создать Workflow. Может запрашивать настройки через elicitation. |
update_flow(request_data) |
Частично обновить Workflow. |
create_flow_session(flow_api_key) |
Создать сессию для smoke-теста. |
get_flow_session(session_id) |
Получить структурированные данные сессии без URL медиафайлов. |
get_flow_session_light_result(session_id) |
Получить результат с временными подписанными URL медиафайлов. |
update_flow_session_status(session_id, request_data) |
Вручную установить APPROVED или DECLINED. |
list_flow_session_reviews(session_id) |
Получить журнал ревью сессии. |
create_flow_session_review(session_id, request_data) |
Добавить запись MESSAGE в журнал ревью. |
Готовая инструкция для агента находится на странице Промпт для AI-интеграции.