# Tier1.shop — SEO Link Placements

> Buy, manage and update RU PBN and international SEO links through protected Tier1.shop checkout.

- name: shop.tier1/tier1-shop
- version: 0.4.5
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/shop.tier1%2Ftier1-shop
- tools: https://api.protogrid.dev/v1/servers/shop.tier1%2Ftier1-shop/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "tier1-shop": {
      "type": "http",
      "url": "https://mcp-v2.tier1.shop/mcp",
      "headers": {
        "Authorization": "Bearer ${TIER1_SHOP_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${TIER1_SHOP_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-1d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 19 of 19 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,071 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 67 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 19, about 3,071 tokens to load them all
- tool set hash: 64d800225794de37bc24a0eede274a7d
- tools last changed: 2026-11-13T16:10:55.085Z
- badge: [![protogrid quality](https://protogrid.dev/badge/shop.tier1/tier1-shop.svg)](https://protogrid.dev/servers/shop.tier1/tier1-shop)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-13 `update_link_draft` changed (description) **meaning changed**
  - before: Меняет URL, анкор, окружающий текст или дату у принадлежащей клиенту ссылки, пока она редактируема. Не отправляет задачу в работу.
  - after: Бесплатно меняет URL, анкор, окружающий текст или дату у принадлежащего клиенту редактируемого черновика. Не отправляет в работу. Для платной замены уже размещённой ссылки используйте get_replacement_offer → save_link_replacement → submit_link_replacement; не пытайтесь обойти оплату через редактирование черновика.
- 2026-11-13 `submit_link_replacement` added
  - Отправляет ТОЛЬКО одну выбранную, ранее сохранённую замену URL/анкора, не затрагивая остальные. Требуется явное подтверждение клиента. expected_url/expected_anchor — новые данные после save_link_replacement. Не используйте submit_order или submit_link для платной замены. Проверьте submission/errors и фактический status: успешный HTTP сам по себе не означает принятия задачи. Новый ключ для новой операции; при таймауте повторяйте идентичный запрос с тем же ключом.
- 2026-11-13 `save_link_replacement` added
  - После get_replacement_offer и явного подтверждения клиента сохраняет новый URL/анкор, резервируя одну оплаченную замену. expected_url/expected_anchor — ТОЧНЫЕ current_url/current_anchor из свежего offer; url/anchor — новые данные. Денежный кошелёк не списывается. Задача ещё НЕ отправлена: после сохранения используйте submit_link_replacement. Повтор после таймаута — только с тем же idempotency_key и теми же данными.
- 2026-11-13 `get_replacement_offer` added
  - Первый шаг заказа платной замены URL/анкора уже размещённой ссылки. Возвращает доступность, текущие URL/анкор, остаток замен и актуальные товары для покупки недостающих замен. Ничего не списывает и не отправляет. Это НЕ замена донора и НЕ бесплатное редактирование черновика. При нехватке замен используйте prepare_checkout с product_id из purchase_offers, без links и donor_tokens; затем check_checkout_status до replacement_credits_fulfilled=true. Не просите поддержку оформить услугу вместо доступных инструментов.
- 2026-11-13 `list_tariffs` changed (description) **meaning changed**
  - before: Возвращает актуальные purchasable-тарифы, цену, валюту, product_id и точное число ссылок каждого типа.
  - after: Возвращает актуальные тарифы и товары для покупки замен URL/анкора (kind=replacement), цену, валюту, product_id и точный состав услуг. Покупка замен пополняет баланс замен, а не создаёт новые ссылки.
- 2026-09-26 `check_checkout_status` added
  - Проверяет состояние созданной ранее защищённой ссылки по intent_id без повторного открытия checkout и без списания денег. Оплата и фактическое размещение ссылок — разные этапы.
- 2026-09-26 `get_orders_by_woo_id` added
  - По номеру покупки из письма возвращает все принадлежащие клиенту внутренние заказы кабинета и их ссылки. Одна покупка может создать несколько заказов кабинета.
- 2026-09-26 `get_order` changed (description, inputSchema) **meaning changed**
  - before: Возвращает один принадлежащий клиенту заказ и его ссылки.
  - after: Возвращает заказ кабинета и ссылки по cabinet_order_id из list_orders. Номер WooCommerce из письма сюда не подходит: для него используйте get_orders_by_woo_id.

Full history: https://api.protogrid.dev/v1/servers/shop.tier1%2Ftier1-shop/changes

## Remotes

- https://mcp-v2.tier1.shop/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (19)

- `begin_registration`: Создаёт запрос регистрации без создания аккаунта. Пользователь обязательно сам подтверждает email по ссылке из письма; Telegram можно привязать позже.
- `bulk_update_order_draft`: Последовательно заполняет редактируемые строки заказа URL, анкорами, окружающим текстом и расписанием. Не отправляет их в работу.
- `check_checkout_status`: Проверяет состояние созданной ранее защищённой ссылки по intent_id без повторного открытия checkout и без списания денег. Оплата и фактическое размещение ссылок — разные этапы.
- `check_registration`: Проверяет состояние ранее начатой регистрации и подсказывает следующий шаг.
- `get_account_profile`: Показывает профиль подключённого клиента и состояние подтверждения email/Telegram.
- `get_balances`: Показывает денежные ₽/$-кошельки и неиспользованные услуги RU или международного кабинета.
- `get_order`: Возвращает заказ кабинета и ссылки по cabinet_order_id из list_orders. Номер WooCommerce из письма сюда не подходит: для него используйте get_orders_by_woo_id.
- `get_orders_by_woo_id`: По номеру покупки из письма возвращает все принадлежащие клиенту внутренние заказы кабинета и их ссылки. Одна покупка может создать несколько заказов кабинета.
- `get_replacement_offer`: Первый шаг заказа платной замены URL/анкора уже размещённой ссылки. Возвращает доступность, текущие URL/анкор, остаток замен и актуальные товары для покупки недостающих замен. Ничего не списывает и не отправляет. Это НЕ замена донора и НЕ бесплатное редактирование черновика. При нехватке замен используйте prepare_checkout с product_id из purchase_offers, без links и donor_tokens; затем check_checkout_status до replacement_credits_fulfilled=true. Не просите поддержку оформить услугу вместо доступных инструментов.
- `list_igaming_donors`: Возвращает доступные международные iGaming-площадки, метрики, языки, тематики, цену и свободные слоты. Домены намеренно анонимизированы до покупки.
- `list_links`: Ищет принадлежащие клиенту ссылки по географии, статусу и типу. Ничего не изменяет.
- `list_orders`: Возвращает заказы клиента с прогрессом по ссылкам. Ничего не изменяет.
- `list_tariffs`: Возвращает актуальные тарифы и товары для покупки замен URL/анкора (kind=replacement), цену, валюту, product_id и точный состав услуг. Покупка замен пополняет баланс замен, а не создаёт новые ссылки.
- `prepare_checkout`: После явного подтверждения состава и цены создаёт защищённую одноразовую ссылку на штатный checkout Tier1.shop. Не списывает деньги, не принимает платёжные данные и не перечисляет способы оплаты: их актуальный список виден только на открытом checkout.
- `save_link_replacement`: После get_replacement_offer и явного подтверждения клиента сохраняет новый URL/анкор, резервируя одну оплаченную замену. expected_url/expected_anchor — ТОЧНЫЕ current_url/current_anchor из свежего offer; url/anchor — новые данные. Денежный кошелёк не списывается. Задача ещё НЕ отправлена: после сохранения используйте submit_link_replacement. Повтор после таймаута — только с тем же idempotency_key и теми же данными.
- `submit_link`: Отправляет одну заполненную ссылку вебмастеру. Вызывать только после явного подтверждения пользователя.
- `submit_link_replacement`: Отправляет ТОЛЬКО одну выбранную, ранее сохранённую замену URL/анкора, не затрагивая остальные. Требуется явное подтверждение клиента. expected_url/expected_anchor — новые данные после save_link_replacement. Не используйте submit_order или submit_link для платной замены. Проверьте submission/errors и фактический status: успешный HTTP сам по себе не означает принятия задачи. Новый ключ для новой операции; при таймауте повторяйте идентичный запрос с тем же ключом.
- `submit_order`: Отправляет все готовые ссылки заказа вебмастерам. Вызывать только после показа данных и явного подтверждения пользователя.
- `update_link_draft`: Бесплатно меняет URL, анкор, окружающий текст или дату у принадлежащего клиенту редактируемого черновика. Не отправляет в работу. Для платной замены уже размещённой ссылки используйте get_replacement_offer → save_link_replacement → submit_link_replacement; не пытайтесь обойти оплату через редактирование черновика.
