Skip to content

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 deprecated lifecycle flag on tools (#4829) and LLM models has no user-facing documentation.