DeprecationsΒΆ
This page is the registry of deprecated interfaces. Each row carries the deprecation date, the earliest removal, the migration path, and the current status.
Rows sort by deprecation date, then earliest removal. Rows without dates sort last.
The lifecycle rules live in the deprecation policy.
Pending deprecationsΒΆ
| Interface | Deprecated | Earliest removal | Migration | Status |
|---|---|---|---|---|
| Legacy MCP HTTP+SSE transport | 2025-03-26 | β | Streamable HTTP for new gateway registrations. | Spec-deprecated. The gateway compatibility path remains via the control plane. No removal date assigned. The dataplane publisher serves only STREAMABLEHTTP backends. |
| Rust MCP runtime sidecar | 2026-06-11 | 2026-07-07 | Python MCP transport. Leave RUST_MCP_MODE=off and EXPERIMENTAL_RUST_MCP_RUNTIME_ENABLED=false. | Past earliest removal. Code remains: crates/mcp_runtime, RUST_MCP_MODE, EXPERIMENTAL_RUST_MCP_*, MCP_RUST_*, and the transport proxies. Runtime responses carry Deprecation and Sunset headers. |
| Rust A2A runtime sidecar | 2026-06-11 | 2026-07-07 | Python A2A invocation path. | Past earliest removal. Code remains. The Python A2A protocol adapter is unaffected. |
| ValidationMiddleware | 2026-06-11 | 2026-07-07 | Endpoint-level Pydantic models, SecurityValidator helpers, and protocol-specific validation middleware. | Past earliest removal. The middleware remains, mounted when VALIDATION_MIDDLEWARE_ENABLED=true. Instantiation emits a DeprecationWarning. |
| Legacy unversioned API shim | 2026-06-26 | 2026-09-26 | The /v1/* routes. See terminology. | legacy_api_enabled still defaults to true. Tools, resources, prompts, teams, and tokens still call legacy paths internally. |
| Makefile formatting and container aliases | 2026-10-20 | 2027-01-18 | make black CHECK=1, make isort CHECK=1, make ruff RUFF_MODE=..., make container-run .... | Pending. Covers black-check, isort-check, ruff-check, ruff-fix, ruff-format, and the 4 container-run-* aliases. Each call site states both dates. |
| Makefile alias test-mcp-protocol-e2e | 2026-10-20 | 2027-01-18 | make test-e2e. | Pending. |
| gRPC upstream services | 2026-10-20 | 2027-01-18 | None. | Experimental and disabled by default (MCPGATEWAY_GRPC_ENABLED=false). The admin routes, reflection discovery, and grpc install extra stop at removal. Runtime signals land with the code change. See gRPC services. |
| WebSocket upstreams | 2026-10-20 | 2027-01-18 | Streamable HTTP or SSE registrations. | Covers ws:// and wss:// URLs and transport=WEBSOCKET in gateway and catalog registrations. The client-facing WebSocket endpoint is unaffected. See catalog registration. |
| Local observability data store | 2026-10-20 | 2027-01-18 | OTel export: OTEL_ENABLE_OBSERVABILITY=true and OTEL_EXPORTER_OTLP_ENDPOINT. See OTel observability. | Covers the trace, span, and metric tables and the Admin UI views that read them. Dashboards lose their data source at removal. See internal observability. |
| A2A v0.3 protocol support | β | β | A2A v1.0 wire format. | Gradual deprecation planned in a future release (ADR 048). |
Flat _meta[ui/resourceUri] ingest key | β | Before MCP Apps GA | The nested _meta.ui object. | Ingest-only compatibility. The gateway rejects the flat value when both shapes are present. |
/toggle endpoints | β | β | /state. | Emit DeprecationWarning. Covers servers, tools, resources, prompts, gateways, and A2A agents. |
rbac.get_db() | β | β | get_db() from main.py, or request.state.db. | Emits DeprecationWarning. |
EmailAuthService.get_all_users() | β | β | list_users() with pagination. | Emits DeprecationWarning and caps results at 10,000 users. |
The 2026-06-11 deprecations predate the policy. They used a 26-day window.
API deprecation detailΒΆ
This table expands the registry rows into specific APIs. It names each shimmed or legacy API, its replacement, the runtime signals it emits, and the annotations still outstanding. "Window" gives the deprecation date, then the earliest removal date. Rows group by surface: legacy shim, endpoint, feature, environment, Python.
| Surface | API | Window | Replacement | Runtime signals | Annotation gap |
|---|---|---|---|---|---|
| Legacy shim | /protocol/* | 2026-06-26 β 2026-09-26 (past) | /v1/protocol/* | Sunset, Deprecation, Link, X-Deprecated-Endpoint headers | None |
| Legacy shim | /tools/*, including /tools/plugin_bindings/* | 2026-06-26 β 2026-09-26 (past) | /v1/tools/* | Deprecation headers | None |
| Legacy shim | /resources/* | 2026-06-26 β 2026-09-26 (past) | /v1/resources/* | Deprecation headers | None |
| Legacy shim | /prompts/* | 2026-06-26 β 2026-09-26 (past) | /v1/prompts/* | Deprecation headers | None |
| Legacy shim | /gateways/* | 2026-06-26 β 2026-09-26 (past) | /v1/gateways/* or the /v1/mcp-servers/* alias | Deprecation headers | None |
| Legacy shim | /roots/* | 2026-06-26 β 2026-09-26 (past) | /v1/roots/* | Deprecation headers | None |
| Legacy shim | /servers/* | 2026-06-26 β 2026-09-26 (past) | /v1/servers/* or the /v1/virtual-servers/* alias | Deprecation headers | None |
| Legacy shim | /metrics/* | 2026-06-26 β 2026-09-26 (past) | /v1/metrics/* | Deprecation headers | None |
| Legacy shim | /tags/* | 2026-06-26 β 2026-09-26 (past) | /v1/tags/* | Deprecation headers | None |
| Legacy shim | /export/*, /import/* | 2026-06-26 β 2026-09-26 (past) | /v1/export/*, /v1/import/* | Deprecation headers | None |
| Legacy shim | /search/* | 2026-06-26 β 2026-09-26 (past) | /v1/search/* | Deprecation headers | None |
| Legacy shim | /version | 2026-06-26 β 2026-09-26 (past) | /v1/version | None | _LEGACY_PREFIXES omits /version, so the middleware stamps no headers. The assembly comment in mcpgateway/api/v1/__init__.py claims otherwise. Add the prefix or correct the comment. |
| Legacy shim | /api/metrics/* (metrics maintenance) | 2026-06-26 β 2026-09-26 (past) | /v1/api/metrics/* | None | Dual-mounted but deliberately excluded from header stamping. Confirm the exception or add /api/metrics to _LEGACY_PREFIXES. Mounted when METRICS_CLEANUP_ENABLED or METRICS_ROLLUP_ENABLED. |
| Legacy shim | /a2a/* | 2026-06-26 β 2026-09-26 (past) | /v1/a2a/* | Deprecation headers | None. Mounted when MCPGATEWAY_A2A_ENABLED=true. |
| Legacy shim | /observability/* | 2026-06-26 β 2026-09-26 (past) | /v1/observability/* | Deprecation headers | None. /observability/metrics/* mounts unconditionally; the full router mounts when OBSERVABILITY_ENABLED=true. |
| Legacy shim | /reverse-proxy/* | 2026-06-26 β 2026-09-26 (past) | /v1/reverse-proxy/* | Deprecation headers | None. Mounted when MCPGATEWAY_REVERSE_PROXY_ENABLED=true. |
| Legacy shim | /cancellation/* | 2026-06-26 β 2026-09-26 (past) | /v1/cancellation/* | Deprecation headers | None. Mounted when MCPGATEWAY_TOOL_CANCELLATION_ENABLED=true. |
| Legacy shim | /toolops/* | 2026-06-26 β 2026-09-26 (past) | /v1/toolops/* | Deprecation headers | None. Mounted when TOOLOPS_ENABLED=true. |
| Legacy shim | /auth/*, including /auth/email/* and /auth/sso/* | 2026-06-26 β 2026-09-26 (past) | /v1/auth/* | Deprecation headers | None. Mounted when EMAIL_AUTH_ENABLED=true; /auth/sso/* also needs SSO_ENABLED=true. |
| Legacy shim | /teams/* | 2026-06-26 β 2026-09-26 (past) | /v1/teams/* | Deprecation headers | None. Mounted when EMAIL_AUTH_ENABLED=true. |
| Legacy shim | /tokens/* | 2026-06-26 β 2026-09-26 (past) | /v1/tokens/* | Deprecation headers | None. Mounted when EMAIL_AUTH_ENABLED=true. |
| Legacy shim | /rbac/* | 2026-06-26 β 2026-09-26 (past) | /v1/rbac/* | Deprecation headers | None. Mounted when EMAIL_AUTH_ENABLED=true. |
| Legacy shim | /compliance/* | 2026-06-26 β 2026-09-26 (past) | /v1/compliance/* | Deprecation headers | None. Mounted when MCPGATEWAY_ADMIN_API_ENABLED=true. |
| Legacy shim | /admin/*, including /admin/llm/*, /admin/runtime/*, /admin/well-known/* | 2026-06-26 β 2026-09-26 (past) | /v1/admin/* | Deprecation headers | None. Mounted when MCPGATEWAY_ADMIN_API_ENABLED=true. |
| Legacy shim | /llmchat/*, /llm/* | 2026-06-26 β 2026-09-26 (past) | /v1/llmchat/*, /v1/llm/* | Deprecation headers | None. Mounted when MCPGATEWAY_LLM_CHAT_ENABLED=true. |
| Endpoint | POST /servers/{server_id}/toggle | β (no dates assigned) | POST /servers/{server_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign deprecation and removal dates. No Deprecation or Sunset header on the /v1 mount. |
| Endpoint | POST /tools/{tool_id}/toggle | β (no dates assigned) | POST /tools/{tool_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign dates. No header on the /v1 mount. |
| Endpoint | POST /resources/{resource_id}/toggle | β (no dates assigned) | POST /resources/{resource_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign dates. No header on the /v1 mount. |
| Endpoint | POST /prompts/{prompt_id}/toggle | β (no dates assigned) | POST /prompts/{prompt_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign dates. No header on the /v1 mount. |
| Endpoint | POST /gateways/{gateway_id}/toggle | β (no dates assigned) | POST /gateways/{gateway_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign dates. No header on the /v1 mount. |
| Endpoint | POST /a2a/{agent_id}/toggle | β (no dates assigned) | POST /a2a/{agent_id}/state | OpenAPI deprecated=True; DeprecationWarning in handler | Assign dates. No header on the /v1 mount. |
| Feature | gRPC admin endpoints /admin/grpc, /admin/grpc/{service_id} plus /state, /delete, /reflect, /methods (8 routes) | 2026-10-20 β 2027-01-18 | None | Documentation admonition, CHANGELOG entry, registry row | Add deprecated=True on the routes, a startup log when MCPGATEWAY_GRPC_ENABLED=true, and a creation-time warning. |
| Feature | MCPGATEWAY_GRPC_ENABLED, reflection discovery, grpc install extra | 2026-10-20 β 2027-01-18 | None | Documentation, CHANGELOG, registry | Note the deprecation in the config field description. Log at startup when enabled. |
| Feature | WebSocket upstreams: ws:// and wss:// URLs, transport=WEBSOCKET in gateway and catalog registrations | 2026-10-20 β 2027-01-18 | Streamable HTTP or SSE registrations | Documentation, CHANGELOG, registry | Warn at registration time in gateway and catalog create or update paths. Return a warning field in the response. |
| Feature | Local observability store: OBSERVABILITY_ENABLED trace, span, and metric tables; Admin UI observability views | 2026-10-20 β 2027-01-18 | OTel export via OTEL_ENABLE_OBSERVABILITY=true and OTEL_EXPORTER_OTLP_ENDPOINT | Documentation admonitions, CHANGELOG, registry | Log at startup when OBSERVABILITY_ENABLED=true. Add an Admin UI banner on the affected views. |
| Environment | LEGACY_API_ENABLED, LEGACY_API_SUNSET_DATE | 2026-06-26 β 2026-09-26 (past) | None. Removal follows the legacy shim. | Config field descriptions; overdue startup warning from the middleware | None |
| Python | mcpgateway.middleware.rbac.get_db() | β (no dates assigned) | get_db() from main.py, or request.state.db | DeprecationWarning; docstring deprecation notice | Assign deprecation and removal dates. |
| Python | EmailAuthService.get_all_users() | β (no dates assigned) | list_users() with pagination | DeprecationWarning; 10,000-user cap; docstring directive | Assign dates. |
| Python | mcpgateway.middleware.validation_middleware.ValidationMiddleware | 2026-06-11 β 2026-07-07 (past) | Endpoint-level Pydantic models, SecurityValidator helpers, protocol-specific validation middleware | DeprecationWarning on instantiation | Remove. The window has passed. |
RemovedΒΆ
| Interface | Removed | Notes |
|---|---|---|
stdio wrapper (mcpgateway/wrapper.py, crates/wrapper/) | 1.0.11 (2026-09-28) | Removed without a deprecation window. Streamable HTTP clients connect to /servers/<server_id>/mcp/ directly. stdio clients use the FastMCP bridge: uvx fastmcp-remote <gateway-url>. See client configuration. |
Documentation gapsΒΆ
- The
deprecatedlifecycle flag on tools (#4829) and LLM models has no user-facing documentation.