recipes_mcp_upstream_tools
List tools exposed by a configured upstream MCP server and show local allow decisions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List tools exposed by a configured upstream MCP server and show local allow decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does add useful non-obvious context by saying the output includes local allow decisions. However, it does not address whether the operation is read-only, whether it contacts the upstream server, how errors or missing allow decisions are handled, or how the local decisions are determined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler. The primary action is front-loaded, and the secondary output detail about local allow decisions is included without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool takes a single required parameter and has an output schema available, the description covers the core behavior and the distinctive output element. The main missing piece is guidance on how to resolve server_id, but that is a minor gap for such a simple interface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required string parameter, server_id, with zero schema description coverage. The description only indirectly clarifies the parameter via 'configured upstream MCP server', which makes it reasonably clear that server_id identifies the upstream server. This is adequate for a single simple parameter, but it would be stronger if it said where to find valid server IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action and resource clearly: it lists tools exposed by a configured upstream MCP server and shows local allow decisions. This is specific enough to understand the tool's job, though it does not explicitly distinguish it from sibling tools such as recipes_mcp_upstream_servers or recipes_mcp_upstream_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when an agent needs to see the tool surface exposed by an upstream MCP server, along with local allow decisions. However, it provides no explicit when-not-to-use guidance, no prerequisites, and no direct comparison to alternative upstream MCP tools, leaving routing partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools return 'pack' artifacts with nearly identical descriptions, such as recipes_agentic_assurance_pack, recipes_agentic_posture_snapshot, and recipes_agentic_readiness_scorecard, or recipes_mcp_connector_intake_pack versus recipes_mcp_connector_trust_pack. Distinct domains like CVE lookup and playbooks are clear, but dozens of evidence/profile packs blur together and will cause misselection.
All names use the recipes_ prefix and snake_case, and most pack tools follow a [domain]_[topic]_pack pattern, which aids recognition. However, verbs are placed inconsistently and mixed with noun-only names: recipes_get, recipes_cve_get, recipes_mcp_server_get, recipes_refresh, and many pure 'pack' names.
Seventy-five tools is an extreme count for any MCP server, especially when the majority are highly specialized 'pack' endpoints with narrow outputs. The sheer number creates major selection overhead and makes the tool surface difficult for an agent to navigate reliably.
The server covers its apparent read-only scope thoroughly: recipe search/get, CVE lookup, playbook planning, MCP server catalog, upstream MCP introspection, and extensive evidence packs. There are no obvious dead ends, though the massive pack proliferation makes it harder for agents to know which tool to call.