# REST: discovery

Source: <https://telegafirst.com/docs/api-discovery>
Locale: ru
releaseGitSha: c9a428d902de0b479a981e43774f38b9ec077ed7
sourceContentDigest: 85600efccc0eab69862a6d780f148673513a341ceb6b2a6c598e470cb2a98c12
Version: 1

# REST: discovery

Операции этой группы относятся к текущему Hub REST-контракту. В каждой записи приведены полные request/response, ошибки, auth, scopes, headers, pagination и idempotency из принятого producer. Для requiredScopes действует ALL; между auth alternatives действует OR, внутри одной альтернативы — ALL. Пустой список scopes не отменяет указанную аутентификацию. HTTP 304 остаётся отдельным ответом без тела. Не переносите чужие лимиты или заголовки: ниже перечислены только объявленные значения данной операции. Адреса объектов и курсоры описаны в [идентификаторах](https://telegafirst.com/docs/identifiers-and-pagination), авторизация — в [руководстве](https://telegafirst.com/docs/authorization), диагностика — в [ошибках](https://telegafirst.com/docs/errors).

## getMcpServerJson

`GET /.well-known/mcp` — getMcpServerJson

Контракт содержит полные разрешённые схемы, включая bodyless/binary ответы и все объявленные ошибки. Evidence указывает принятую независимую фикстуру фактической границы; это не обещание запуска в вашей сессии.

```json
{
  "contract": {
    "auth": {
      "alternatives": [],
      "schemes": {}
    },
    "errors": {
      "500": {
        "content": {
          "application/problem+json": {
            "schema": {
              "properties": {
                "blockingSlug": {
                  "maxLength": 32,
                  "minLength": 3,
                  "pattern": "^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "code": {
                  "enum": [
                    "INVALID_REQUEST",
                    "MALFORMED_JSON",
                    "IDEMPOTENCY_KEY_REQUIRED",
                    "MISSING_REQUIRED_FIELD",
                    "INVALID_API_VERSION",
                    "INVALID_PRICING_QUOTE",
                    "MALFORMED_IF_MATCH",
                    "UNAUTHORIZED",
                    "INVALID_API_KEY",
                    "INVALID_JWT",
                    "EXPIRED_JWT",
                    "INVALID_REFRESH_TOKEN",
                    "MFA_REQUIRED",
                    "FORBIDDEN",
                    "INSUFFICIENT_SCOPE",
                    "ACCOUNT_DISABLED",
                    "WEBHOOK_DISABLED",
                    "SUBSCRIPTION_INACTIVE",
                    "PLATFORM_OFFER_ACCEPTANCE_REQUIRED",
                    "NO_ACTIVE_BOT",
                    "PUBLISHABLE_KEY_NOT_ALLOWED",
                    "NOT_FOUND",
                    "RESOURCE_NOT_FOUND",
                    "SESSION_NOT_FOUND",
                    "ORDER_NOT_FOUND",
                    "USER_NOT_FOUND",
                    "PRODUCT_NOT_FOUND",
                    "PAYMENT_NOT_FOUND",
                    "EXPORT_NOT_FOUND",
                    "CART_NOT_FOUND",
                    "SLUG_TAKEN",
                    "SLUG_IMMUTABLE",
                    "UNPAID_BOT_LIMIT",
                    "ONBOARDING_BUSY",
                    "ONBOARDING_STEP_OUT_OF_ORDER",
                    "BOT_ALREADY_CONNECTED",
                    "BOT_RESERVED",
                    "SG_DISCOVERY_STALE",
                    "ACTIVE_SUBSCRIPTION_EXISTS",
                    "CONFLICT",
                    "IDEMPOTENCY_CONFLICT",
                    "IDEMPOTENCY_KEY_IN_FLIGHT",
                    "IDEMPOTENCY_KEY_FAILED",
                    "EXTERNAL_ORDER_REF_CONFLICT",
                    "ORDER_NOT_LINKABLE",
                    "SESSION_ALREADY_APPROVED",
                    "WEBHOOK_URL_CONFLICT",
                    "PRICE_CHANGED",
                    "ORDER_ITEM_VERSION_CONFLICT",
                    "ORDER_ALREADY_PAID",
                    "CART_INACTIVE",
                    "DRAFT_NOT_PENDING",
                    "TENANT_ARCHIVED",
                    "VARIANT_KEY_IMMUTABLE",
                    "VARIANT_KEY_REUSED",
                    "ORDER_NOT_REFRESHABLE",
                    "ORDER_ALREADY_LINKED",
                    "DUPLICATE_ORDER",
                    "SUBSCRIPTION_UPGRADE_REFUSED",
                    "ACQUISITION_REJECTED",
                    "PLATFORM_TARGET_UNRESOLVED",
                    "ORDER_LOCK_CONTENDED",
                    "SESSION_EXPIRED",
                    "APPROVAL_CODE_EXPIRED",
                    "PRECONDITION_FAILED",
                    "BOT_CONNECTION_NOT_READY",
                    "ETAG_STALE",
                    "ACTIVE_BOT_CHANGED",
                    "PREPARED_SCENARIO_TENANT_CHANGED",
                    "ITEM_COUNT_EXCEEDED",
                    "PAYLOAD_TOO_LARGE",
                    "SLUG_INVALID",
                    "INVALID_BOT_TOKEN",
                    "SG_NOT_FORUM",
                    "SA_NOT_MEMBER",
                    "SA_NOT_ADMIN",
                    "SA_RIGHTS_MISSING",
                    "SA_ANONYMOUS",
                    "PAYMENT_TAX_PROFILE_MISSING",
                    "VALIDATION_ERROR",
                    "IDEMPOTENCY_KEY_MISMATCH",
                    "ZONE_REQUIRED",
                    "SITE_PATH_OUTSIDE_PUBLISHABLE_PREFIX",
                    "INVALID_PROVIDER_CURRENCY",
                    "PROVIDER_NOT_CONFIGURED",
                    "CATALOG_FIELD_READ_ONLY",
                    "CATALOG_BOOKING_CONFIG_INVALID",
                    "CATALOG_BOOKING_RESOURCE_NOT_FOUND",
                    "TEXT_TOO_LONG",
                    "INVALID_BUTTON_CONFIG",
                    "INVALID_MEDIA",
                    "INVALID_SCOPE",
                    "INVALID_CURSOR",
                    "INVALID_FILTER",
                    "LIMIT_EXCEEDED",
                    "EXPORT_MAX_ROWS_EXCEEDED",
                    "TOKEN_PASSTHROUGH_FORBIDDEN",
                    "AUDIENCE_MISMATCH",
                    "INVALID_OAUTH_STATE",
                    "INVALID_OAUTH_REDIRECT_URI",
                    "ITEMS_REQUIRED",
                    "VARIANTS_NOT_AVAILABLE",
                    "INVALID_QUANTITY",
                    "MIXED_CURRENCY",
                    "NO_COMMON_PAYMENT_PROVIDER",
                    "SINGLETON_ORDER_REQUIRED",
                    "MIXED_PARTNER_RATES",
                    "PRODUCT_NOT_CART_ELIGIBLE",
                    "OPTION_UNAVAILABLE",
                    "QUANTITY_LIMIT",
                    "MERGE_REJECTED",
                    "BUYER_CONTACT_REQUIRED",
                    "DELIVERY_ADDRESS_REQUIRED",
                    "POSTAL_CODE_REQUIRED",
                    "PAYMENT_PROVIDERS_UNAVAILABLE",
                    "PAYMENT_LINKS_UNAVAILABLE",
                    "FISCAL_PROVIDER_BASIS_UNSUPPORTED",
                    "PRECONDITION_REQUIRED",
                    "PRICING_QUOTE_REQUIRED",
                    "ETAG_REQUIRED",
                    "CATALOG_UNAVAILABLE",
                    "CATALOG_LOCK_ORDER",
                    "UNSUPPORTED_QUOTE_CURRENCY",
                    "RATE_LIMIT_EXCEEDED",
                    "EXPORT_LIMIT_EXCEEDED",
                    "REFRESH_LIMIT_EXCEEDED",
                    "RATE_LIMIT_UNAVAILABLE",
                    "INTERNAL_ERROR",
                    "SERVICE_UNAVAILABLE",
                    "PRICING_UNAVAILABLE"
                  ],
                  "type": "string"
                },
                "current_etag": {
                  "anyOf": [
                    {
                      "pattern": "^W\\/\"[a-f0-9]{16}\"$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\"cart-[1-9][0-9]*\"$",
                      "type": "string"
                    }
                  ]
                },
                "detail": {
                  "type": "string"
                },
                "details": {},
                "hint": {
                  "additionalProperties": false,
                  "properties": {
                    "example": {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    "reason": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "recovery": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "see": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "reason",
                    "recovery"
                  ],
                  "type": "object"
                },
                "instance": {
                  "type": "string"
                },
                "stage": {
                  "enum": [
                    "address",
                    "site",
                    "bot",
                    "supergroups_create",
                    "supergroups_admin",
                    "supergroups_confirm",
                    "infrastructure",
                    "infrastructure_ready",
                    "quest_1",
                    "quest_2",
                    "warmup",
                    "quest_product",
                    "quest_purchase",
                    "payments",
                    "first_payment",
                    "ai_preferences",
                    "finish",
                    "completed",
                    "tariff",
                    "paid",
                    "free"
                  ],
                  "type": "string"
                },
                "status": {
                  "type": "integer"
                },
                "title": {
                  "type": "string"
                },
                "traceId": {
                  "type": "string"
                },
                "type": {
                  "format": "uri",
                  "type": "string"
                },
                "validation_errors": {
                  "items": {
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "field": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "field",
                      "message",
                      "code"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "type",
                "title",
                "status",
                "code",
                "traceId"
              ],
              "type": "object"
            }
          }
        },
        "description": "Unexpected failure mapped by the canonical Problem Details filter"
      }
    },
    "headers": {
      "request": [],
      "response": {
        "200": {
          "Cache-Control": {
            "required": true,
            "schema": {
              "const": "public, max-age=300",
              "type": "string"
            }
          }
        },
        "500": {}
      }
    },
    "idempotency": {
      "boundary": null,
      "contract": "none",
      "parameters": []
    },
    "operationId": "getMcpServerJson",
    "pagination": {
      "contract": null,
      "parameters": []
    },
    "request": {
      "body": null,
      "parameters": []
    },
    "response": {
      "200": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "remotes": {
                  "items": {
                    "properties": {
                      "auth": {
                        "type": "string"
                      },
                      "transport": {
                        "enum": [
                          "streamable-http"
                        ],
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "required": [
                      "transport",
                      "url",
                      "auth"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "remotes"
              ],
              "type": "object"
            }
          }
        },
        "description": "Get MCP discovery metadata",
        "headers": {
          "Cache-Control": {
            "required": true,
            "schema": {
              "const": "public, max-age=300",
              "type": "string"
            }
          }
        }
      }
    },
    "scopes": []
  },
  "evidence": {
    "acceptanceTask": "T192",
    "fixture": "apps/external-hub/src/__tests__/fixtures/public-rest/values-dx-discovery.json",
    "implementationSha": "9456e9c121892bc2cb6664519945629c4ae8a4d4",
    "registrar": "registerWellKnownPaths",
    "result": "accepted",
    "selection": "operations[operationId=getMcpServerJson]",
    "source": "isolated accepted leaf + canonical common; primary actual-boundary fixture is independent"
  },
  "operation": {
    "authAlternatives": [],
    "method": "get",
    "operationId": "getMcpServerJson",
    "path": "/.well-known/mcp",
    "requestSchemaRef": null,
    "requiredScopes": [],
    "responseSchemaRefs": {
      "200": "#/components/schemas/McpServerJson",
      "500": "#/components/schemas/ProblemDetails"
    },
    "successStatuses": [
      200
    ],
    "title": "getMcpServerJson"
  }
}
```

## getMcpServerCard

`GET /.well-known/mcp/server-card.json` — getMcpServerCard

Контракт содержит полные разрешённые схемы, включая bodyless/binary ответы и все объявленные ошибки. Evidence указывает принятую независимую фикстуру фактической границы; это не обещание запуска в вашей сессии.

```json
{
  "contract": {
    "auth": {
      "alternatives": [],
      "schemes": {}
    },
    "errors": {
      "500": {
        "content": {
          "application/problem+json": {
            "schema": {
              "properties": {
                "blockingSlug": {
                  "maxLength": 32,
                  "minLength": 3,
                  "pattern": "^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "code": {
                  "enum": [
                    "INVALID_REQUEST",
                    "MALFORMED_JSON",
                    "IDEMPOTENCY_KEY_REQUIRED",
                    "MISSING_REQUIRED_FIELD",
                    "INVALID_API_VERSION",
                    "INVALID_PRICING_QUOTE",
                    "MALFORMED_IF_MATCH",
                    "UNAUTHORIZED",
                    "INVALID_API_KEY",
                    "INVALID_JWT",
                    "EXPIRED_JWT",
                    "INVALID_REFRESH_TOKEN",
                    "MFA_REQUIRED",
                    "FORBIDDEN",
                    "INSUFFICIENT_SCOPE",
                    "ACCOUNT_DISABLED",
                    "WEBHOOK_DISABLED",
                    "SUBSCRIPTION_INACTIVE",
                    "PLATFORM_OFFER_ACCEPTANCE_REQUIRED",
                    "NO_ACTIVE_BOT",
                    "PUBLISHABLE_KEY_NOT_ALLOWED",
                    "NOT_FOUND",
                    "RESOURCE_NOT_FOUND",
                    "SESSION_NOT_FOUND",
                    "ORDER_NOT_FOUND",
                    "USER_NOT_FOUND",
                    "PRODUCT_NOT_FOUND",
                    "PAYMENT_NOT_FOUND",
                    "EXPORT_NOT_FOUND",
                    "CART_NOT_FOUND",
                    "SLUG_TAKEN",
                    "SLUG_IMMUTABLE",
                    "UNPAID_BOT_LIMIT",
                    "ONBOARDING_BUSY",
                    "ONBOARDING_STEP_OUT_OF_ORDER",
                    "BOT_ALREADY_CONNECTED",
                    "BOT_RESERVED",
                    "SG_DISCOVERY_STALE",
                    "ACTIVE_SUBSCRIPTION_EXISTS",
                    "CONFLICT",
                    "IDEMPOTENCY_CONFLICT",
                    "IDEMPOTENCY_KEY_IN_FLIGHT",
                    "IDEMPOTENCY_KEY_FAILED",
                    "EXTERNAL_ORDER_REF_CONFLICT",
                    "ORDER_NOT_LINKABLE",
                    "SESSION_ALREADY_APPROVED",
                    "WEBHOOK_URL_CONFLICT",
                    "PRICE_CHANGED",
                    "ORDER_ITEM_VERSION_CONFLICT",
                    "ORDER_ALREADY_PAID",
                    "CART_INACTIVE",
                    "DRAFT_NOT_PENDING",
                    "TENANT_ARCHIVED",
                    "VARIANT_KEY_IMMUTABLE",
                    "VARIANT_KEY_REUSED",
                    "ORDER_NOT_REFRESHABLE",
                    "ORDER_ALREADY_LINKED",
                    "DUPLICATE_ORDER",
                    "SUBSCRIPTION_UPGRADE_REFUSED",
                    "ACQUISITION_REJECTED",
                    "PLATFORM_TARGET_UNRESOLVED",
                    "ORDER_LOCK_CONTENDED",
                    "SESSION_EXPIRED",
                    "APPROVAL_CODE_EXPIRED",
                    "PRECONDITION_FAILED",
                    "BOT_CONNECTION_NOT_READY",
                    "ETAG_STALE",
                    "ACTIVE_BOT_CHANGED",
                    "PREPARED_SCENARIO_TENANT_CHANGED",
                    "ITEM_COUNT_EXCEEDED",
                    "PAYLOAD_TOO_LARGE",
                    "SLUG_INVALID",
                    "INVALID_BOT_TOKEN",
                    "SG_NOT_FORUM",
                    "SA_NOT_MEMBER",
                    "SA_NOT_ADMIN",
                    "SA_RIGHTS_MISSING",
                    "SA_ANONYMOUS",
                    "PAYMENT_TAX_PROFILE_MISSING",
                    "VALIDATION_ERROR",
                    "IDEMPOTENCY_KEY_MISMATCH",
                    "ZONE_REQUIRED",
                    "SITE_PATH_OUTSIDE_PUBLISHABLE_PREFIX",
                    "INVALID_PROVIDER_CURRENCY",
                    "PROVIDER_NOT_CONFIGURED",
                    "CATALOG_FIELD_READ_ONLY",
                    "CATALOG_BOOKING_CONFIG_INVALID",
                    "CATALOG_BOOKING_RESOURCE_NOT_FOUND",
                    "TEXT_TOO_LONG",
                    "INVALID_BUTTON_CONFIG",
                    "INVALID_MEDIA",
                    "INVALID_SCOPE",
                    "INVALID_CURSOR",
                    "INVALID_FILTER",
                    "LIMIT_EXCEEDED",
                    "EXPORT_MAX_ROWS_EXCEEDED",
                    "TOKEN_PASSTHROUGH_FORBIDDEN",
                    "AUDIENCE_MISMATCH",
                    "INVALID_OAUTH_STATE",
                    "INVALID_OAUTH_REDIRECT_URI",
                    "ITEMS_REQUIRED",
                    "VARIANTS_NOT_AVAILABLE",
                    "INVALID_QUANTITY",
                    "MIXED_CURRENCY",
                    "NO_COMMON_PAYMENT_PROVIDER",
                    "SINGLETON_ORDER_REQUIRED",
                    "MIXED_PARTNER_RATES",
                    "PRODUCT_NOT_CART_ELIGIBLE",
                    "OPTION_UNAVAILABLE",
                    "QUANTITY_LIMIT",
                    "MERGE_REJECTED",
                    "BUYER_CONTACT_REQUIRED",
                    "DELIVERY_ADDRESS_REQUIRED",
                    "POSTAL_CODE_REQUIRED",
                    "PAYMENT_PROVIDERS_UNAVAILABLE",
                    "PAYMENT_LINKS_UNAVAILABLE",
                    "FISCAL_PROVIDER_BASIS_UNSUPPORTED",
                    "PRECONDITION_REQUIRED",
                    "PRICING_QUOTE_REQUIRED",
                    "ETAG_REQUIRED",
                    "CATALOG_UNAVAILABLE",
                    "CATALOG_LOCK_ORDER",
                    "UNSUPPORTED_QUOTE_CURRENCY",
                    "RATE_LIMIT_EXCEEDED",
                    "EXPORT_LIMIT_EXCEEDED",
                    "REFRESH_LIMIT_EXCEEDED",
                    "RATE_LIMIT_UNAVAILABLE",
                    "INTERNAL_ERROR",
                    "SERVICE_UNAVAILABLE",
                    "PRICING_UNAVAILABLE"
                  ],
                  "type": "string"
                },
                "current_etag": {
                  "anyOf": [
                    {
                      "pattern": "^W\\/\"[a-f0-9]{16}\"$",
                      "type": "string"
                    },
                    {
                      "pattern": "^\"cart-[1-9][0-9]*\"$",
                      "type": "string"
                    }
                  ]
                },
                "detail": {
                  "type": "string"
                },
                "details": {},
                "hint": {
                  "additionalProperties": false,
                  "properties": {
                    "example": {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    "reason": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "recovery": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "see": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "reason",
                    "recovery"
                  ],
                  "type": "object"
                },
                "instance": {
                  "type": "string"
                },
                "stage": {
                  "enum": [
                    "address",
                    "site",
                    "bot",
                    "supergroups_create",
                    "supergroups_admin",
                    "supergroups_confirm",
                    "infrastructure",
                    "infrastructure_ready",
                    "quest_1",
                    "quest_2",
                    "warmup",
                    "quest_product",
                    "quest_purchase",
                    "payments",
                    "first_payment",
                    "ai_preferences",
                    "finish",
                    "completed",
                    "tariff",
                    "paid",
                    "free"
                  ],
                  "type": "string"
                },
                "status": {
                  "type": "integer"
                },
                "title": {
                  "type": "string"
                },
                "traceId": {
                  "type": "string"
                },
                "type": {
                  "format": "uri",
                  "type": "string"
                },
                "validation_errors": {
                  "items": {
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "field": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "field",
                      "message",
                      "code"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "type",
                "title",
                "status",
                "code",
                "traceId"
              ],
              "type": "object"
            }
          }
        },
        "description": "Unexpected failure mapped by the canonical Problem Details filter"
      }
    },
    "headers": {
      "request": [],
      "response": {
        "200": {
          "Cache-Control": {
            "required": true,
            "schema": {
              "const": "public, max-age=300",
              "type": "string"
            }
          }
        },
        "500": {}
      }
    },
    "idempotency": {
      "boundary": null,
      "contract": "none",
      "parameters": []
    },
    "operationId": "getMcpServerCard",
    "pagination": {
      "contract": null,
      "parameters": []
    },
    "request": {
      "body": null,
      "parameters": []
    },
    "response": {
      "200": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "auth": {
                  "properties": {
                    "scopes": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "type": {
                      "enum": [
                        "api_key",
                        "oauth2"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "scopes"
                  ],
                  "type": "object"
                },
                "capabilities": {
                  "properties": {
                    "prompts": {
                      "type": "boolean"
                    },
                    "resources": {
                      "type": "boolean"
                    },
                    "tools": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "tools",
                    "resources",
                    "prompts"
                  ],
                  "type": "object"
                },
                "description": {
                  "type": "string"
                },
                "endpoints": {
                  "properties": {
                    "streamable_http": {
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "required": [
                    "streamable_http"
                  ],
                  "type": "object"
                },
                "name": {
                  "type": "string"
                },
                "protocol_versions": {
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "vendor": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "url": {
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "url"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "protocol_versions",
                "name",
                "description",
                "vendor",
                "capabilities",
                "endpoints",
                "auth"
              ],
              "type": "object"
            }
          }
        },
        "description": "Get MCP server-card metadata",
        "headers": {
          "Cache-Control": {
            "required": true,
            "schema": {
              "const": "public, max-age=300",
              "type": "string"
            }
          }
        }
      }
    },
    "scopes": []
  },
  "evidence": {
    "acceptanceTask": "T192",
    "fixture": "apps/external-hub/src/__tests__/fixtures/public-rest/values-dx-discovery.json",
    "implementationSha": "9456e9c121892bc2cb6664519945629c4ae8a4d4",
    "registrar": "registerWellKnownPaths",
    "result": "accepted",
    "selection": "operations[operationId=getMcpServerCard]",
    "source": "isolated accepted leaf + canonical common; primary actual-boundary fixture is independent"
  },
  "operation": {
    "authAlternatives": [],
    "method": "get",
    "operationId": "getMcpServerCard",
    "path": "/.well-known/mcp/server-card.json",
    "requestSchemaRef": null,
    "requiredScopes": [],
    "responseSchemaRefs": {
      "200": "#/components/schemas/McpServerCard",
      "500": "#/components/schemas/ProblemDetails"
    },
    "successStatuses": [
      200
    ],
    "title": "getMcpServerCard"
  }
}
```

## Протокольные исключения

Эти точные mounted routes обслуживают протокол, discovery или эксплуатацию. Они не являются дополнительными business REST-операциями; отдельный request/response-контракт здесь не придумывается.

### ALL /api/v1/mcp

`ALL /api/v1/mcp`

Категория: protocol. Владелец: apps/external-hub/src/controllers/mcp/mcp.controller.ts#handle; McpController.handle.

JSON-RPC MCP transport

### GET /

`GET /`

Категория: operational. Владелец: apps/external-hub/src/controllers/root/root.controller.ts#root; RootController.root.

HTML human MCP landing

### GET /.well-known/agent-skills/index.json

`GET /.well-known/agent-skills/index.json`

Категория: discovery. Владелец: apps/external-hub/src/controllers/well-known/well-known.controller.ts#agentSkillsIndex; WellKnownController.agentSkillsIndex.

Public discovery representation / OAuth consent document; exact non-business route

### GET /.well-known/api-catalog

`GET /.well-known/api-catalog`

Категория: discovery. Владелец: apps/external-hub/src/controllers/well-known/well-known.controller.ts#apiCatalog; WellKnownController.apiCatalog.

Public discovery representation / OAuth consent document; exact non-business route

### GET /.well-known/oauth-authorization-server

`GET /.well-known/oauth-authorization-server`

Категория: discovery. Владелец: apps/external-hub/src/controllers/well-known/well-known.controller.ts#authorizationServerMetadata; WellKnownController.authorizationServerMetadata.

Public discovery representation / OAuth consent document; exact non-business route

### GET /.well-known/oauth-protected-resource

`GET /.well-known/oauth-protected-resource`

Категория: discovery. Владелец: apps/external-hub/src/controllers/well-known/well-known.controller.ts#protectedResourceMetadata; WellKnownController.protectedResourceMetadata.

Public discovery representation / OAuth consent document; exact non-business route

### GET /.well-known/oauth-protected-resource/api/v1/mcp

`GET /.well-known/oauth-protected-resource/api/v1/mcp`

Категория: discovery. Владелец: apps/external-hub/src/controllers/well-known/well-known.controller.ts#protectedResourceMetadataForMcp; WellKnownController.protectedResourceMetadataForMcp.

Public discovery representation / OAuth consent document; exact non-business route

### GET /api/v1/external/openapi.json

`GET /api/v1/external/openapi.json`

Категория: discovery. Владелец: apps/external-hub/src/controllers/openapi/openapi.controller.ts#document; OpenApiController.document.

Public discovery representation / OAuth consent document; exact non-business route

### GET /api/v1/external/skills/{name}/instructions.md

`GET /api/v1/external/skills/{name}/instructions.md`

Категория: discovery. Владелец: apps/external-hub/src/controllers/dx/dx.controller.ts#skillInstructions; DxController.skillInstructions.

Public discovery representation / OAuth consent document; exact non-business route

### GET /api/v1/oauth/authorize

`GET /api/v1/oauth/authorize`

Категория: discovery. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#authorize; OAuthController.authorize.

Public discovery representation / OAuth consent document; exact non-business route

### GET /api/v1/oauth/authorize/status

`GET /api/v1/oauth/authorize/status`

Категория: discovery. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#authorizeStatus; OAuthController.authorizeStatus.

Public discovery representation / OAuth consent document; exact non-business route

### GET /api/v1/oauth/consent.js

`GET /api/v1/oauth/consent.js`

Категория: discovery. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#consentScript; OAuthController.consentScript.

Public discovery representation / OAuth consent document; exact non-business route

### GET /health/live

`GET /health/live`

Категория: operational. Владелец: apps/external-hub/src/controllers/health/health.controller.ts#live; HealthController.live.

Health probe / guarded metrics, outside public business REST

### GET /health/ready

`GET /health/ready`

Категория: operational. Владелец: apps/external-hub/src/controllers/health/health.controller.ts#ready; HealthController.ready.

Health probe / guarded metrics, outside public business REST

### GET /health/startup

`GET /health/startup`

Категория: operational. Владелец: apps/external-hub/src/controllers/health/health.controller.ts#startup; HealthController.startup.

Health probe / guarded metrics, outside public business REST

### GET /llms-full.txt

`GET /llms-full.txt`

Категория: discovery. Владелец: apps/external-hub/src/controllers/dx/dx.controller.ts#llmsFullText; DxController.llmsFullText.

Public discovery representation / OAuth consent document; exact non-business route

### GET /metrics

`GET /metrics`

Категория: operational. Владелец: apps/external-hub/src/controllers/metrics/metrics.controller.ts#scrape; MetricsController.scrape.

Health probe / guarded metrics, outside public business REST

### POST /api/v1/oauth/device\_authorization

`POST /api/v1/oauth/device_authorization`

Категория: protocol. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#deviceAuthorization; OAuthController.deviceAuthorization.

OAuth authorization server protocol; fixed RFC request/response contract

### POST /api/v1/oauth/register

`POST /api/v1/oauth/register`

Категория: protocol. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#register; OAuthController.register.

OAuth authorization server protocol; fixed RFC request/response contract

### POST /api/v1/oauth/token

`POST /api/v1/oauth/token`

Категория: protocol. Владелец: apps/external-hub/src/controllers/oauth/oauth.controller.ts#token; OAuthController.token.

OAuth authorization server protocol; fixed RFC request/response contract
