A self-hosted gateway for Model Context Protocol servers
Portcullis is a gateway MCP server with 10 tools spanning server management, resource/tool/prompt/root listing, and health probing. All tools have descriptions (10-80 chars, mostly adequate). Input schemas are present for 6 tools (create_server, update_server, delete_server, get_server, trigger_health_probe, and the four list operations). However, descriptions are terse (many under 100 chars), parameter descriptions lack detail on constraints and formats, and output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages visible. Tool naming is clear and verb-first, but composition could be tighter (e.g., roots/list, tools/list, resources/list, prompts/list are repetitive discovery tools that could be unified). Security is reasonable (RBAC filtering applied), but no evidence of rate limiting or input validation guidance.
Register a new upstream MCP server. Requires admin scope.
Delete an MCP server registration. Requires admin scope.
Return a single MCP server by slug.
Return all registered MCP servers.
List all available prompts from an MCP server, with RBAC filtering applied
List all available resources from an MCP server, with RBAC filtering applied
Output schemas not documented. Tools return data but LLMs cannot predict field structure, forcing trial-and-error parsing and wasting tokens.
Parameter descriptions lack constraint details. E.g., 'transport' accepts 'streamable_http' but no enum or format guidance. 'auth_mode' accepts 'none' or 'service_token' but not documented as enum.
Four discovery tools (tools/list, resources/list, prompts/list, roots/list) are nearly identical in structure and purpose. Composition could be unified into a single 'list_server_capabilities' tool with a 'type' parameter.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
List all available roots from an MCP server, with RBAC filtering applied
List all available tools from an MCP server, with RBAC filtering applied
Trigger an immediate health probe for the specified server.
Update an existing MCP server registration. Requires admin scope.
No error recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., 'create_server' does not document what happens if upstream_url is unreachable.
Destructive tool (delete_server) lacks confirmation or dry-run pattern. No evidence of a 'confirm_delete' step to prevent accidental server removal.