Те же данные — в виде инструментов для агента.
MCP-сервер только для чтения, который отвечает так же, как REST API: тот же сервис, тот же релиз, те же подтверждения. Агент вызывает инструмент и получает структурированные данные и короткое текстовое резюме, которое никогда не добавляет фактов.
Эндпоинт ниже ещё не запущен. Эта страница описывает его заранее, чтобы вы могли подготовить настройку. REST API работает уже сейчас.
- Эндпоинт
- visapassage.com/mcp
- Транспорт
- Streamable HTTP
- Аутентификация
- Bearer
- Доступ
- только чтение, без состояния
Настройте клиент, по одному конфигу на каждый.
terminal
claude mcp add --transport http visapassage https://visapassage.com/mcp \ --header "Authorization: Bearer $VISAPASSAGE_KEY"{ "mcpServers": { "visapassage": { "command": "npx", "args": [ "-y", "mcp-remote", "https://visapassage.com/mcp", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": "Bearer vp_live_…" } } }}{ "mcpServers": { "visapassage": { "url": "https://visapassage.com/mcp", "headers": { "Authorization": "Bearer ${env:VISAPASSAGE_KEY}" } } }}{ "inputs": [ { "type": "promptString", "id": "visapassage-key", "description": "VisaPassage API key", "password": true } ], "servers": { "visapassage": { "type": "http", "url": "https://visapassage.com/mcp", "headers": { "Authorization": "Bearer ${input:visapassage-key}" } } }}[mcp_servers.visapassage]url = "https://visapassage.com/mcp"bearer_token_env_var = "VISAPASSAGE_KEY"{ "mcpServers": { "visapassage": { "httpUrl": "https://visapassage.com/mcp", "headers": { "Authorization": "Bearer $VISAPASSAGE_KEY" } } }}{ "mcpServers": { "visapassage": { "serverUrl": "https://visapassage.com/mcp", "headers": { "Authorization": "Bearer ${env:VISAPASSAGE_KEY}" } } }}# New connectorName: VisaPassageMCP server URL: https://visapassage.com/mcpAuthentication: API key (Bearer) → vp_live_…{ "visapassage": { "type": "streamable-http", "url": "https://visapassage.com/mcp", "headers": { "Authorization": "Bearer <VISAPASSAGE_KEY>" } }}- 01Получите ключ API. Один и тот же ключ работает для REST и MCP.
- 02Добавьте конфиг для своего клиента, затем перезапустите его или обновите список MCP.
- 03Задайте вопрос о визе. Агент сам выберет инструмент, а каждый вызов будет виден.
- ChatGPT: для собственных коннекторов нужен режим разработчика, а варианты аутентификации зависят от тарифа. Если доступны только OAuth или «без аутентификации», пока используйте другой клиент.
Шесть инструментов, все только для чтения.
| Инструмент | Что делает | Единицы |
|---|---|---|
| search_programs | Программы для страны или зоны и цели поездки, в кратком виде. | 1 |
| get_program | Одна программа: требования, сборы, сроки, права и подтверждение для каждого пункта. | 1 |
| match_programs | Ранжирует программы под профиль заявителя. Тот же результат, что у POST /api/v1/match. | 5 |
| explain_requirement | Что означает понятие требования, плюс параметры и подтверждения одной программы. | 1 |
| list_changes | Что изменилось с указанного релиза, по странам. | 1 |
| coverage | Какие страны покрыты. Агенту стоит вызвать его, прежде чем отвечать вне области покрытия. | 1 |
Как выглядит вызов
Пользователь спрашивает обычными словами. Агент превращает вопрос в профиль заявителя и вызывает match_programs. В ответ он получает тот же MatchResult, что и REST API.
Я из Украины, в сентябре начинаю магистратуру во Франции. Французский B2, около €700 в месяц на год. Какая нужна виза и подхожу ли я?Живой результат для этого профиля
{ "name": "match_programs", "arguments": { "purpose": "study.degree", "scope": { "destinations": [ "FR" ] }, "citizenships": [ "UA" ], "citizenships_complete": true, "languages": [ { "language": "uk", "native": true }, { "language": "fr", "cefr": "B2" } ], "funds": { "min": "8400.00", "currency": "EUR", "forms": [ "bank_statement" ] }, "education_isced": 6, "stay_months": 12, "dependents": { "spouse": false, "children": 0 } }}База знаний, которую агент загружает первой.
# VisaPassage: visa and study-permit data for agents Use this when a task needs official visa or study-permit rules: requirements, fees, processingtimes and rights. Data is English. Scope today: study in the EU, EEA and Switzerland, only forcountries whose coverage status is "covered" (see the coverage tool or https://visapassage.com/developers/coverage). ## Endpoints- MCP (Streamable HTTP, read-only, preview, not live yet): https://visapassage.com/mcp- REST: https://visapassage.com/api/v1 (OpenAPI 3.1: https://visapassage.com/api/v1/openapi.json)- Auth for both: `Authorization: Bearer <key>` ## Tools- `coverage`: which countries are covered. Call it first if the destination may be out of scope.- `search_programs`: programs for a destination or zone and a purpose (summaries).- `get_program`: one program with requirements, fees, processing, rights and evidence.- `match_programs`: rank programs for a TravelerContext. Costs 5 units, the rest cost 1.- `explain_requirement`: what a requirement concept means, plus a program's parameters.- `list_changes`: what changed since a release, per destination. ## Rules for answering users1. Requirements are three-valued: met, not met, unknown. **Unknown means missing input or missing data, never "not required".** Ask the user for the missing input, or say the official source is silent.2. Never predict approval. Say "eligible", "may be eligible" or "requires review". The official authority decides.3. Quote figures exactly as returned (decimal strings with currency). Never convert, round or estimate a fee or threshold the data does not state.4. Cite every fact: give the official source URL from its evidence and the `release_id` of the answer. Pin `release` to reproduce an earlier answer.5. Out of scope (a country that is not covered, or a purpose other than study): say so plainly, and point to the official authority. Do not fill gaps from general knowledge.6. This is information, not legal advice. Official decisions prevail. Куда положить
CLAUDE.mdClaude CodeAGENTS.mdCodex · Cursor · Windsurf.github/copilot-instructions.mdGitHub CopilotGEMINI.mdGemini CLI
Для машин
- agents.md
Этот блок в виде markdown, всегда актуальный.
- llms.txt
Обзор сайта для языковых моделей.
- openapi.json
Полный контракт REST, OpenAPI 3.1.
При запуске планируются листинги на Apify (оплата за вызов) и RapidAPI. Они проксируют этот же эндпоинт, поэтому ответы идентичны.