MCP: Claude Desktop, ChatGPT, Cursor
Віддалений MCP-сервер ImportOS Data: інструменти, підключення до Claude Desktop, Cursor, Claude Code і ChatGPT, перевірка curl.
ImportOS Data має віддалений сервер Model Context Protocol для AI-агентів. Він розраховує вартість авто з аукціонів США «під ключ» в Україні, Польщі, Литві, Німеччині та Грузії, оцінює ринкову ціну, декодує VIN, шукає оголошення й віддає митні правила.
- Адреса:
https://api.importos.app/mcp(streamable HTTP, без сесій: одне повідомлення JSON-RPC на коженPOST). Чекає на власника Домен-заглушка до підтвердження власником. - Автентифікація:
Authorization: Bearer rv_live_..., тобто той самий API-ключ, що й для REST. OAuth поки не реалізовано (див. нижче). - Результати інструментів збігаються з відповідями REST.
Інструменти
| Інструмент | Додаткові scopes (крім mcp) | Що робить |
|---|---|---|
calculate_landed_cost | read:pricing | Вартість авто «під ключ»: збори аукціону, доставка по США, море, порт, мито, ПДВ, акциз, сертифікація, реєстрація, послуги. Кожна стаття має пояснення, формулу й джерело |
estimate_market_price | read:pricing | p25 / медіана / p75 цін оголошень на ринках UA чи PL за 90 днів |
decode_vin | read:listings | Декодування VIN (NHTSA vPIC + WMI) і всі відомі лоти й оголошення з цим VIN, у тому числі продані |
search_listings | read:listings | Нормалізований пошук по десятках джерел: природна мова (q) або структуровані фільтри |
get_customs_rules | read:pricing | Чинні мито, ПДВ, акциз і параметри реєстрації з джерелами, датою набуття чинності та прапорцем verified |
Інструменти, на які в ключа немає права, у списку не показуються. Всі п'ять лише читають (readOnlyHint: true).
Заплановані, але недоступні: create_lead (для агентів-продавців) і get_deal_status (для клієнтських асистентів). Їм потрібні сервіс угод і scope write:deals У розробці.
Опис кожного інструмента написаний для моделі: коли викликати, приклад входу й обмеження. Головні обмеження, які інструменти повторюють моделі:
- Параметри з
verified: falseлише орієнтовні; у відповіді єwarnings(наприкладrule_unverified,tariffs_typical) іconfidenceнижче 1. Передавайте їх користувачеві. - Ринкова ціна побудована на цінах оголошень, а не угод.
sample_size: 0означає «немає даних» (null, а не нуль). - Результати пошуку: ціни на момент отримання. Збійні чи заблоковані джерела потрапляють у
errors, а виклик не падає.
Вхідні поля calculate_landed_cost
Увага: назви полів тут не збігаються з REST (POST /v1/landed-cost).
| Поле | Опис |
|---|---|
lot_price_usd | ставка на лот, USD, до зборів аукціону |
auction | copart, iaai, manheim, other (за замовчуванням copart) |
vehicle.year, vehicle.fuel | обов'язкові; паливо: petrol, diesel, hybrid, phev, ev, lpg, cng, hydrogen, other |
vehicle.engine_cc | об'єм двигуна, см³; обов'язково для всіх, крім ev |
vehicle.kwh | батарея, кВт·год; обов'язково для ev |
vehicle.vin, vehicle.make, vehicle.model, vehicle.damage, vehicle.mileage_km | необов'язкові; VIN потрібен, щоб визначити походження США (0 % мита ЄС), damage додає оцінку ремонту |
us_state, auction_yard, zip | де стоїть авто (штат, назва майданчика на кшталт NJ - TRENTON чи ZIP) |
destination_country | UA, PL, LT, GE, DE |
destination_city | місто доставки (для UA) |
our_fee_usd | ваша комісія, USD (фіксована) |
insurance | none, basic, full |
target_currency | валюта підсумку (ISO-4217), за замовчуванням USD |
date | yyyy-mm-dd для курсів і версії правил, за замовчуванням сьогодні |
locale | uk, pl, en: мова пояснень статей |
Підключення
Спершу створіть API-ключ у Desk з правами mcp, read:pricing, read:listings (швидкий старт).
Claude Desktop
Claude Desktop підключає віддалені сервери зі статичним ключем через mcp-remote. Відкрийте Settings → Developer → Edit Config (Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"importos": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.importos.app/mcp",
"--header",
"Authorization:${IMPORTOS_AUTH}"
],
"env": { "IMPORTOS_AUTH": "Bearer rv_live_YOUR_KEY" }
}
}
}Форма Authorization:${...} без пробілу після двокрапки й зі значенням у env обходить відому помилку лапок на Windows. Повністю закрийте й знову запустіть Claude Desktop, потім запитайте, наприклад: «Скільки коштуватиме в Україні Toyota Camry 2018 2.5 з Copart NJ, ставка $8000?»

Cursor
Файл ~/.cursor/mcp.json (або .cursor/mcp.json у проєкті):
{
"mcpServers": {
"importos": {
"url": "https://api.importos.app/mcp",
"headers": { "Authorization": "Bearer rv_live_YOUR_KEY" }
}
}
}Claude Code
claude mcp add --transport http importos https://api.importos.app/mcp --header "Authorization: Bearer rv_live_YOUR_KEY"ChatGPT
OAuth ще не реалізовано
Користувацькі конектори ChatGPT (режим розробника, лише віддалені сервери) побудовані навколо OAuth: токен приходить з OAuth-потоку, а в діалозі конектора немає поля для довільних заголовків. Чи є варіант зі статичним ключем або bearer-токеном, залежить від плану та поточного релізу ChatGPT.
- Якщо у вашому діалозі є поле bearer/API-ключ, вкажіть
https://api.importos.app/mcpі свій ключrv_live_.... - Якщо ні, ChatGPT не зможе підключитися, доки ми не додамо OAuth 2.1 з динамічною реєстрацією клієнта Чекає на власника. Це в планах, але не зроблено, і ми не будемо стверджувати інакше.
Будь-який інший клієнт
Використовуйте транспорт Streamable HTTP, URL і заголовок Authorization. Швидка перевірка через curl:
curl -s https://api.importos.app/mcp \
-H "Authorization: Bearer rv_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'або офіційний TypeScript-клієнт:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const client = new Client({ name: 'my-agent', version: '1.0.0' });
await client.connect(
new StreamableHTTPClientTransport(new URL('https://api.importos.app/mcp'), {
requestInit: { headers: { Authorization: `Bearer ${process.env.IMPORTOS_API_KEY}` } },
}),
);
const result = await client.callTool({
name: 'calculate_landed_cost',
arguments: {
lot_price_usd: 8000,
auction: 'copart',
vehicle: { year: 2018, fuel: 'petrol', engine_cc: 2487 },
us_state: 'NJ',
destination_country: 'UA',
our_fee_usd: 700,
},
});
console.log(result.structuredContent);Результат — JSON (structuredContent, дубльований у текстовому вмісті): items[], total, total_range, warnings[], assumptions[], rulesVersion, fx[], confidence.
Обмеження
- Без сесій: немає серверного потоку;
GET /mcpіDELETE /mcpповертають405. Усі клієнти зі Streamable HTTP працюють. - Без OAuth: доступ за статичним ключем. OAuth 2.1 (потрібен конекторам ChatGPT) Чекає на власника.
- Оцінки, а не пропозиції: неперевірені ставки позначаються, а не ховаються.
- Реєстр MCP: маніфест
mcp/server.json(формат MCP Registry) готовий, але публікація потребує підтвердження домену Чекає на власника. - Windows і Norton: фільтр мережі може псувати loopback-відповіді на
/mcp, див. швидкий старт.