RU

Тема

Цвет акцента

Тема и цвет сохранятся на 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":"ru"},"_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/ru/tarify/",
  "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Документация