Context firewall + tool router for MCP and tool-heavy AI agents
contextweaver is a meta-tool gateway that proxies upstream tool catalogs. The 8 tools defined are mostly thin wrappers (browse, execute, view, hydrate, list, read resources/prompts). Tool descriptions are present but minimal (10-70 chars, below the 194-char baseline). Parameter descriptions exist but are sparse. No input schemas are visible in the provided source code, only property names and types are inferred from the JSON structure shown. Critically, tool_execute accepts 'args' as an untyped object, which violates constrained-input patterns. The server acts as a gateway rather than exposing direct, well-defined tool semantics; this architectural choice limits the definition quality of individual tools. Error handling is mentioned (errorReporting=true) but not detailed. Tool names follow verb_noun convention (tool_browse, tool_execute, resource_read) which is good, but the 'tool_' and 'resource_' prefixes are redundant namespace pollution. No per-tool risk modeling is visible in schemas. Overall, the tools are functional but minimal, designed for introspection rather than rich semantic clarity.
Get a specific prompt template with argument substitution
List available prompt templates from the upstream catalog
List available resources from the upstream catalog
Read the contents of a specific resource
Browse and filter the upstream tool catalog by description or metadata
Execute an upstream tool with the specified arguments and return the result
Retrieve the full schema and metadata for a specific tool (proxy meta-tool)
Retrieve the full schema and metadata for a specific tool by its canonical tool_id
tool_execute 'args' parameter is an untyped object, no schema constraints on what keys/values are valid
Descriptions are below baseline, most tools have 30-70 chars vs 194-char baseline; too terse to guide LLM tool selection
No documented output schemas, LLMs cannot plan downstream calls or know what fields to extract
Parameter 'query' and 'arguments' lack format/constraint documentation; LLMs will guess at valid syntax
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error guidance in tool descriptions, what should LLM do if tool_execute fails? Retry? Try another tool?
Redundant namespace prefixes ('tool_', 'resource_', 'prompt_') pollute tool names and reduce clarity