A governed MCP endpoint gateway that acts as a reverse proxy for MCP servers, providing rate limiting, policy enforcement, authorization, audit logging, and multi-protocol support (HTTP, stdio). Supports both legacy (2025-11-25) and modern (2026-07-28) MCP protocol versions.
MCPG exposes 2 tools with explicit schemas and descriptions. Both tools have clear verb-noun naming (tools/list, tools/call) and detailed descriptions (150+ chars each). Input schemas are present with typed parameters and descriptions. However, output schemas are not documented in the visible code, and error handling guidance is absent. The tools reference advanced MCP patterns (MRTR, idempotency, progress tokens, task support) but lack descriptions of what those features mean for LLM behavior. No tool annotations (readOnlyHint/destructiveHint) are visible despite tools/call being destructive.
Dispatch tools/call on the modern wire. Executes a tool with the given name and arguments. Supports task-augmented execution (SEP-2663), MRTR resumption (SEP-2322), idempotency (SEP-2133), progress tokens (SEP-2575), and per-request log-level control. Enforces taskSupport constraints and policy gates.
Dispatch tools/list on the modern wire. Enumerates available tools with visibility filtering, catalog pagination, and caching metadata. Returns a paginated list of tool descriptors with cache scope and TTL.
Output schemas not documented. Neither tool specifies what fields are returned, their types, or structure. LLMs cannot plan downstream calls or extract required data without documented return types.
tools/call is destructive (WRITE risk) but lacks tool annotations. No readOnlyHint or destructiveHint visible. LLMs cannot distinguish safe vs unsafe tools without explicit annotations.
Error handling guidance absent. Descriptions reference advanced features (MRTR, idempotency, task support) but do not explain failure modes or recovery paths. LLMs lack actionable error context.
tools/list pagination cursor is opaque. Description says 'Opaque pagination cursor' but does not explain when to stop iterating, what happens on invalid cursor, or whether results are ordered. Pagination guidance incomplete.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
tools/call meta parameter is underspecified. Description lists supported fields (progressToken, requestLogLevel, idempotencyKey, MRTR state) but does not explain which are required, defaults, or constraints. LLMs may pass invalid combinations.