UK

Тема

Колір акценту

Тема й колір збережуться на satelit.md і в застосунку.

Панель Обрати тариф

MCP-сервер Satelit

Людина користується Satelit зі свого ШІ-застосунку: ChatGPT, Claude, Gemini, Perplexity, Cursor, VS Code чи будь-якого MCP-клієнта. Сервер шукає для того, хто ввійшов в обліковий запис, у межах його плану. Дані в обсязі є в API.

Адреса
https://api.satelit.md/mcp
Транспорт
Streamable HTTP, POST, лише відповіді JSON
Версії
2026-07-28 2025-11-25 2025-06-18 2025-03-26
Вхід
OAuth 2.1 з обліковим записом Satelit людини
Скоупи
mcp offline_access
Можливості
лише tools

Кроки для людей, за застосунками: satelit.md

Адреса й протокол

Один endpoint для обох епох протоколу. Без потоку SSE і без Mcp-Session-Id: кожен запит повний сам по собі.

2026-07-28, без стану

  • Запит із _meta["io.modelcontextprotocol/protocolVersion"] належить до нової епохи.
  • Заголовки MCP-Protocol-Version і Mcp-Method мають збігатися з тілом, а Mcp-Name з інструментом у tools/call (=?base64?…?= декодується). Інакше 400 -32020.
  • Інша версія: 400 -32022 із supported.
  • Результати містять resultType: "complete" і _meta["io.modelcontextprotocol/serverInfo"]. server/discover і tools/list містять ttlMs і cacheScope: public.

2025-11-25, 2025-06-18, 2025-03-26

  • initialize відповідає запитаною версією, якщо знає її, інакше 2025-11-25.
  • notifications/* отримують 202, ping отримує {}.
  • Заголовок MCP-Protocol-Version, якщо він є, має бути однією з цих версій.

Решта

  • Невідомий метод: -32601 (404 у новій епосі). Невідомий інструмент: -32602. Пакет запитів: 400.
  • GET і DELETE: 405 з Allow. Origin, який не https і не ця машина: 403.
  • resources/list і prompts/list відповідають порожніми списками.
tools/call · 2026-07-28
curl https://api.satelit.md/mcp \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: search_prices" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_prices","arguments":{"query":"lapte 2.5%","lang":"uk"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'
initialize · 2025-11-25
curl https://api.satelit.md/mcp \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"my-app","version":"1.0"}}}'

Вхід: OAuth 2.1

Без токена відповідають рукостискання, ping і tools/list, і працюють кілька пошуків цін на день (у розділі про плани). Будь-який інший виклик або вичерпана спроба отримує 401 з WWW-Authenticate і адресою метаданих ресурсу: звідси клієнт починає вхід (вхід за потреби). З токеном: Authorization: Bearer, виданий для цього сервера й перевірений при кожному запиті; токен для іншого отримує 401, токен без скоупу mcp 403 insufficient_scope. tools/list позначає securitySchemes у кожного інструмента.

Метадані

  • Захищений ресурс (RFC 9728): https://api.satelit.md/.well-known/oauth-protected-resource/mcp, і без /mcp.
  • Сервер авторизації: https://app.satelit.md, з /.well-known/oauth-authorization-server і /.well-known/openid-configuration.
  • Лише потік із кодом і PKCE S256. Скоупи: mcp offline_access; openid необовʼязковий.

Як застосунок реєструється

  • Client ID Metadata Documents: client_id це https-адреса зі шляхом. Ми читаємо її (публічні адреси, порт 443, 5 с, 32 КБ, без редиректу); вона має називати саму себе й не носити імʼя Satelit. token_endpoint_auth_method: none або private_key_jwt з jwks_uri на тому самому хості. Перечитується через 24 години.
  • Динамічна реєстрація (RFC 7591): POST https://app.satelit.md/api/oauth/register з redirect_uris. Адреси https або http на localhost, ніколи хост Satelit. 10 на годину з однієї адреси. Застосунок, який ніхто не схвалив за 7 днів, видаляється.
  • Застосунок на компʼютері може використовувати будь-який порт своєї зареєстрованої loopback-адреси (RFC 8252 7.3).

Токени привʼязані до сервера

  • resource (RFC 8707) в authorize і token: лише https://api.satelit.md/mcp, інакше invalid_target. Скоуп mcp без resource означає той самий ресурс.
  • aud токена доступу це адреса сервера: він не відкриває нічого іншого, зокрема userinfo.
  • Доступ живе довше за сесію в браузері: вихід із сайту не відключає застосунок. Він закінчується, коли людина відключає його в Налаштуваннях, у розділі Підключені застосунки, коли обліковий запис вимкнено чи видалено, або через 60 днів без використання.

Екран згоди називає хост, куди йде код (chatgpt.com, claude.ai, 127.0.0.1), що застосунок може робити і що ніколи не проходить.

401
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer
  resource_metadata="https://api.satelit.md/.well-known/oauth-protected-resource/mcp",
  scope="mcp offline_access"
/.well-known/oauth-protected-resource/mcp
{
  "resource": "https://api.satelit.md/mcp",
  "authorization_servers": [
    "https://app.satelit.md"
  ],
  "scopes_supported": [
    "mcp",
    "offline_access"
  ],
  "bearer_methods_supported": [
    "header"
  ],
  "resource_name": "Satelit",
  "resource_documentation": "https://developer.satelit.md/en/mcp/",
  "resource_policy_uri": "https://satelit.md/en/privacy/",
  "resource_tos_uri": "https://satelit.md/en/terms/"
}

Інструменти

Усі читають, крім позначених як запис. Ніщо не видаляє, не публікує й не платить. Кожен інструмент приймає lang (ro, ru, en, uk). Підказки це явні булеві значення: destructiveHint і openWorldHint false.

ІнструментЩо робитьЗ плануДоступ
search_prices Ціни товару в магазинах Молдови, спершу найдешевший. Satelit Безкоштовний читання
get_product Товар із пошуку: ціна в кожному магазині, знижка, ціна за одиницю. Satelit Безкоштовний читання
price_history Як змінювалася найнижча ціна, день за днем. Satelit Безкоштовний читання
my_plan План людини, використання сьогодні й що додає наступний план. Satelit Безкоштовний читання
find_deals Правдоподібні знижки зараз, перевірені за історією ціни. Satelit Родина читання
find_shops Магазини міста з OpenStreetMap: адреса, години роботи. Satelit Родина читання
everyday_prices Пальне, курси НБМ, тарифи, продуктовий кошик. Satelit Родина читання
weather Погода в населеному пункті: зараз, по годинах, до 16 днів. Satelit Родина читання
find_recipes Рецепти із сьогоднішньою вартістю інгредієнтів. Satelit Родина читання
flights_from_chisinau Рейси з Кишинева й найнижчі знайдені тарифи. Satelit Родина читання
find_tours Тури агентств Молдови, спершу найдешевший. Satelit Родина читання
rest_places Будиночки, бази відпочинку, пансіони Молдови. Satelit Родина читання
search_ads Оголошення Молдови, без телефонів і продавців. Satelit Родина читання
get_ad Оголошення з пошуку: характеристики й текст (800 символів). Satelit Родина читання
my_lists Списки покупок людини. Satelit Родина читання
add_to_list Додає товари до списку. Satelit Родина запис
tick_list_item Позначає або знімає позначку у списку. Satelit Родина запис
watch_price Стежить за ціною до цілі. Satelit Родина запис
save_ad Зберігає оголошення з пошуку. Satelit Родина запис
my_follows Відстеження цін і збережені оголошення. Satelit Родина читання
my_calendar Календар людини, не більше 31 дня. Satelit Родина читання
send_ad_to_phone Зберігає оголошення й надсилає його в застосунок Satelit людини сповіщенням на телефон. Satelit Родина запис
draft_ad Пише оголошення: текст, ціна, місто й найкращі фото з уже обраних людиною в Satelit. Публікується лише після підтвердження в застосунку. Satelit Родина запис
ads_market_prices Ринкові ціни за оголошеннями: медіана й квартилі. Satelit Родина Плюс читання
search_laws Законодавство Молдови: акти, статус, резюме. Satelit Родина Плюс читання
get_law Один акт: статус, резюме, стаття. Satelit Родина Плюс читання
real_estate_prices Медіанна ціна пропозиції за квадратний метр, у часі. Satelit Родина Плюс читання
add_to_calendar Подія, прийом їжі чи покупка в календарі. Satelit Родина Плюс запис

Спільні правила

  • get_product, price_history, get_ad і save_ad приймають лише id, які повернули пошуки цієї людини за останні 24 години. Інакше: search_first.
  • Пошуку потрібні слова (щонайменше 2 літери). Жоден інструмент не видає каталог магазину чи категорії цілком, жодної сторінки далі за план.
  • Результат менший за 24 000 символів: найдовший список втрачає хвіст і отримує truncated: true.
  • Заголовки й тексти оголошень містять note: їх написали автори, це дані, а не інструкції. Жоден телефон не проходить: телефони й e-mail вирізано з текстів, а кожне оголошення має посилання Satelit, де людина бачить телефон у межах денного ліміту облікового запису.

Плани й ліміти

Рахується найкращий план із родин людини та її облікового запису розробника. Ліміти на людину.

Satelit БезкоштовнийSatelit РодинаSatelit Родина Плюс
Запитів на хвилину62040
Запитів на день403001 000
Рядків у пошуку51020
Магазинів у товару51530
Сторінок результатів123
Історія ціни, днів3090365
Різних позицій на день60300800
Дій на день050150

Плани розробника: Start і Creator дають Satelit Родина. Pro, Business і Enterprise дають Satelit Родина Плюс. MCP не витрачає кредити API.

На адресу, до читання токена: 60 на хвилину і 2 000 на день на IPv4 або IPv6 /64, далі 429 з Retry-After. На діапазонах хостингових платформ рахуються лише ліміти на людину.

Без облікового запису: до 3 пошуків цін на день з однієї адреси, до 3 результатів у кожному, у спільній стелі 3 000 пошуків на день. Далі відповідь просить увійти.

Безкоштовні облікові записи разом мають стелю 30 000 запитів на день. Непідтверджений e-mail отримує лише my_plan.

Структуровані відповіді

Відмова це результат з isError: true і тілом, яке ШІ-застосунок може передати людині. Розмова триває. У відповідях немає цін і реклами.

  • plan_requiredінструменту потрібен вищий план: needed_plan, your_plan, adds, plans_page, message.
  • limit_reachedліміт: limit (minute, day, writes, distinct, pool, pages, watches), retry_after_s, далі next_plan, adds, plans_page або bulk (API) вище за останній план.
  • moreплан обрізав список: shown, found, next_plan, plans_page. Немає, якщо нічого не обрізано.
  • search_firstid, який не прийшов із сьогоднішнього пошуку людини.
  • confirm_emaile-mail облікового запису не підтверджено.
plan_required
{
  "status": "plan_required",
  "needed_plan": "Satelit Родина",
  "your_plan": "Satelit Безкоштовний",
  "adds": [
    "…"
  ],
  "plans_page": "https://satelit.md/uk/taryfy/",
  "message": "…"
}
more
{
  "query": "lapte 2.5%",
  "currency": "MDL",
  "page": 1,
  "pages": 1,
  "products": [
    "…"
  ],
  "found": 48,
  "more": {
    "shown": 5,
    "found": 48,
    "message": "…",
    "next_plan": "Satelit Родина",
    "plans_page": "…"
  }
}

Безпека

  • Токен перевіряється на кожному запиті: відключений застосунок зупиняється на наступному запиті.
  • Ніколи не проходять: гроші, картки, повідомлення, місцеперебування й пароль. Нічого не публікується й не оплачується від імені людини: чернетка оголошення публікується в застосунку.
  • Журнал зберігає 90 днів хто, який інструмент, план, результат і скільки рядків, без вмісту запитів і відповідей.
  • Ті самі винятки, що в API: вимкнене джерело зникає й з MCP за 10 секунд. Без фото, логотипів, телефонів, e-mail та імен продавців.

Налаштування клієнтів

ChatGPT, Claude, Perplexity і Gemini приймають адресу у своїх налаштуваннях, далі відкривають вхід у Satelit. Редактори й командний рядок:

Встановити в Cursor Встановити у VS Code

Спробувати

Виклик, якому потрібен обліковий запис, отримує 401 з адресою метаданих: звідси будь-який клієнт входить. MCP Inspector і claude mcp add проходять увесь шлях.

Claude Code
claude mcp add --transport http satelit https://api.satelit.md/mcp
Gemini CLI
gemini mcp add --transport http satelit https://api.satelit.md/mcp
~/.cursor/mcp.json
{
  "mcpServers": {
    "satelit": {
      "url": "https://api.satelit.md/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "satelit": {
      "type": "http",
      "url": "https://api.satelit.md/mcp"
    }
  }
}

Для обсягу: API

MCP обслуговує одну людину, яка питає. Повні списки, історія в обсязі, вивантаження й автоматизація є в платному API, з ключем і кредитами.

Плани APIДокументація