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

MCP-сервер

Подключите AI-агентов к Statsnet по Model Context Protocol: установка в клиенты, инструменты и их параметры, лимиты, примеры запросов.

Statsnet предоставляет удалённый (remote) MCP-сервер — AI-агенты в Claude, Cursor, VS Code и любых MCP-совместимых клиентах ищут компании и получают их данные прямо в диалоге. Устанавливать локальный процесс не нужно:

POST https://statsnet.co/mcp
ПараметрЗначение
ТранспортStreamable HTTP, без сессий: на каждый POST — один JSON-ответ, SSE-поток не открывается (GET /mcp → 405)
ПротоколMCP 2025-06-18, JSON-RPC 2.0; методы initialize, ping, tools/list, tools/call
АутентификацияНеобязательная: заголовок Authorization: Bearer sk_live_... — тот же ключ, что и для REST API
Формат результатовMarkdown-текст на русском языке — удобно модели, не требует парсинга

Режимы доступа

Без ключа (анонимно). Доступны два инструмента — search_companies и get_company, публичные данные бесплатно. Анонимный поиск ограничен 30 вызовами в час с одного IP и входит в общую бесплатную месячную квоту поиска, как на сайте.

С API-ключом. Создайте ключ в личном кабинете и передайте его в заголовке Authorization: Bearer sk_live_... в настройках подключения — не в тексте сообщения ассистенту. Ключ наследует подписку владельца: поиск без IP-лимита (до 50 результатов за вызов) и платные инструменты. Биллинг совпадает с REST API: на API-тарифах каждый вызов инструмента учитывается в месячном лимите; на тарифах с отчётами полная карточка списывает один отчёт, повторный просмотр той же компании в течение 2 недель бесплатен.

Неверный или отозванный ключ получает HTTP 401 — сервер никогда не переключает такой запрос в анонимный режим молча.

Инструменты

ИнструментДоступЧто возвращает
search_companiesбез ключаСписок совпадений по названию, БИН/ИИН или ФИО руководителя: название, идентификатор, юрисдикция, статус.
get_companyбез ключаПубличная карточка компании: статус, регистрация, руководство, счётчики (госконтракты, суды), финансы.
get_company_paidключ + тарифПолная карточка: учредители, капитал, финансовая история за все годы, риски, счётчики контактов. Списывает квоту тарифа.
get_gov_contractsключ + тарифГосконтракты: предмет закупки, заказчик, сумма, даты. Нужна активная подписка или купленная карточка компании.
get_court_casesключ + тарифСудебные дела: номер, тип, суд, стороны, результат. Полные данные — при купленной карточке.
get_relationsключ + тарифГраф связей: учредители, руководители и их другие компании. Списывает просмотр карточки (повтор в течение 2 недель бесплатен).
check_individualключ + PremiumПроверка физлица по ИИН: в каких компаниях руководитель или учредитель, риски. Тариф Premium и выше.

Параметры

ИнструментАргументТипОписание
search_companiesquerystring, обязательныйНазвание компании, БИН/ИИН или ФИО
jurisdictionstringОграничить поиск юрисдикцией (список ниже)
limitintegerСколько результатов вернуть: по умолчанию 10, максимум 20 без ключа и 50 с ключом
get_company, get_company_paid, get_relationsjurisdictionstring, обязательныйЮрисдикция компании
identifierstring, обязательныйБИН/ИИН (национальный идентификатор) компании
get_gov_contracts, get_court_casesjurisdiction, identifierstring, обязательныеКак у get_company
limitintegerСколько записей вернуть: по умолчанию 20, максимум 50
check_individualidentifierstring, обязательныйИИН физического лица (12 цифр)

Юрисдикции: kz (Казахстан), uz (Узбекистан), kg (Кыргызстан), ge (Грузия), am (Армения), tj (Таджикистан), az (Азербайджан) и штаты США в формате us-<код штата> — например, us-de, us-ca, us-ny. Полный актуальный список — в inputSchema инструментов, который клиент получает через tools/list.

Обычный сценарий: search_companies → идентификатор из результата → get_company или платный инструмент с той же парой jurisdiction + identifier. Если компания не найдена, квота не списывается.

Подключение

Claude Code

claude mcp add --transport http statsnet https://statsnet.co/mcp \
  --header "Authorization: Bearer sk_live_YOUR_KEY"

Без --header сервер подключится в анонимном режиме. Проверка: команда /mcp в Claude Code показывает statsnet и список инструментов.

Cursor

Файл ~/.cursor/mcp.json (глобально) или .cursor/mcp.json в проекте:

{
  "mcpServers": {
    "statsnet": {
      "url": "https://statsnet.co/mcp",
      "headers": { "Authorization": "Bearer sk_live_YOUR_KEY" }
    }
  }
}

VS Code (GitHub Copilot, режим агента)

Файл .vscode/mcp.json:

{
  "servers": {
    "statsnet": {
      "type": "http",
      "url": "https://statsnet.co/mcp",
      "headers": { "Authorization": "Bearer sk_live_YOUR_KEY" }
    }
  }
}

Claude Desktop

Анонимный режим: Settings → Connectors → Add custom connector, URL https://statsnet.co/mcp.

С API-ключом: конфиг claude_desktop_config.json поддерживает только локальные (stdio) серверы, поэтому удалённый сервер с заголовком подключается через мост mcp-remote (нужен Node.js):

{
  "mcpServers": {
    "statsnet": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://statsnet.co/mcp",
        "--header",
        "Authorization:${STATSNET_AUTH}"
      ],
      "env": { "STATSNET_AUTH": "Bearer sk_live_YOUR_KEY" }
    }
  }
}

После правки конфига перезапустите Claude Desktop.

Другие клиенты

Любой клиент с поддержкой Streamable HTTP подключается по URL https://statsnet.co/mcp с необязательным заголовком Authorization. Храните конфиги с реальным ключом в личных настройках, а не в общем репозитории.

Примеры запросов к ассистенту

ЗадачаПример запросаИнструменты
Найти компанию«Найди в Казахстане ТОО «Казпочта» и покажи его БИН и статус»search_companies
Краткая справка«Подготовь справку по компании с БИН 000740000728: статус, руководитель, основные финансовые показатели»get_company
Проверка контрагента«Проверь контрагента с БИН 000740000728: учредители, капитал, риски. Отдельно перечисли, каких данных нет»get_company_paid
Госзакупки«Покажи последние 10 госконтрактов этой компании, сгруппируй по заказчикам и посчитай сумму»get_gov_contracts
Суды«Есть ли у компании судебные дела? Выдели дела, где она ответчик»get_court_cases
Аффилированность«В каких ещё компаниях участвуют руководители и учредители этой организации?»get_relations
Физлицо«Проверь физлицо по ИИН (12 цифр): где оно руководитель или учредитель»check_individual

Один вопрос может привести к нескольким вызовам инструментов, а платные вызовы расходуют квоту. Если клиент поддерживает подтверждение вызовов, включите его; при проверке нескольких компаний попросите ассистента сначала описать план.

Проверка без клиента (curl)

Сервер отвечает на обычные JSON-RPC-запросы — удобно для отладки ключа:

curl -s https://statsnet.co/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_companies","arguments":{"query":"Казпочта","jurisdiction":"kz","limit":5}}}'

Ответ — объект JSON-RPC с полем result.content[0].text (Markdown). Список инструментов, доступных именно вашему ключу: {"jsonrpc":"2.0","id":1,"method":"tools/list"}.

Ошибки и лимиты

СитуацияЧто вернёт сервер
Неверный или отозванный ключHTTP 401 с заголовком WWW-Authenticate и JSON-RPC-ошибкой -32001
Исчерпана бесплатная квота поиска (анонимно)HTTP 429
Больше 30 анонимных поисков в час с одного IPРезультат инструмента с isError: true и объяснением
Платный инструмент без ключаРезультат с isError: true: инструмент доступен только с API-ключом
Нет активной подписки, исчерпана квота отчётов или месячный лимит API-тарифа, недостаточный тарифРезультат с isError: true и понятным текстом — ассистент может пересказать его пользователю
Компания не найденаРезультат с isError: true; квота не списывается
Некорректный JSON или неизвестный методJSON-RPC-ошибки -32700, -32601, -32602

Ошибки уровня инструмента приходят как обычный результат с флагом isError, а не как протокольная ошибка: модель читает объяснение и может скорректировать запрос. Остаток квоты и тарифы — в личном кабинете и на странице тарифов.

Что дальше