Developer-first MCP gateway that aggregates multiple MCP servers behind a single unified endpoint
Goblin is a gateway/proxy server that exposes meta-tools for discovering and invoking other MCP servers. The 4 tools (describe_tool, invoke_tool, describe_server, search_servers) are well-named with action verbs and have clear, detailed descriptions (120-180 chars each). All tools have proper input schemas with type definitions and parameter descriptions. However, output schemas are not explicitly documented in the visible source code, and error handling guidance is minimal. The tools follow good composition patterns (each does one thing), but lack concrete field-level return documentation that would allow agents to plan downstream calls. Security is addressed (invoke_tool validates arguments), but permission gates and audit logging are not evident in the provided code snippets.
GET SERVER DETAILS. Returns configuration and list of all tools provided by a specific MCP server. USE THIS to understand what capabilities a particular backend exposes, or when debugging connection issues.
GET TOOL DOCUMENTATION. Returns the full definition including description, parameters, and schema. USE THIS before invoking a tool to understand: what arguments it needs, what it returns, and when to use it. Always check the schema before calling unfamiliar tools.
EXECUTE A TOOL. Call any tool exposed by connected MCP servers with validated arguments. USE THIS to perform operations like file I/O, git commands, or API calls. The gateway handles routing to the correct backend. Argument schema is validated - use describe_tool first if unsure.
FIND CONFIGURED SERVERS. Searches for MCP servers by name or description. Returns matching servers with tool counts. USE THIS when you want to see which backends match certain criteria or understand the gateway's configuration.
Output schemas not explicitly documented. The describe_tool and invoke_tool responses' structure (which fields are returned, their types, and required chaining IDs) are not visible in the provided code. Agents need to know what data they can extract and pass downstream.
Error handling lacks recovery guidance. The descriptions mention 'validated arguments' and 'routing' but do not explain what happens on validation failure, server unreachability, or malformed tool definitions. Agents cannot self-correct.
search_servers query parameter is not required but has no documented default behavior. Empty query should either be invalid or have clear semantics (e.g., 'returns all servers').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 57 | 2025-11-25+ | v1 |
No result pagination or limits documented. If describe_server returns large tool lists or search_servers returns hundreds of results, context window exhaustion is possible. No limit parameter visible.