layervai/qurl-mcp

layervai/qurl-mcp

от layervai
MCP-сервер для qURL - защищенные ссылки с гибкими политиками. Позволяет AI-агентам (Claude, GPT) создавать, разрешать и управлять ссылками. Полезен разработчикам для безопасного обмена ресурсами.

@layervai/qurl-mcp

npm version

⚠️ Renamed from @layerv/qurl-mcp in v0.4.0. The old package is deprecated and will not receive further updates. If you're using @layerv/qurl-mcp@0.3.x, swap the scope in your MCP client config — same binary, same API key, no other changes.

MCP server for qURL™ secure link management.

Quantum URL (qURL) · The internet has a hidden layer. This is how you enter.

What it does

qURL MCP Server is a Model Context Protocol server that lets AI agents (Claude, GPT, Cursor, etc.) create, resolve, list, and manage qURL secure links natively. It connects to the qURL API over stdio transport, so any MCP-compatible client can use it without custom integration code.

Quick Start

Add the server to your MCP client configuration (Claude Desktop, Claude Code, etc.):

{
  "mcpServers": {
    "qurl": {
      "command": "npx",
      "args": ["@layervai/qurl-mcp"],
      "env": { "QURL_API_KEY": "lv_live_xxx" }
    }
  }
}

Replace lv_live_xxx with your actual API key. The key must have the appropriate scopes for the tools you intend to use (see below).

batch_create_qurlsвнешний мир

Создавайте до 100 qURL за один запрос. Альтернатива циклическому вызову `create_qurl` — экономит обмены данными и возвращает один конверт с результатами по каждому элементу. **Не транзакционно:** элементы успешны или нет независимо (см. счётчики `succeeded`/`failed` и `error` для каждого элемента). Используйте, когда нужно выпустить много qURL сразу (например, подготовить список вендоров, раздать персональные ссылки для клиентов). Для одного ресурса используйте `create_qurl`. **Форма ответа:** `{ succeeded: number, failed: number, results: BatchItemResult[], request_id?: string }`. Каждый `results[i]` содержит `index` (соответствует позиции во входных данных), `success`, а также либо `qurl_link` + `resource_id` + `qurl_site` + `expires_at` (успех), либо `error: { code, message }` (ошибка). Успешные элементы могут также содержать `branded_domain` для текста привязки на пользовательском домене. **Сигнализация частичной ошибки:** обработчик устанавливает `isError: true` в ответе инструмента, когда `failed > 0`, чтобы агенты могли ветвиться без разбора JSON. HTTP-уровень также возвращает 400, если все элементы ошибочны — это передаётся через ту же форму (читайте `data.results[*].error`). **Одноразовые ссылки:** как и `create_qurl`, каждый `qurl_link` в ответе показывается ОДИН раз. Не теряйте их.

Batch Create qURLs

Создавайте до 100 qURL за один запрос. Альтернатива циклическому вызову `create_qurl` — экономит обмены данными и возвращает один конверт с результатами по каждому элементу. **Не транзакционно:** элементы успешны или нет независимо (см. счётчики `succeeded`/`failed` и `error` для каждого элемента). Используйте, когда нужно выпустить много qURL сразу (например, подготовить список вендоров, раздать персональные ссылки для клиентов). Для одного ресурса используйте `create_qurl`. **Форма ответа:** `{ succeeded: number, failed: number, results: BatchItemResult[], request_id?: string }`. Каждый `results[i]` содержит `index` (соответствует позиции во входных данных), `success`, а также либо `qurl_link` + `resource_id` + `qurl_site` + `expires_at` (успех), либо `error: { code, message }` (ошибка). Успешные элементы могут также содержать `branded_domain` для текста привязки на пользовательском домене. **Сигнализация частичной ошибки:** обработчик устанавливает `isError: true` в ответе инструмента, когда `failed > 0`, чтобы агенты могли ветвиться без разбора JSON. HTTP-уровень также возвращает 400, если все элементы ошибочны — это передаётся через ту же форму (читайте `data.results[*].error`). **Одноразовые ссылки:** как и `create_qurl`, каждый `qurl_link` в ответе показывается ОДИН раз. Не теряйте их.

Параметры

  • itemsobject[]обязательный

    Array of qURL creation requests (1-100 items)

create_qurlвнешний мир

Создаёт qURL — ссылку с политикой и сроком действия, которая закрывает целевой URL фильтрами по IP, гео, User-Agent и AI-агентам, плюс лимиты по времени или сессиям. **Когда использовать:** выпуск новой защищённой ссылки для одноразового или временного доступа (например, отправить клиенту ссылку на скачивание на 24 часа, закрыть документ белым списком IP, выдать подрядчику одноразовый доступ). **Когда НЕ использовать:** используйте `mint_link`, если у вас уже есть ресурс (`r_…`) и нужен просто дополнительный токен доступа к нему — `create_qurl` идентифицирует ресурс по целевому URL и может вернуть существующую группировку ресурсов того же типа. Используйте `batch_create_qurls`, чтобы создать много ссылок за один вызов. Используйте `update_qurl`, чтобы перемаркировать или продлить существующий ресурс без выпуска нового. **Поведение:** не идемпотентно — два вызова создают два разных токена qURL, хотя оба могут иметь один `resource_id`, если целевой URL группируется с существующим ресурсом того же типа (этот инструмент не раскрывает заголовок `Idempotency-Key` API). Возвращаемый `qurl_link` показывается ОДИН раз в этом ответе и никогда не восстанавливается через `get_qurl` или `list_qurls`; сразу сохраните или поделитесь им. Возвращаемый ресурс находится в статусе `active` с применённой политикой и лимитами на токен. Если `expires_in` не указан, API по умолчанию ставит **24ч** — не считайте ссылку вечной. `max_sessions` действует на каждый выпущенный qURL, а не на весь ресурс; явно укажите `one_time_use: false`, если нужно, чтобы `max_sessions: 0` означал неограниченное количество посетителей. **Возвращает:** `{ qurl_id: string (q_…), resource_id: string (r_…), qurl_link: string (показывается один раз), branded_domain?: string, qurl_site: string, expires_at: string (RFC 3339), label?: string, type?: string }`. `qurl_id` — единственный отображаемый ID вида `q_…`, который агент получает в этом ответе — сохраните его, если планируете последующие вызовы `get_qurl`/`update_qurl`/`mint_link` (они принимают любой префикс). Пример: `create_qurl({ target_url: 'https://example.com/private', expires_in: '24h', one_time_use: true,…`

Create qURL

Создаёт qURL — ссылку с политикой и сроком действия, которая закрывает целевой URL фильтрами по IP, гео, User-Agent и AI-агентам, плюс лимиты по времени или сессиям. **Когда использовать:** выпуск новой защищённой ссылки для одноразового или временного доступа (например, отправить клиенту ссылку на скачивание на 24 часа, закрыть документ белым списком IP, выдать подрядчику одноразовый доступ). **Когда НЕ использовать:** используйте `mint_link`, если у вас уже есть ресурс (`r_…`) и нужен просто дополнительный токен доступа к нему — `create_qurl` идентифицирует ресурс по целевому URL и может вернуть существующую группировку ресурсов того же типа. Используйте `batch_create_qurls`, чтобы создать много ссылок за один вызов. Используйте `update_qurl`, чтобы перемаркировать или продлить существующий ресурс без выпуска нового. **Поведение:** не идемпотентно — два вызова создают два разных токена qURL, хотя оба могут иметь один `resource_id`, если целевой URL группируется с существующим ресурсом того же типа (этот инструмент не раскрывает заголовок `Idempotency-Key` API). Возвращаемый `qurl_link` показывается ОДИН раз в этом ответе и никогда не восстанавливается через `get_qurl` или `list_qurls`; сразу сохраните или поделитесь им. Возвращаемый ресурс находится в статусе `active` с применённой политикой и лимитами на токен. Если `expires_in` не указан, API по умолчанию ставит **24ч** — не считайте ссылку вечной. `max_sessions` действует на каждый выпущенный qURL, а не на весь ресурс; явно укажите `one_time_use: false`, если нужно, чтобы `max_sessions: 0` означал неограниченное количество посетителей. **Возвращает:** `{ qurl_id: string (q_…), resource_id: string (r_…), qurl_link: string (показывается один раз), branded_domain?: string, qurl_site: string, expires_at: string (RFC 3339), label?: string, type?: string }`. `qurl_id` — единственный отображаемый ID вида `q_…`, который агент получает в этом ответе — сохраните его, если планируете последующие вызовы `get_qurl`/`update_qurl`/`mint_link` (они принимают любой префикс). Пример: `create_qurl({ target_url: 'https://example.com/private', expires_in: '24h', one_time_use: true,…`

Параметры

  • typestring

    Resource type for integrations allowed to mint non-url qURLs. Defaults to url.

  • target_urlstringобязательный

    The URL to protect with qURL

  • labelstring

    Human-readable label identifying who this qURL is for (max 500 chars)

  • expires_instring

    Duration string (e.g., "1h", "24h", "7d")

  • one_time_useboolean

    Whether the link can only be used once

  • max_sessionsinteger

    Maximum concurrent sessions for this qURL token (0 = unlimited when one_time_use is explicitly false; max 1000)

  • session_durationstring

    How long access lasts after the recipient reaches the content (e.g., "1h"). This anchors the resource-level session-duration cap when a new resource is created.

  • custom_domainstring

    Custom domain to assign to the auto-created resource (max 253 chars, must be registered/active/owned).

  • access_policyobject

    Access control policy for the qURL

delete_qurlидемпотентныйвнешний мир

Навсегда отзывает qURL — ссылка и все токены доступа к ней немедленно перестают работать. **Это действие необратимо.** Используйте, когда нужно полностью закрыть доступ (скомпрометированная ссылка, ушедший пользователь, завершение сотрудничества). Используйте `update_qurl`, если нужно только сократить или продлить срок действия, изменить метки или переименовать — эти операции сохраняют существующие токены доступа. Используйте `extend_qurl`, если нужно только сдвинуть срок истечения. **Идемпотентно:** API возвращает 404 при повторном удалении, для никогда не существовавших ID и для ресурсов, принадлежащих другому ключу API (несовпадение владельца сворачивается в 404 на стороне сервера, чтобы скрыть факт существования); этот инструмент проглатывает все три случая. Ориентируйтесь на `was_already_revoked`, чтобы отличить холостой вызов от успешного отзыва при данном запросе. Если ID пришёл от пользователя и владение имеет значение, сначала вызовите `get_qurl` — 200 подтверждает владение; выброшенная 404 на этой конечной точке так же неоднозначна. Возвращает подтверждающий payload. По умолчанию ресурс исключён из `list_qurls`; передайте `status: "revoked"`, чтобы увидеть его.

Delete qURL

Навсегда отзывает qURL — ссылка и все токены доступа к ней немедленно перестают работать. **Это действие необратимо.** Используйте, когда нужно полностью закрыть доступ (скомпрометированная ссылка, ушедший пользователь, завершение сотрудничества). Используйте `update_qurl`, если нужно только сократить или продлить срок действия, изменить метки или переименовать — эти операции сохраняют существующие токены доступа. Используйте `extend_qurl`, если нужно только сдвинуть срок истечения. **Идемпотентно:** API возвращает 404 при повторном удалении, для никогда не существовавших ID и для ресурсов, принадлежащих другому ключу API (несовпадение владельца сворачивается в 404 на стороне сервера, чтобы скрыть факт существования); этот инструмент проглатывает все три случая. Ориентируйтесь на `was_already_revoked`, чтобы отличить холостой вызов от успешного отзыва при данном запросе. Если ID пришёл от пользователя и владение имеет значение, сначала вызовите `get_qurl` — 200 подтверждает владение; выброшенная 404 на этой конечной точке так же неоднозначна. Возвращает подтверждающий payload. По умолчанию ресурс исключён из `list_qurls`; передайте `status: "revoked"`, чтобы увидеть его.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix). delete_qurl does not accept q_ (qURL display) IDs.

extend_qurlвнешний мир

Продлевает срок действия активного qURL на указанный интервал. Удобная обёртка для самого частого сценария — то же самое, что `update_qurl({ resource_id, extend_by })`. Используйте, когда нужно только добавить времени. Если ещё надо поменять теги, описание или выставить абсолютное `expires_at` — используйте `update_qurl`. Чтобы полностью закрыть доступ — `delete_qurl`. Принимает как `r_`, так и `q_` идентификаторы (`q_` автоматически разрешается в родительский ресурс). **Не идемпотентна:** два вызова с одинаковым `extend_by` продлевают срок дважды. Если нужно абсолютное значение, используйте `update_qurl` с `expires_at`, чтобы повторные попытки при временных ошибках не удваивали продление. Возвращает обновлённый ресурс с новым `expires_at` (такой же формат, как в `get_qurl`).

Extend qURL Expiration

Продлевает срок действия активного qURL на указанный интервал. Удобная обёртка для самого частого сценария — то же самое, что `update_qurl({ resource_id, extend_by })`. Используйте, когда нужно только добавить времени. Если ещё надо поменять теги, описание или выставить абсолютное `expires_at` — используйте `update_qurl`. Чтобы полностью закрыть доступ — `delete_qurl`. Принимает как `r_`, так и `q_` идентификаторы (`q_` автоматически разрешается в родительский ресурс). **Не идемпотентна:** два вызова с одинаковым `extend_by` продлевают срок дважды. Если нужно абсолютное значение, используйте `update_qurl` с `expires_at`, чтобы повторные попытки при временных ошибках не удваивали продление. Возвращает обновлённый ресурс с новым `expires_at` (такой же формат, как в `get_qurl`).

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) or qURL display ID (q_ prefix) to extend. If a q_ ID is passed, the API resolves it to the parent resource automatically.

  • extend_bystringобязательный

    Duration to extend by (e.g., "24h", "7d")

get_qurlтолько чтениеидемпотентныйвнешний мир

Извлекает один ресурс qURL по ID и возвращает его текущее состояние и ограниченный предпросмотр токенов доступа. Используйте этот инструмент, когда у вас есть конкретный ID ресурса (префикс r_) или отображаемый ID qURL (префикс q_) — q_ ID автоматически разрешаются в родительский ресурс. Используйте `list_qurls` вместо этого, когда нужно найти qURL по статусу, диапазону дат или поисковому запросу. Используйте `resolve_qurl` вместо этого, когда у вас есть токен доступа конечного пользователя (префикс at_) и нужно обменять его на исходный URL. `qurls[]` — неупорядоченный предпросмотр, ограниченный API до 100 строк, и может быть опущен в списках, при сбое предпросмотра или для скрытых ресурсов, принадлежащих коннектору; используйте `qurl_count`, чтобы определить, что может существовать больше строк токенов. Одноразовый `qurl_link`, полученный при создании, никогда здесь не возвращается.

Get qURL

Извлекает один ресурс qURL по ID и возвращает его текущее состояние и ограниченный предпросмотр токенов доступа. Используйте этот инструмент, когда у вас есть конкретный ID ресурса (префикс r_) или отображаемый ID qURL (префикс q_) — q_ ID автоматически разрешаются в родительский ресурс. Используйте `list_qurls` вместо этого, когда нужно найти qURL по статусу, диапазону дат или поисковому запросу. Используйте `resolve_qurl` вместо этого, когда у вас есть токен доступа конечного пользователя (префикс at_) и нужно обменять его на исходный URL. `qurls[]` — неупорядоченный предпросмотр, ограниченный API до 100 строк, и может быть опущен в списках, при сбое предпросмотра или для скрытых ресурсов, принадлежащих коннектору; используйте `qurl_count`, чтобы определить, что может существовать больше строк токенов. Одноразовый `qurl_link`, полученный при создании, никогда здесь не возвращается.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) or qURL display ID (q_ prefix) to fetch. If a q_ ID is passed, the API resolves it to the parent resource automatically.

list_qurlsтолько чтениеидемпотентныйвнешний мир

Выводит список qURL ресурсов с пагинацией и опциональной фильтрацией по статусу, диапазону дат или тексту поиска. **Когда использовать:** поиск - нахождение qURL по статусу (например, всё ещё активные), аудит по диапазонам дат или полнотекстовый поиск по описаниям и целевым URL (через параметр `q`). Фильтры работают по логике И (например, `status: 'active'` + `expires_before: '2026-05-01T00:00:00Z'` вернёт активные qURL, срок действия которых скоро истекает). **Когда НЕ использовать:** используйте `get_qurl` вместо этого, если у вас уже есть конкретный идентификатор ресурса - он возвращает ту же структуру ресурса дешевле и включает детализацию `qurls[]` по токенам, которую `list_qurls` опускает. Используйте `resolve_qurl`, чтобы непосредственно открыть доступ к целевому URL. **Поведение:** только чтение и идемпотентность. Пустой `data[]` с `meta.has_more: false` означает, что ни один ресурс не соответствует фильтрам (не ошибка). Пагинация на основе курсора: когда `meta.has_more` равен `true`, передайте `meta.next_cursor` как `cursor` в следующем вызове, чтобы получить следующую страницу. Размер страницы по умолчанию - 20, настраивается через `limit` до 100. По умолчанию возвращаются только `active` qURL; передайте `status: 'revoked'`, чтобы увидеть только отозванные qURL, или `'active,revoked'`, чтобы увидеть оба. Сортировка по умолчанию - `created_at:desc`; можно переопределить через `sort: 'expires_at:asc'` и т.д. **Возвращает:** `{ data: QURL[], meta: { has_more: boolean, next_cursor?: string, page_size?: number, request_id?: string } }` — каждый элемент `data[]` имеет ту же стабильную структуру ресурса, что и `get_qurl`, без детализации по токенам. Пример: `list_qurls({ status: "active", sort: "expires_at:asc", limit: 10 })` возвращает 10 активных qURL с наименьшим сроком действия.

List qURLs

Выводит список qURL ресурсов с пагинацией и опциональной фильтрацией по статусу, диапазону дат или тексту поиска. **Когда использовать:** поиск - нахождение qURL по статусу (например, всё ещё активные), аудит по диапазонам дат или полнотекстовый поиск по описаниям и целевым URL (через параметр `q`). Фильтры работают по логике И (например, `status: 'active'` + `expires_before: '2026-05-01T00:00:00Z'` вернёт активные qURL, срок действия которых скоро истекает). **Когда НЕ использовать:** используйте `get_qurl` вместо этого, если у вас уже есть конкретный идентификатор ресурса - он возвращает ту же структуру ресурса дешевле и включает детализацию `qurls[]` по токенам, которую `list_qurls` опускает. Используйте `resolve_qurl`, чтобы непосредственно открыть доступ к целевому URL. **Поведение:** только чтение и идемпотентность. Пустой `data[]` с `meta.has_more: false` означает, что ни один ресурс не соответствует фильтрам (не ошибка). Пагинация на основе курсора: когда `meta.has_more` равен `true`, передайте `meta.next_cursor` как `cursor` в следующем вызове, чтобы получить следующую страницу. Размер страницы по умолчанию - 20, настраивается через `limit` до 100. По умолчанию возвращаются только `active` qURL; передайте `status: 'revoked'`, чтобы увидеть только отозванные qURL, или `'active,revoked'`, чтобы увидеть оба. Сортировка по умолчанию - `created_at:desc`; можно переопределить через `sort: 'expires_at:asc'` и т.д. **Возвращает:** `{ data: QURL[], meta: { has_more: boolean, next_cursor?: string, page_size?: number, request_id?: string } }` — каждый элемент `data[]` имеет ту же стабильную структуру ресурса, что и `get_qurl`, без детализации по токенам. Пример: `list_qurls({ status: "active", sort: "expires_at:asc", limit: 10 })` возвращает 10 активных qURL с наименьшим сроком действия.

Параметры

  • limitinteger

    Maximum number of qURLs to return (default: 20)

  • cursorstring

    Pagination cursor from a previous response

  • statusstring

    Filter by status (comma-separated, e.g. 'active,revoked'). Defaults to 'active' when omitted; pass 'revoked' or 'active,revoked' to override.

  • created_afterstring

    Filter: created after this date (RFC 3339)

  • created_beforestring

    Filter: created before this date (RFC 3339)

  • expires_beforestring

    Filter: expires before this date (RFC 3339)

  • expires_afterstring

    Filter: expires after this date (RFC 3339)

  • sortstring

    Sort field and direction as 'field:direction'. Valid fields: created_at, expires_at. Valid directions: asc, desc (default desc). Example: 'created_at:desc'.

  • qstring

    Search query (searches description and target_url)

list_qurl_sessionsтолько чтениеидемпотентныйвнешний мир

Перечисляет активные сеансы доступа для ресурса qURL. Используйте это, чтобы проверить, кто сейчас имеет активный доступ, перед ротацией, отзывом или завершением сеансов. Используйте `terminate_qurl_sessions`, когда активные сеансы нужно завершить, и используйте `get_qurl`, когда нужны метаданные токена/ресурса, а не состояние активного сеанса. **Поведение:** только чтение и идемпотентно. Пустой `data[]` означает, что для ресурса нет активных сеансов.

List qURL Sessions

Перечисляет активные сеансы доступа для ресурса qURL. Используйте это, чтобы проверить, кто сейчас имеет активный доступ, перед ротацией, отзывом или завершением сеансов. Используйте `terminate_qurl_sessions`, когда активные сеансы нужно завершить, и используйте `get_qurl`, когда нужны метаданные токена/ресурса, а не состояние активного сеанса. **Поведение:** только чтение и идемпотентно. Пустой `data[]` означает, что для ресурса нет активных сеансов.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) to list active sessions for.

mint_linkвнешний мир

Создаёт свежую ссылку доступа для существующего ресурса qURL — та же одноразовая семантика отображения, что и в `create_qurl.qurl_link`. Используйте этот инструмент, чтобы выдать дополнительные ссылки доступа к ресурсу без создания нового qURL (например, для второго получателя или замены после утери оригинальной). Используйте `create_qurl`, когда нужен совершенно новый ресурс со своим `target_url` и политикой. Используйте `update_qurl`, когда нужно только изменить срок действия, теги или описание существующего ресурса. Принимает идентификаторы как с префиксом `r_`, так и с `q_`. **Ограничения:** `expires_in` и `expires_at` взаимоисключают друг друга (обработчик возвращает блок с `isError: true` до любого вызова API, если заданы оба). Если не указан ни один из параметров срока действия, API по умолчанию устанавливает 24 часа с текущего момента. **Результат:** новая `qurl_link` показывается ОДИН раз — ни один последующий вызов её не вернёт. Сохраните `qurl_id`, если нужно сопоставлять будущие события доступа или обновлять этот конкретный токен.

Mint Access Link

Создаёт свежую ссылку доступа для существующего ресурса qURL — та же одноразовая семантика отображения, что и в `create_qurl.qurl_link`. Используйте этот инструмент, чтобы выдать дополнительные ссылки доступа к ресурсу без создания нового qURL (например, для второго получателя или замены после утери оригинальной). Используйте `create_qurl`, когда нужен совершенно новый ресурс со своим `target_url` и политикой. Используйте `update_qurl`, когда нужно только изменить срок действия, теги или описание существующего ресурса. Принимает идентификаторы как с префиксом `r_`, так и с `q_`. **Ограничения:** `expires_in` и `expires_at` взаимоисключают друг друга (обработчик возвращает блок с `isError: true` до любого вызова API, если заданы оба). Если не указан ни один из параметров срока действия, API по умолчанию устанавливает 24 часа с текущего момента. **Результат:** новая `qurl_link` показывается ОДИН раз — ни один последующий вызов её не вернёт. Сохраните `qurl_id`, если нужно сопоставлять будущие события доступа или обновлять этот конкретный токен.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) or qURL display ID (q_ prefix) to mint a new access link for. If a q_ ID is passed, the API resolves it to the parent resource automatically.

  • labelstring

    Human-readable label identifying who this link is for (max 500 chars)

  • expires_instring

    Relative duration until expiration (e.g., "5m", "24h", "7d"). Mutually exclusive with expires_at

  • expires_atstring

    Absolute expiration timestamp (RFC 3339). Mutually exclusive with expires_in

  • one_time_useboolean

    Whether this link can only be used once

  • max_sessionsinteger

    Maximum concurrent sessions for this qURL token (0 = unlimited, max 1000)

  • session_durationstring

    How long access lasts after clicking (e.g., "1h"). Rejected if it exceeds the parent resource's session-duration cap.

  • access_policyobject

    Access control policy for this link

resolve_qurlвнешний мир

Погасите токен доступа qURL (префикс `at_`, который вы извлекли из `qurl_link`), чтобы раскрыть исходный URL и получить привязанный ко времени и IP-адресу сетевой доступ. Используйте это, когда агенту передали токен доступа и ему нужно получить защищённый ресурс - после успешного разрешения запросы с `access_grant.src_ip` разрешены к `target_url` в течение `access_grant.expires_in` секунд. Вместо этого используйте `get_qurl`, если у вас есть идентификатор ресурса (`r_`) или qURL display ID (`q_`) и нужны детали со стороны администратора, а не погашение конечным пользователем. **Побочные эффекты:** расходует одно использование для токенов с одноразовым использованием (`one_time_use`), уменьшает `max_sessions` и может срабатывать на политики доступа (списки блокировки по IP/гео/UA/AI-агентам). **`idempotentHint: false`** потому что одноразовые токены расходуются при каждом вызове; для не одноразовых токенов в пределах активного окна доступа повторные вызовы фактически бездействуют, но консервативная аннотация отражает наихудшее поведение.

Resolve qURL Access Token

Погасите токен доступа qURL (префикс `at_`, который вы извлекли из `qurl_link`), чтобы раскрыть исходный URL и получить привязанный ко времени и IP-адресу сетевой доступ. Используйте это, когда агенту передали токен доступа и ему нужно получить защищённый ресурс - после успешного разрешения запросы с `access_grant.src_ip` разрешены к `target_url` в течение `access_grant.expires_in` секунд. Вместо этого используйте `get_qurl`, если у вас есть идентификатор ресурса (`r_`) или qURL display ID (`q_`) и нужны детали со стороны администратора, а не погашение конечным пользователем. **Побочные эффекты:** расходует одно использование для токенов с одноразовым использованием (`one_time_use`), уменьшает `max_sessions` и может срабатывать на политики доступа (списки блокировки по IP/гео/UA/AI-агентам). **`idempotentHint: false`** потому что одноразовые токены расходуются при каждом вызове; для не одноразовых токенов в пределах активного окна доступа повторные вызовы фактически бездействуют, но консервативная аннотация отражает наихудшее поведение.

Параметры

  • access_tokenstringобязательный

    The access token from a qURL link (e.g., at_k8xqp9h2sj9lx7r4a)

revoke_qurl_tokenвнешний мир

Отзывает один токен qURL в рамках ресурса, не отзывая весь ресурс. Используйте это, когда один получатель/ссылка должен перестать работать, но соседние qURL на том же `resource_id` должны оставаться активными. Используйте `delete_qurl`, если нужно отозвать ресурс и все его токены. **Ограничения:** требуется родительский `resource_id` (`r_…`) и отображаемый ID токена (`q_…`). Повторный отзыв неактивного токена возвращает ошибку API, а не считается идемпотентным.

Revoke qURL Token

Отзывает один токен qURL в рамках ресурса, не отзывая весь ресурс. Используйте это, когда один получатель/ссылка должен перестать работать, но соседние qURL на том же `resource_id` должны оставаться активными. Используйте `delete_qurl`, если нужно отозвать ресурс и все его токены. **Ограничения:** требуется родительский `resource_id` (`r_…`) и отображаемый ID токена (`q_…`). Повторный отзыв неактивного токена возвращает ошибку API, а не считается идемпотентным.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) to revoke a specific qURL token from.

  • qurl_idstringобязательный

    The qURL display ID (q_ prefix) to revoke.

terminate_qurl_sessionsвнешний мир

Завершает активные сеансы доступа для ресурса qURL. Используйте это после сокращения доступа, смены ссылки или реакции на предполагаемую утечку, когда уже открытые сеансы должны быть немедленно завершены. Передайте `session_id`, чтобы завершить один активный сеанс; опустите его, чтобы завершить все активные сеансы для ресурса. Сначала используйте `list_qurl_sessions`, если нужно проверить текущие сеансы перед действием. **Побочные эффекты:** существующие сеансы доступа закрываются; сами токены qURL не отзываются.

Terminate qURL Sessions

Завершает активные сеансы доступа для ресурса qURL. Используйте это после сокращения доступа, смены ссылки или реакции на предполагаемую утечку, когда уже открытые сеансы должны быть немедленно завершены. Передайте `session_id`, чтобы завершить один активный сеанс; опустите его, чтобы завершить все активные сеансы для ресурса. Сначала используйте `list_qurl_sessions`, если нужно проверить текущие сеансы перед действием. **Побочные эффекты:** существующие сеансы доступа закрываются; сами токены qURL не отзываются.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) to terminate sessions for.

  • session_idstring

    Specific session ID to terminate. Omit to terminate all active sessions for the resource.

update_qurlвнешний мир

Обновляет срок действия, теги, описание, пользовательский домен или поведение host-header прокси для qURL. Более полная альтернатива `extend_qurl` — используйте `update_qurl`, когда нужно что-то большее, чем просто сдвиг относительного времени. Принимает как `r_`, так и `q_` идентификаторы для обновления срока действия, тегов и описания (q_ преобразуется автоматически); обновление пользовательского домена и preserve_host требует ID ресурса `r_`, потому что API qURL теперь обслуживает их через `PATCH /v1/resources/{id}`. **Ограничения:** `extend_by` и `expires_at` взаимно исключают друг друга; `custom_domain`/`preserve_host` нельзя комбинировать с изменением срока действия в одном вызове; должен быть задан хотя бы один поле для обновления (`extend_by`, `expires_at`, `tags`, `description`, `custom_domain`, `preserve_host`). **Очистка полей:** передайте `description: ""`, `tags: []` или `custom_domain: ""`, чтобы явно очистить эти поля. Используйте `extend_qurl`, если единственное изменение — это сдвиг относительного времени. Используйте `delete_qurl`, если нужно полностью отозвать URL. **Ошибки:** если входные данные не проходят проверку схемы (одновременно указаны extend_by и expires_at, или не задано ни одного поля), обработчик возвращает блок содержимого с `isError: true` до любого вызова API. Остальные ошибки API выбрасываются с `code`/`statusCode` от API. Возвращает обновлённый ресурс (такой же структуры, как `get_qurl`).

Update qURL

Обновляет срок действия, теги, описание, пользовательский домен или поведение host-header прокси для qURL. Более полная альтернатива `extend_qurl` — используйте `update_qurl`, когда нужно что-то большее, чем просто сдвиг относительного времени. Принимает как `r_`, так и `q_` идентификаторы для обновления срока действия, тегов и описания (q_ преобразуется автоматически); обновление пользовательского домена и preserve_host требует ID ресурса `r_`, потому что API qURL теперь обслуживает их через `PATCH /v1/resources/{id}`. **Ограничения:** `extend_by` и `expires_at` взаимно исключают друг друга; `custom_domain`/`preserve_host` нельзя комбинировать с изменением срока действия в одном вызове; должен быть задан хотя бы один поле для обновления (`extend_by`, `expires_at`, `tags`, `description`, `custom_domain`, `preserve_host`). **Очистка полей:** передайте `description: ""`, `tags: []` или `custom_domain: ""`, чтобы явно очистить эти поля. Используйте `extend_qurl`, если единственное изменение — это сдвиг относительного времени. Используйте `delete_qurl`, если нужно полностью отозвать URL. **Ошибки:** если входные данные не проходят проверку схемы (одновременно указаны extend_by и expires_at, или не задано ни одного поля), обработчик возвращает блок содержимого с `isError: true` до любого вызова API. Остальные ошибки API выбрасываются с `code`/`statusCode` от API. Возвращает обновлённый ресурс (такой же структуры, как `get_qurl`).

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) or qURL display ID (q_ prefix) to update. If a q_ ID is passed, the API resolves it to the parent resource automatically.

  • extend_bystring

    Duration to extend by (e.g., "24h", "7d"). Mutually exclusive with expires_at.

  • expires_atstring

    Absolute expiration timestamp (RFC 3339). Mutually exclusive with extend_by.

  • tagsstring[]

    Replace all tags on this resource (max 10 tags, each 1-50 chars)

  • descriptionstring

    Replace the resource description (max 500 chars)

  • custom_domainstring

    Replace the custom domain bound to this resource (max 253 chars, must be registered/active/owned). Pass "" to clear.

  • preserve_hostboolean

    Whether to preserve the original Host header when proxying via the custom domain. Only meaningful when custom_domain is set; default false on the API side.

update_qurl_tokenвнешний мир

Обновляет один токен qURL в ресурсе: срок действия, метку, политику доступа, максимум сессий или продолжительность сессии. Используйте это, когда нужно изменить конкретный токен `q_…`, не затрагивая соседние токены или метаданные на уровне ресурса. Для изменений на уровне ресурса (описание, теги, пользовательский домен) используйте `update_qurl`, а для полной остановки работы токена — `revoke_qurl_token`. **Ограничения:** `extend_by` и `expires_at` взаимоисключающие; должен быть задан хотя бы один поле для обновления токена. Возвращает обновлённую сводку токена.

Update qURL Token

Обновляет один токен qURL в ресурсе: срок действия, метку, политику доступа, максимум сессий или продолжительность сессии. Используйте это, когда нужно изменить конкретный токен `q_…`, не затрагивая соседние токены или метаданные на уровне ресурса. Для изменений на уровне ресурса (описание, теги, пользовательский домен) используйте `update_qurl`, а для полной остановки работы токена — `revoke_qurl_token`. **Ограничения:** `extend_by` и `expires_at` взаимоисключающие; должен быть задан хотя бы один поле для обновления токена. Возвращает обновлённую сводку токена.

Параметры

  • resource_idstringобязательный

    The resource ID (r_ prefix) to update a specific qURL token under.

  • qurl_idstringобязательный

    The qURL display ID (q_ prefix) to update.

  • extend_bystring

    Duration to extend this token by (e.g., "24h", "7d"). Mutually exclusive with expires_at.

  • expires_atstring

    Absolute token expiration timestamp (RFC 3339). Mutually exclusive with extend_by.

  • labelstring

    Human-readable label for this token

  • access_policyobject

    Replace the access policy for this token

  • max_sessionsinteger

    Maximum concurrent sessions for this token (0 = unlimited, max 1000)

  • session_durationstring

    How long access lasts after clicking (e.g., "1h"). Empty string applies the parent resource cap when one is set.

Другие проверенные MCP-сервера

getAlby/mcp

getAlby/mcp

официальный

MCP сервер Alby подключает Bitcoin Lightning кошелек к LLM-агентам через NWC. MCP инструмент умеет отправлять платежи, оплачивать L402 и работать с LNURL. Полезен разработчикам, добавляющим крипто-функции в AI-приложения.

TypeScript67
vercel/next-devtools-mcp

vercel/next-devtools-mcp

официальный

MCP сервер для разработки Next.js: предоставляет AI-ассистентам доступ к runtime диагностике живого сервера (ошибки, маршруты, логи), автоматизации (апгрейд до 16, Cache Components) и документации....

TypeScript789
wso2/fhir-mcp-server

wso2/fhir-mcp-server

официальный

MCP сервер для FHIR API. Интегрирует AI-инструменты с медицинскими данными: поиск, чтение и запись ресурсов. Поддерживает SMART-on-FHIR аутентификацию и FHIRPath-фильтрацию. Для разработчиков и инт...

Python129
posthog/mcp

posthog/mcp

официальный

MCP сервер для интеграции с PostHog — платформой продуктовой аналитики. Позволяет запрашивать данные о событиях, сессиях и пользователях через ИИ-ассистентов (Claude, Cursor, VS Code). Полезен продакт-менеджерам и разработчикам для быстрого анализа.

TypeScript151
Rootly-AI-Labs/Rootly-MCP-server

Rootly-AI-Labs/Rootly-MCP-server

официальный

MCP сервер для управления инцидентами, дежурствами и оповещениями через Rootly API. Полезен SRE, инженерам и руководителям для автоматического реагирования, анализа и сокращения времени восстановления. Поддерживает Cursor, Claude, Windsurf и другие MCP клиенты.

Python44
Playwright MCP

Playwright MCP

официальный

MCP сервер для браузерной автоматизации на основе Playwright. Использует structured accessibility snapshots вместо скриншотов, что делает его быстрым и LLM-friendly. Подходит для агентов, тестирования и автономных сценариев без vision-моделей.

TypeScript35255
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин