Skip to main content
Glama
stand-out-of-my-sun

Diogenes Context Compression, Code Patching & Deterministic Solver MCP

Diogenes Context Compression, Code Patching & Deterministic Solver MCP (diogenes-context-code-solver-mcp)

Indexed on TensorBlock MCP Index Glama MCP Server Master Gateway

Diogenes Context Compression, Code Patching & Deterministic Solver MCP is a focused, zero-bloat Model Context Protocol (streamable-http) package powered by the Diogenes Autonomous Microservice Gateway.

Instead of loading all 85 gateway endpoints into your LLM's context window, installing this package exposes only the 15 specialized context-code-solver tools needed for Context, Code & Deterministic Solvers:

15 TDQS 5.0/5.0 deterministic AI agent & developer tools: AST context skeleton pruner, BPE token budget planner, BM25+RRF+MMR hybrid reranker, self-healing fuzzy diff patcher, polyglot AST symbol & complexity analyzer, Tarjan circular dependency detector, stack-trace root-cause isolator, polyglot TypeScript/Zod/Pydantic compiler, Shunting-Yard math & IRR/NPV solver, Critical Path (CPM) scheduler, Welch/Bayesian A/B judge, RFC 7396 memory differ, OpenAPI breaking-change detector, boundary test-vector generator, and seeded Monte Carlo VaR/CVaR simulator.


1-Click Install (mcp.json) for Cursor, Claude Desktop & Windsurf

No API keys, user accounts, or local dependencies required. Add this scoped endpoint to .cursor/mcp.json or claude_desktop_config.json:

{
  "mcpServers": {
    "diogenes-context-code-solver": {
      "transport": "streamable-http",
      "url": "https://diogenes-micro-gateway.corinth.workers.dev/mcp/context-code-solver"
    }
  }
}

Related MCP server: mcp-micro-tools

Included Tools in context-code-solver (15 Tools)

MCP Tool Name

Underlying REST Route

Settlement

Capability

prune_context_skeleton

POST /api/v1/context/smart-pruner

50 sats (L402)

Compresses large source files, logs, or transcripts by 50–80% to fit an LLM context budget while preserving 100% of function/class/type signatures, imports, error frames, and query-matched lines. Use when shrinking oversized source files or logs before feeding them into an LLM prompt; for counting BPE tokens across prompt segments and calculating multi-model inference costs without altering text, use plan_context_token_budget instead. Read-only edge call (32 KB, 60 RPM): accepts 'content' (with enum defaults), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

plan_context_token_budget

POST /api/v1/context/token-budget-planner

30 sats (L402)

Counts subword BPE tokens across prompt segments, detects high-priority instructions trapped in the 35%–72% Lost-in-the-Middle attention trough, and calculates USD/satoshi costs across frontier LLMs. Use when auditing prompt token budgets, reordering prompt sections for primacy/recency attention, or comparing model API costs; for actively compressing and stripping low-salience lines from a single large file, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'segments_json' (with enum defaults), uses '?demo=true' or L402 (30 sats); HTTP 400 if invalid.

rerank_hybrid_rag_chunks

POST /api/v1/context/hybrid-reranker

50 sats (L402)

Reranks and deduplicates candidate RAG or search chunks against a query using Okapi BM25 (k1=1.5, b=0.75), Reciprocal Rank Fusion (RRF), and Maximal Marginal Relevance (MMR) Jaccard diversity filtering. Use when selecting the top-K highest-signal, non-redundant passages from vector search or grep results; for compressing a single contiguous source file while keeping its original line order, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'query' ('documents_json' defaults to 'standard'), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

apply_fuzzy_code_patch

POST /api/v1/code/fuzzy-diff-patcher

75 sats (L402)

Applies unified diffs (@@ ... @@) or SEARCH/REPLACE blocks to source code using sliding-window token similarity to resolve drifted line numbers, align indentation, and verify bracket balance. Use when healing and applying a code edit or diff that failed exact line matching due to line-number drift or whitespace differences; for inspecting function signatures, call trees, and cyclomatic complexity without modifying code, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'original_code' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

analyze_ast_symbol_graph

POST /api/v1/code/ast-symbol-graph

75 sats (L402)

Extracts imports, exports, classes, interfaces, and functions with line numbers, intra-file call edges, McCabe cyclomatic complexity, and Halstead volume across TypeScript, Python, Rust, Go, and Move. Use when mapping the internal functions, call graph, and complexity hotspots of a source file before refactoring; for analyzing cross-file import DAGs, circular dependencies, and topological build order across multiple modules, use audit_module_dependency_cycles instead. Read-only call (32 KB, 60 RPM): accepts 'code' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

audit_module_dependency_cycles

POST /api/v1/code/dependency-cycle-audit

75 sats (L402)

Runs Tarjan's Strongly Connected Components (SCC) algorithm on a module import map to detect circular dependencies, compute parallel topological build waves, and trace downstream change blast radius. Use when auditing multi-file import graphs for circular cycles or determining which downstream files must be re-tested after an edit; for extracting function-level symbols and cyclomatic complexity inside a single source file, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'modules_json' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

isolate_stacktrace_root_cause

POST /api/v1/code/stacktrace-root-cause

50 sats (L402)

Parses noisy CI/terminal logs and multi-language stack traces (Node/TS, Python, Rust, Go), strips node_modules/stdlib frames to isolate the innermost failing user-code frame, and clusters repetitive logs into Drain templates. Use when triage-debugging test failures, crash dumps, or repetitive server error logs; for compressing general source code files or prose transcripts, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'raw_log' ('runtime_hint' defaults to 'auto_detect'), supports '?demo=true' or L402 (50 sats), and returns HTTP 400 if invalid.

compile_polyglot_type_schemas

POST /api/v1/code/polyglot-type-compiler

60 sats (L402)

Inspects a sample JSON payload (inferring UUID, ISO-8601 datetime, email, integer vs float, and array item types) and compiles strict TypeScript interfaces, Zod schemas, Python Pydantic v2 models, and JSON Schema Draft 2020-12. Use when generating static type definitions and runtime validators in TypeScript and Python from a sample JSON response; for extracting existing function/class symbols and complexity metrics from source code, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'sample_json' (with enum defaults), uses '?demo=true' or L402 (60 sats); HTTP 400 if invalid.

evaluate_deterministic_math

POST /api/v1/solver/deterministic-math

40 sats (L402)

Evaluates algebraic and scientific formulas via a Shunting-Yard AST parser and computes exact financial NPV, Newton-Raphson IRR, Kelly criterion, and dataset stats. Use when computing exact arithmetic formulas, cashflow NPV/IRR, or descriptive statistics without LLM floating-point guesswork; for running two-sample A/B hypothesis tests between control and treatment arms, use evaluate_ab_statistical_significance instead. Read-only edge call (32 KB, 60 RPM): accepts 'expression' ('precision_digits' defaults to '2_decimals'), uses '?demo=true' or L402 (40 sats); HTTP 400 if invalid.

schedule_critical_path_tasks

POST /api/v1/solver/constraint-scheduler

80 sats (L402)

Solves a task dependency DAG via the Critical Path Method (CPM) to compute ES/EF/LS/LF, Total Float/Slack, optimal makespan, and the Critical Path. Use when scheduling dependent engineering milestones or workflow steps to find the minimum project duration and zero-slack bottleneck path; for detecting circular code imports and file blast radius without task durations, use audit_module_dependency_cycles instead. Read-only edge call (32 KB, 60 RPM): accepts 'tasks_json' ('time_unit' defaults to 'minutes'), supports '?demo=true' or L402 (80 sats), and returns HTTP 400 if invalid.

evaluate_ab_statistical_significance

POST /api/v1/solver/statistical-ab-judge

60 sats (L402)

Computes Welch's two-sample t-test or two-proportion z-test, returning two-tailed p-values, Cohen's d effect size, relative lift %, and Bayesian P(Treatment > Control). Use when determining whether a prompt change, model benchmark, or A/B experiment produced a statistically significant improvement; for evaluating single algebraic formulas or NPV/IRR cashflows, use evaluate_deterministic_math instead. Read-only edge call (32 KB, 60 RPM): accepts 'control_json' ('treatment_json' defaults to 'standard'), supports '?demo=true' or L402 (60 sats), and returns HTTP 400 if invalid.

detect_openapi_breaking_changes

POST /api/v1/code/openapi-breaking-changes

75 sats (L402)

Compares baseline and candidate OpenAPI 3.1 specs, JSON Schemas, or MCP tool manifests to detect breaking changes (removed fields, new required inputs, narrowed enums, type mutations). Use when auditing API, JSON Schema, or MCP contract revisions for backward compatibility before deployment; for compiling new TypeScript, Zod, and Pydantic schemas from a single sample JSON payload, use compile_polyglot_type_schemas instead. Read-only edge call (32 KB, 60 RPM): accepts 'baseline_schema_json' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

generate_boundary_test_vectors

POST /api/v1/code/boundary-test-vectors

65 sats (L402)

Synthesizes deterministic unit-test vectors from a JSON Schema or function signature covering valid equivalence partitions, numeric/length boundaries, and adversarial Unicode/null inputs. Use when generating exhaustive edge-case unit test payloads and fuzz vectors for an API endpoint or function; for healing and applying unified diffs or search/replace edits to source code, use apply_fuzzy_code_patch instead. Read-only edge call (32 KB, 60 RPM): accepts 'schema_or_signature_json' (with enum defaults), uses '?demo=true' or L402 (65 sats); HTTP 400 if invalid.

simulate_monte_carlo_risk

POST /api/v1/solver/monte-carlo-risk

70 sats (L402)

Runs a reproducible seeded Mulberry32 Monte Carlo simulation over uncertain cost, latency, or duration variables to compute P10/P50/P90/P95 percentiles, Value-at-Risk (VaR), and CVaR. Use when modeling stochastic uncertainty, tail risk (VaR/CVaR), and probability of meeting a budget or SLA target; for evaluating deterministic single-point algebraic formulas or exact NPV/IRR cashflows, use evaluate_deterministic_math instead. Read-only edge call (32 KB, 60 RPM): accepts 'variables_json' (with enum defaults), uses '?demo=true' or L402 (70 sats); HTTP 400 if invalid.

diff_agent_memory_checkpoint

POST /api/v1/agent/memory-checkpoint-diff

50 sats (L402)

Computes structural diffs between two agent state snapshots ('added_keys', 'mutated_keys', 'removed_keys'), flags boolean belief contradictions, generates an RFC 7396 JSON Merge Patch delta, and computes a canonical checkpoint hash. Use when checkpointing agent state or transmitting minimal RFC 7396 state deltas across multi-agent handoffs; for counting BPE tokens and auditing Lost-in-the-Middle prompt attention, use plan_context_token_budget instead. Read-only call (32 KB, 60 RPM): accepts 'previous_state_json' (with enum defaults), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

Free Account-Less Demo Mode: Append ?demo=true to any REST endpoint above for an instant HTTP 200 schema preview at zero cost.


Other Modular Diogenes MCP Packages

Install only the domain packages relevant to your workflow:

Package

Scoped MCP Endpoint

Spoke Repository

1. Gemini Suite & Agents

https://diogenes-micro-gateway.corinth.workers.dev/mcp/gemini-suite

stand-out-of-my-sun/diogenes-gemini-suite-mcp

2. Agent Guardrails & Sandbox

https://diogenes-micro-gateway.corinth.workers.dev/mcp/agent-guardrails

stand-out-of-my-sun/diogenes-agent-guardrails-mcp

3. Web3, DeFi & 402 Security

https://diogenes-micro-gateway.corinth.workers.dev/mcp/web3-security

stand-out-of-my-sun/diogenes-web3-security-mcp

4. EVE: Frontier Sui Move Suite

https://diogenes-micro-gateway.corinth.workers.dev/mcp/eve-frontier

stand-out-of-my-sun/diogenes-eve-frontier-mcp

5. Context, Code & Solvers (15 Tools)

https://diogenes-micro-gateway.corinth.workers.dev/mcp/context-code-solver

stand-out-of-my-sun/diogenes-context-code-solver-mcp

6. Dev, Data & Workflow Utilities (14 Tools)

https://diogenes-micro-gateway.corinth.workers.dev/mcp/dev-utilities

stand-out-of-my-sun/diogenes-dev-utilities-mcp

7. Full Master Gateway (All 85 Services)

https://diogenes-micro-gateway.corinth.workers.dev/mcp

stand-out-of-my-sun/diogenes-micro-gateway


TensorBlock & MCP Index Profile Metadata

Field

Value

Category

Context, Code & Deterministic Solvers

Transport

streamable-http

Endpoint

https://diogenes-micro-gateway.corinth.workers.dev/mcp/context-code-solver

Manifest

https://diogenes-micro-gateway.corinth.workers.dev/.well-known/mcp/context-code-solver.json

Health Check

https://diogenes-micro-gateway.corinth.workers.dev/api/v1/health

Auth

none (100% account-less free tier, MCP discovery & ?demo=true previews; optional L402, x402, or MPP request headers for production calls)

Install Confidence

high (Zero-install remote Streamable HTTP endpoint + root package.json, smithery.yaml, server.json, glama.json, and mcp.json)

License

MIT

Verification

verified (@stand-out-of-my-sun verified via https://diogenes-micro-gateway.corinth.workers.dev/.well-known/tensorblock.json & https://diogenes-micro-gateway.corinth.workers.dev/.well-known/mcp/context-code-solver.json)

Maintainer

@stand-out-of-my-sun

Docs

https://diogenes-micro-gateway.corinth.workers.dev/llms.txt

Support

https://github.com/stand-out-of-my-sun/diogenes-context-code-solver-mcp/issues

Available Tools

15 tools
analyze_ast_symbol_graphPolyglot AST Symbol Extractor, Call Graph & Complexity AnalyzerA
Read-onlyIdempotent

Extracts imports, exports, classes, interfaces, and functions with line numbers, intra-file call edges, McCabe cyclomatic complexity, and Halstead volume across TypeScript, Python, Rust, Go, and Move. Use when mapping the internal functions, call graph, and complexity hotspots of a source file before refactoring; for analyzing cross-file import DAGs, circular dependencies, and topological build order across multiple modules, use audit_module_dependency_cycles instead. Read-only call (32 KB, 60 RPM): accepts 'code' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code file content to parse for symbols and complexity metrics.
languageNoProgramming language grammar used for symbol extraction; defaults to 'typescript' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
functionsYesExtracted functions with line number, cyclomatic_complexity, and outgoing calls.
lines_of_codeYesTotal line count of the analyzed source code.
halstead_metricsYesHalstead vocabulary_size, program_length, volume, and estimated_bugs.
high_complexity_hotspotsYesFunctions with McCabe cyclomatic complexity >= 8 flagged for refactoring.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered, and the description correctly aligns ('Read-only call'). It adds real operational context beyond annotations: a 32 KB size cap, 60 RPM rate limit, payment paths ('?demo=true' or L402 75 sats), and an HTTP 400 failure mode. It stops short of 5 only because it leaves some ambiguity (e.g., which limit the 32 KB applies to) and adds no non-obvious behavioral caveats beyond these.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core capability and then the routing rule before operational details, and every clause carries information. It is dense and slightly run-on, packing output shape, routing, rate limits, payment, and errors into a compressed block, but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be restated, and annotations carry the safety profile. Combined with the enumerated outputs, explicit sibling routing, and operational limits (size, rate, payment, error), nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with only two parameters, so the schema already documents 'code' and the 'language' enum default. The description merely acknowledges them ('accepts code (with enum defaults)') without adding format, size, or language-selection guidance beyond what the schema states. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Extracts imports, exports, classes... call edges, complexity, Halstead volume') with exact scope and enumerated languages. It explicitly distinguishes itself from the sibling audit_module_dependency_cycles by routing cross-file analysis elsewhere, so an agent can separate the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both a strong when-to-use ('mapping internal functions, call graph, and complexity hotspots of a source file before refactoring') and an explicit when-not with a named alternative ('for cross-file import DAGs... use audit_module_dependency_cycles instead'). This is exactly the routing guidance the dimension rewards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply_fuzzy_code_patchSelf-Healing Fuzzy Unified Diff & Search/Replace Code PatcherA
Read-onlyIdempotent

Applies unified diffs (@@ ... @@) or SEARCH/REPLACE blocks to source code using sliding-window token similarity to resolve drifted line numbers, align indentation, and verify bracket balance. Use when healing and applying a code edit or diff that failed exact line matching due to line-number drift or whitespace differences; for inspecting function signatures, call trees, and cyclomatic complexity without modifying code, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'original_code' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
patchYesUnified diff hunk or <<<<<<< SEARCH ... ======= ... >>>>>>> REPLACE block to apply.
fuzz_strategyNoLine-matching tolerance and indentation behavior; defaults to 'whitespace_normalized_auto_indent' when omitted.
original_codeYesComplete original source file content before patching.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hunks_totalYesTotal patch hunks parsed from the input patch.
patched_codeYesResulting source code after applying all matched hunks.
hunks_appliedYesNumber of hunks successfully anchored and applied.
syntax_balance_verifiedYesTrue when post-patch {}, (), and [] delimiters remain balanced.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotent/non-destructive, so the safety profile is covered, but the description adds real operational context: 32 KB payload cap, 60 RPM rate limit, '?demo=true' or L402 payment at 75 sats, and HTTP 400 on invalid input. It does restate 'read-only call' which the annotation already provides, but the auth/limit/error disclosure is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and usage before operational details, and every sentence carries information. The final sentence is dense and run-on (rate limits, payment, status codes crammed together), which slightly hurts readability but not substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema and rich annotations exist, so return values and safety needn't be spelled out, and the description still covers auth, quota, payload size, and failure mode. It is complete enough for correct invocation; only the ambiguous enum attribution leaves a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema, giving a baseline of 3. The description adds little beyond noting enum defaults and mentions original_code, but its phrasing 'accepts original_code (with enum defaults)' is slightly misleading since the enum belongs to fuzz_strategy, not original_code.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: applying unified diffs (@@ ... @@) or SEARCH/REPLACE blocks, with the specific mechanism (sliding-window token similarity). It also names analyze_ast_symbol_graph as the sibling for the non-mutating inspection case, so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use: 'when healing and applying a code edit or diff that failed exact line matching due to line-number drift or whitespace differences'. It also gives an explicit when-not/alternative: use analyze_ast_symbol_graph for inspecting signatures, call trees, and complexity without modifying code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_module_dependency_cyclesTarjan SCC Circular Import Detector & Topological Blast-Radius SolverA
Read-onlyIdempotent

Runs Tarjan's Strongly Connected Components (SCC) algorithm on a module import map to detect circular dependencies, compute parallel topological build waves, and trace downstream change blast radius. Use when auditing multi-file import graphs for circular cycles or determining which downstream files must be re-tested after an edit; for extracting function-level symbols and cyclomatic complexity inside a single source file, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'modules_json' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
modules_jsonYesJSON string or object mapping each module name to its array of imported module names (e.g. '{"a":["b"],"b":[]}').
analysis_scopeNoGraph analysis output mode; defaults to 'cycles_waves_and_blast_radius' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
total_modulesYesTotal number of graph vertices analyzed.
circular_scc_groupsYesStrongly connected component cycles discovered via Tarjan's algorithm.
topological_build_wavesYesDependency-ordered parallel build/test execution waves.
transitive_blast_radiusYesAll upstream callers transitively impacted by the modified modules.
circular_dependencies_detectedYesTrue if one or more circular dependency cycles exist.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile, and the description layers substantial extra context: 32 KB payload ceiling, 60 RPM rate limit, the demo/L402 auth paths (75 sats), and HTTP 400 behavior on invalid input. This is far beyond what the structured annotations disclose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences with the purpose, routing, and operational constraints front-loaded. It is dense rather than bloated, though the parenthetical rate/auth/error clauses make the second sentence quite compressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described. Combined with stated auth, limits, and error behavior, the description is complete enough for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (modules_json and the analysis_scope enum) are already fully documented in the schema. The description only alludes to 'enum defaults' without adding format or meaning beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (audit module dependency cycles), names the exact algorithm (Tarjan SCC), and enumerates the three outputs (cycles, topological build waves, blast radius). It also distinguishes itself from the sibling it is not by contrasting scope with analyze_ast_symbol_graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions ('auditing multi-file import graphs for circular cycles' or 'determining which downstream files must be re-tested after an edit') and names the alternative tool plus the condition that selects it ('for function-level symbols ... use analyze_ast_symbol_graph instead').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compile_polyglot_type_schemasPolyglot JSON -> TypeScript, Zod, Pydantic v2 & JSON Schema CompilerA
Read-onlyIdempotent

Inspects a sample JSON payload (inferring UUID, ISO-8601 datetime, email, integer vs float, and array item types) and compiles strict TypeScript interfaces, Zod schemas, Python Pydantic v2 models, and JSON Schema Draft 2020-12. Use when generating static type definitions and runtime validators in TypeScript and Python from a sample JSON response; for extracting existing function/class symbols and complexity metrics from source code, use analyze_ast_symbol_graph instead. Read-only call (32 KB, 60 RPM): accepts 'sample_json' (with enum defaults), uses '?demo=true' or L402 (60 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
root_nameNoIdentifier used for the generated root interface/class; defaults to 'GeneratedPayload' when omitted.
strictnessNoSchema additionalProperties and format constraint mode; defaults to 'strict_formats' when omitted.
sample_jsonYesJSON string or object representing the sample payload to infer types from.

Output Schema

ParametersJSON Schema
NameRequiredDescription
root_nameYesSanitized root type/class identifier.
zod_schemaYesCompiled TypeScript Zod runtime validator schema.
python_pydantic_v2YesCompiled Python Pydantic v2 BaseModel class.
typescript_interfaceYesCompiled TypeScript export interface definition.
json_schema_draft_2020_12YesComplete JSON Schema Draft 2020-12 specification.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, yet the description adds substantial operational context the annotations don't carry: 32 KB payload limit, 60 RPM rate limit, ?demo=true or L402 (60 sats) auth/payment paths, and an HTTP 400 failure mode. It doesn't detail output structure, but that is covered by the output schema, so this is strong transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose before usage, alternatives, and operational limits. It is dense—three heavily packed sentences with parentheticals—but each clause carries information; the minor cost is readability rather than waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. The description covers purpose, usage, the sibling alternative, operational limits, auth/payment, and error behavior—everything an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents root_name, strictness, and sample_json fully. The description adds only marginal param meaning ('accepts sample_json with enum defaults'), which largely restates the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compiles) and the concrete resources produced (TypeScript interfaces, Zod schemas, Pydantic v2 models, JSON Schema Draft 2020-12) from a sample JSON payload, plus the inference set (UUID, ISO-8601, email, int/float, array items). It explicitly names the sibling analyze_ast_symbol_graph as the thing it is NOT, so an agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use clause ('Use when generating static type definitions and runtime validators in TypeScript and Python from a sample JSON response') paired with an explicit alternative for the adjacent task ('for extracting existing function/class symbols... use analyze_ast_symbol_graph instead'). When, why, and the routing alternative are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_openapi_breaking_changesOpenAPI 3.1, JSON Schema & MCP Contract Breaking-Change DetectorA
Read-onlyIdempotent

Compares baseline and candidate OpenAPI 3.1 specs, JSON Schemas, or MCP tool manifests to detect breaking changes (removed fields, new required inputs, narrowed enums, type mutations). Use when auditing API, JSON Schema, or MCP contract revisions for backward compatibility before deployment; for compiling new TypeScript, Zod, and Pydantic schemas from a single sample JSON payload, use compile_polyglot_type_schemas instead. Read-only edge call (32 KB, 60 RPM): accepts 'baseline_schema_json' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_formatNoContract specification format; defaults to 'auto_detect' when omitted.
baseline_schema_jsonYesJSON string of the baseline OpenAPI 3.1 spec, JSON Schema, or MCP tools array.
candidate_schema_jsonYesJSON string of the proposed candidate schema or contract revision to compare.

Output Schema

ParametersJSON Schema
NameRequiredDescription
breaking_changesYesDetailed list of breaking removals, type changes, or new required parameters.
non_breaking_additionsYesBackward-compatible optional fields or endpoints added.
recommended_semver_bumpYesRecommended Semantic Version bump ('MAJOR_BREAKING', 'MINOR_ADDITIVE', or 'PATCH_COMPATIBLE').
breaking_changes_detectedYesTrue if any backward-incompatible contract change is found.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, closed-world, but the description adds operational context the annotations cannot: 32 KB payload ceiling, 60 RPM rate limit, L402 payment (75 sats) or ?demo=true fallback, and an HTTP 400 failure mode for invalid input. These are exactly the non-safety behavioral traits an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then usage, then the alternative, then operational constraints — a sensible order with no filler sentences. It is dense and packed into few sentences, which slightly hurts readability, but every clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description fills the remaining gaps (cost/payment, rate limit, size limit, error behavior, sibling disambiguation), leaving nothing an agent needs in order to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents contract_format, baseline_schema_json, and candidate_schema_json, establishing the baseline of 3. The description restates the baseline parameter name and adds a cryptic note about 'enum defaults' but does not clarify format expectations, size handling, or how auto_detect resolves — so it adds little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compares/detects) and precise resources (OpenAPI 3.1 specs, JSON Schemas, MCP tool manifests), and enumerates the change classes detected (removed fields, new required inputs, narrowed enums, type mutations). It explicitly distinguishes itself from the sibling compile_polyglot_type_schemas, so an agent can route correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition (auditing contract revisions for backward compatibility before deployment) and names the alternative tool plus the condition that selects it (compiling new TypeScript/Zod/Pydantic schemas from a sample payload). Nothing about routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diff_agent_memory_checkpointAgent State Graph Differ, Belief Conflict Resolver & SHA-256 HasherA
Read-onlyIdempotent

Computes structural diffs between two agent state snapshots ('added_keys', 'mutated_keys', 'removed_keys'), flags boolean belief contradictions, generates an RFC 7396 JSON Merge Patch delta, and computes a canonical checkpoint hash. Use when checkpointing agent state or transmitting minimal RFC 7396 state deltas across multi-agent handoffs; for counting BPE tokens and auditing Lost-in-the-Middle prompt attention, use plan_context_token_budget instead. Read-only call (32 KB, 60 RPM): accepts 'previous_state_json' (with enum defaults), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
conflict_strategyNoResolution policy when keys conflict; defaults to 'prefer_current' when omitted.
current_state_jsonYesJSON string or object representing the updated agent state snapshot.
previous_state_jsonYesJSON string or object representing the prior agent state snapshot.

Output Schema

ParametersJSON Schema
NameRequiredDescription
added_keysYesState keys newly introduced in current_state.
mutated_keysYesModified keys with before/after values and belief_contradiction flag.
checkpoint_digestYesDeterministic cryptographic hash of the canonicalized merged state.
rfc7396_json_merge_patch_deltaYesMinimal RFC 7396 JSON Merge Patch payload transforming previous into current.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, yet the description adds real operational context beyond them: size/rate limits (32 KB, 60 RPM), auth paths ('?demo=true' or L402 at 50 sats), and failure behavior (HTTP 400 if invalid). This is unusually rich disclosure for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core operation and outputs, followed by usage routing and operational constraints. Dense and largely waste-free, though the '(with enum defaults)' clause is mildly confusing and attached to the wrong parameter, slightly muddying an otherwise tight structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained; the description instead covers scope, alternatives, limits, auth, and error behavior. For a read-only diff tool with full schema coverage, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, making 3 the baseline. The description references 'previous_state_json' and 'enum defaults', but the enum actually belongs to conflict_strategy, so the added parameter detail is slightly imprecise rather than value-adding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (computes structural diffs between two agent state snapshots) and enumerates the exact outputs ('added_keys', 'mutated_keys', 'removed_keys'), plus belief-contradiction flagging, RFC 7396 patch generation, and hashing. It also names the sibling it is not (plan_context_token_budget), so an agent can distinguish it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it ('checkpointing agent state or transmitting minimal RFC 7396 state deltas across multi-agent handoffs') and names the alternative with the contrasting condition (token counting / Lost-in-the-Middle auditing → plan_context_token_budget). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_ab_statistical_significanceWelch's t-Test, Two-Proportion z-Test & Bayesian A/B Eval JudgeA
Read-onlyIdempotent

Computes Welch's two-sample t-test or two-proportion z-test, returning two-tailed p-values, Cohen's d effect size, relative lift %, and Bayesian P(Treatment > Control). Use when determining whether a prompt change, model benchmark, or A/B experiment produced a statistically significant improvement; for evaluating single algebraic formulas or NPV/IRR cashflows, use evaluate_deterministic_math instead. Read-only edge call (32 KB, 60 RPM): accepts 'control_json' ('treatment_json' defaults to 'standard'), supports '?demo=true' or L402 (60 sats), and returns HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
control_jsonYesJSON string or object for the baseline control arm (e.g. '{"conversions":142,"total":1000}' or '{"samples":[12,15,14]}').
treatment_jsonYesJSON string or object for the candidate treatment arm (e.g. '{"conversions":186,"total":1000}').
significance_levelNoType-I error alpha threshold for statistical significance; defaults to 'alpha_0_05' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
p_valueYesTwo-tailed frequentist p-value.
verdictYesExperiment decision ('SIGNIFICANT_TREATMENT_WIN', 'SIGNIFICANT_CONTROL_WIN', or 'INCONCLUSIVE_UNDERPOWERED').
test_typeYesStatistical test applied ('welch_two_sample_t_test' or 'two_proportion_z_test_and_bayesian').
relative_lift_pctYesPercentage lift of treatment over control.
bayesian_prob_treatment_superiorYesPosterior probability P(Treatment > Control) from 0.0 to 1.0.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive, closed-world), and the description adds genuinely new operational context: 32 KB payload limit, 60 RPM rate limit, auth options (?demo=true or L402 at 60 sats), and HTTP 400 on invalid input. That is exactly the kind of constraint info the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and the routing rule are front-loaded in the first two clauses, with operational details trailing in a compact parenthetical. It is dense but largely waste-free; the parenthetical is heavily compressed to the point of being cryptic, which costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be re-explained, and the description still covers test coverage, inputs, auth, rate limits, size limits, and error behavior. Nothing an agent needs to invoke this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains control_json, treatment_json, and the significance_level enum with its default, giving a baseline of 3. The description adds only the ambiguous claim that "'treatment_json' defaults to 'standard'", which actually conflicts with the schema marking treatment_json as required and does not clarify parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Computes Welch's two-sample t-test or two-proportion z-test') and enumerates the exact outputs (two-tailed p-values, Cohen's d, relative lift %, Bayesian P(Treatment > Control)). It also names the sibling it is not, evaluate_deterministic_math, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('whether a prompt change, model benchmark, or A/B experiment produced a statistically significant improvement') and an explicit exclusion with a named alternative ('for evaluating single algebraic formulas or NPV/IRR cashflows, use evaluate_deterministic_math instead'). Both the when and the when-not are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_deterministic_mathShunting-Yard Algebraic Math, Financial IRR/NPV & Descriptive Stats SolverA
Read-onlyIdempotent

Evaluates algebraic and scientific formulas via a Shunting-Yard AST parser and computes exact financial NPV, Newton-Raphson IRR, Kelly criterion, and dataset stats. Use when computing exact arithmetic formulas, cashflow NPV/IRR, or descriptive statistics without LLM floating-point guesswork; for running two-sample A/B hypothesis tests between control and treatment arms, use evaluate_ab_statistical_significance instead. Read-only edge call (32 KB, 60 RPM): accepts 'expression' ('precision_digits' defaults to '2_decimals'), uses '?demo=true' or L402 (40 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYesAlgebraic or scientific formula to evaluate (e.g. '(125000 * (1 + 0.0725/12)^60) - 98450.50').
precision_digitsNoDecimal rounding precision for returned numbers; defaults to '8_decimals' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
expressionYesEvaluated mathematical expression.
exact_resultYesDeterministic floating-point result of the expression.
dataset_statisticsYesOptional count, mean, median, std_dev, min, and max when a dataset array is supplied.
financial_analysisYesOptional NPV, Newton-Raphson IRR, and Kelly fraction when financial parameters are supplied.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantive traits they do not carry: a 32 KB payload cap, a 60 RPM rate limit, demo/L402 (40 sats) access, and an HTTP 400 failure mode. That is meaningful operational context beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and tightly packed; the when-to-use, alternative, and operational constraints are all in a compact block. Slightly dense with parenthetical jargon (Shunting-Yard AST, Newton-Raphson, L402) but every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-format explanation is unnecessary, and the description covers access, limits, and error behavior. The one flaw is the contradictory precision default, which leaves the agent with conflicting guidance on an actual input parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline would be 3, but the description actively misleads: it says 'precision_digits' defaults to '2_decimals' while the schema states it 'defaults to 8_decimals when omitted.' Supplying a wrong default is worse than staying silent, so this falls below the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Evaluates') and enumerates concrete resource classes: algebraic/scientific formulas, financial NPV/IRR, Kelly criterion, and dataset stats. It explicitly names the sibling it is not (evaluate_ab_statistical_significance) so an agent can distinguish it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when ('exact arithmetic formulas, cashflow NPV/IRR, or descriptive statistics without LLM floating-point guesswork') and an explicit when-not with the alternative ('for two-sample A/B hypothesis tests... use evaluate_ab_statistical_significance instead'). This is exactly the routing information an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_boundary_test_vectorsJSON Schema & Function Signature Boundary-Value Test Vector GeneratorA
Read-onlyIdempotent

Synthesizes deterministic unit-test vectors from a JSON Schema or function signature covering valid equivalence partitions, numeric/length boundaries, and adversarial Unicode/null inputs. Use when generating exhaustive edge-case unit test payloads and fuzz vectors for an API endpoint or function; for healing and applying unified diffs or search/replace edits to source code, use apply_fuzzy_code_patch instead. Read-only edge call (32 KB, 60 RPM): accepts 'schema_or_signature_json' (with enum defaults), uses '?demo=true' or L402 (65 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
vector_suite_profileNoTest generation coverage profile; defaults to 'equivalence_boundary_and_fuzz' when omitted.
schema_or_signature_jsonYesJSON Schema object or function parameter specification to generate test vectors for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
boundary_edge_vectorsYesEdge payloads testing zero, negative, MAX_SAFE_INTEGER, and empty/max length boundaries.
total_vectors_generatedYesTotal number of deterministic test vectors produced.
valid_partition_vectorsYesValid happy-path payloads covering required and optional equivalence classes.
adversarial_fuzz_vectorsYesNegative test vectors testing missing required fields, wrong types, and Unicode/injection strings.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, yet the description adds material context beyond them: a 32 KB payload ceiling, a 60 RPM rate limit, the auth paths ('?demo=true' or L402 at 65 sats), and the HTTP 400 failure mode for invalid input. These are exactly the operational facts an agent needs and that annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the sibling exclusion are front-loaded, which is correct. The final sentence is a dense parenthetical cramming size, rate limit, auth, and error code together, so it is efficient but slightly overpacked rather than perfectly clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't describe return values, and it covers the remaining gaps an agent would care about: input size limit, throughput, payment/auth requirement, and failure behavior. Nothing needed to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters carry their own descriptions plus a default, so the schema already does the heavy lifting. The description only restates that 'schema_or_signature_json' accepts enum defaults, adding little semantic depth beyond the structured fields; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Synthesizes') and a precise resource ('deterministic unit-test vectors from a JSON Schema or function signature'), and enumerates the coverage classes (equivalence partitions, numeric/length boundaries, adversarial Unicode/null). It also explicitly distinguishes itself from the sibling apply_fuzzy_code_patch, so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use clause ('generating exhaustive edge-case unit test payloads and fuzz vectors for an API endpoint or function') and a when-not-to-use clause that names the alternative tool ('for healing and applying unified diffs ... use apply_fuzzy_code_patch instead'). No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

isolate_stacktrace_root_causeStack-Trace Root-Cause Frame Isolator & Drain Log DeduplicatorA
Read-onlyIdempotent

Parses noisy CI/terminal logs and multi-language stack traces (Node/TS, Python, Rust, Go), strips node_modules/stdlib frames to isolate the innermost failing user-code frame, and clusters repetitive logs into Drain templates. Use when triage-debugging test failures, crash dumps, or repetitive server error logs; for compressing general source code files or prose transcripts, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'raw_log' ('runtime_hint' defaults to 'auto_detect'), supports '?demo=true' or L402 (50 sats), and returns HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_logYesRaw terminal output, CI failure log, or exception traceback to analyze.
runtime_hintNoRuntime stack format hint; defaults to 'auto_detect' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
error_headlineYesExtracted primary exception class and error message.
root_cause_frameYesInnermost user-code stack frame (function_name, file, line, column).
root_cause_fingerprintYesDeterministic hash of the error class and root user frame.
deduplicated_log_templatesYesDrain-clustered log patterns with occurrence counts.
stripped_library_frames_countYesNumber of node_modules, stdlib, or internal frames filtered out.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), but the description adds operational facts beyond them: a 32 KB payload cap, 60 RPM rate limit, L402 payment (50 sats), a ?demo=true escape hatch, and an HTTP 400 failure mode. It also confirms runtime_hint defaults to auto_detect. This is meaningful operational context layered on top of the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then usage, then operational constraints. It is dense but every clause carries information; the final sentence packs rate/payment/error details that are slightly terse but still earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and annotations are rich, the description covers supports-languages, input constraints, auth/payment modes, and error behavior. Return values are correctly left to the output schema. Only minor gaps remain around size-exceeded or rate-limited recovery guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented in the schema, so the description only restates the runtime_hint default (already in the schema) and adds no syntax or format guidance for raw_log. Baseline 3 is correct when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs and resources: parses CI/terminal logs and multi-language stack traces, strips node_modules/stdlib frames to isolate the innermost failing user-code frame, and clusters logs into Drain templates. It explicitly distinguishes itself from prune_context_skeleton, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (triage-debugging test failures, crash dumps, repetitive server error logs) and names the alternative for the adjacent-but-different task (compressing source/prose → prune_context_skeleton). Both the selection condition and the exclusion are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_context_token_budgetBPE Token Budget, Attention Trough & Multi-Model Cost PlannerA
Read-onlyIdempotent

Counts subword BPE tokens across prompt segments, detects high-priority instructions trapped in the 35%–72% Lost-in-the-Middle attention trough, and calculates USD/satoshi costs across frontier LLMs. Use when auditing prompt token budgets, reordering prompt sections for primacy/recency attention, or comparing model API costs; for actively compressing and stripping low-salience lines from a single large file, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'segments_json' (with enum defaults), uses '?demo=true' or L402 (30 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
segments_jsonYesJSON string or array of prompt segments '[{"name":"sys","text":"...","priority":10}]' to analyze.
max_context_tokensNoTarget model context window limit in tokens; defaults to 128000 when omitted.
target_model_familyNoPrimary model family for token-Window calibration; defaults to 'gemini_3_1' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
within_budgetYesTrue when total_input_tokens_est fits inside available_input_budget.
total_input_tokens_estYesTotal BPE tokens summed across all prompt segments.
lost_in_the_middle_warningsYesWarnings for high-priority segments positioned in the 35%–72% attention trough.
multi_model_cost_comparisonYesEstimated USD and satoshi inference cost across 5 frontier models.
optimal_primacy_recency_orderYesRecommended segment ordering placing critical instructions at prompt boundaries.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), and the description adds substantial operational context on top: a 32 KB payload cap, a 60 RPM rate limit, the '?demo=true' or L402 (30 sats) access path, and HTTP 400 on invalid input. That is exactly the kind of constraint detail annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and every clause carries information (capabilities, triggers, alternative, constraints, error code). It is a dense semicolon-chained run-on, however, so the when-to-use versus when-not split reads less cleanly than it could.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and annotations cover the safety profile. The description fills the remaining gaps — access modes, rate/size limits, failure behavior, and the sibling boundary — so an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters and their defaults, making 3 the baseline. The description only restates that segments_json is accepted 'with enum defaults', adding almost nothing beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names three concrete operations (counting subword BPE tokens across segments, detecting instructions in the 35%–72% attention trough, computing USD/satoshi costs across frontier LLMs) with a clear verb+resource structure. It also explicitly distinguishes itself from the sibling prune_context_skeleton, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use triggers ('auditing prompt token budgets, reordering prompt sections for primacy/recency attention, or comparing model API costs') and an explicit when-not with the named alternative ('for actively compressing and stripping low-salience lines from a single large file, use prune_context_skeleton instead'). No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prune_context_skeletonAST-Aware Context Window & Source Code Skeleton PrunerA
Read-onlyIdempotent

Compresses large source files, logs, or transcripts by 50–80% to fit an LLM context budget while preserving 100% of function/class/type signatures, imports, error frames, and query-matched lines. Use when shrinking oversized source files or logs before feeding them into an LLM prompt; for counting BPE tokens across prompt segments and calculating multi-model inference costs without altering text, use plan_context_token_budget instead. Read-only edge call (32 KB, 60 RPM): accepts 'content' (with enum defaults), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesRaw source code, document, or multi-turn transcript to compress.
focus_queryNoOptional symbol or keyword query whose matching lines receive maximum retention priority.
pruning_modeNoSalience weighting preset; defaults to 'ast_signatures_first' when omitted.
target_ratioNoTarget token retention ratio between 0.15 and 0.85; defaults to 0.45 when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokens_savedYesNet BPE tokens eliminated.
preserved_symbolsYesFunction, class, interface, and struct identifiers retained.
compressed_contentYesPruned text with elision markers where low-salience lines were removed.
original_tokens_estYesEstimated BPE token count of the unpruned input.
compressed_tokens_estYesEstimated BPE token count after structural pruning.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses the compression magnitude, the 100% preservation guarantee, a 32 KB call size and 60 RPM rate limit, payment options (?demo=true or L402 at 50 sats), and the HTTP 400 failure mode. This is substantial behavioral context the annotations do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then usage and alternatives, then operational constraints. Every clause carries information, though the final sentence is densely packed with limits and auth details. Efficient and well-ordered overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. The description covers purpose, sibling routing, resource limits, authentication, and error behavior, leaving no material gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are fully documented in structured data and the baseline is 3. The description only restates 'content' and alludes to enum defaults without adding semantics the schema lacks. No compensation is required, but no value is added either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compresses) and resource (source files, logs, transcripts) with a concrete outcome (50–80% reduction while preserving signatures, imports, error frames). It explicitly distinguishes itself from the sibling plan_context_token_budget, which does token counting without altering text. An agent can identify the tool's function without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition ('shrinking oversized source files or logs before feeding them into an LLM prompt') and names the alternative with the contrasting condition (counting BPE tokens/costs without altering text). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rerank_hybrid_rag_chunksOkapi BM25 + Reciprocal Rank Fusion (RRF) + MMR Chunk RerankerA
Read-onlyIdempotent

Reranks and deduplicates candidate RAG or search chunks against a query using Okapi BM25 (k1=1.5, b=0.75), Reciprocal Rank Fusion (RRF), and Maximal Marginal Relevance (MMR) Jaccard diversity filtering. Use when selecting the top-K highest-signal, non-redundant passages from vector search or grep results; for compressing a single contiguous source file while keeping its original line order, use prune_context_skeleton instead. Read-only edge call (32 KB, 60 RPM): accepts 'query' ('documents_json' defaults to 'standard'), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTechnical search query or question used to score candidate chunks.
top_kNoMaximum number of deduplicated chunks to return; defaults to 5 when omitted.
ranking_modeNoFusion weighting between lexical BM25 and diversity penalty; defaults to 'bm25_rrf_mmr' when omitted.
documents_jsonYesJSON string or array of candidate chunks '[{"id":"c1","text":"..."}]' to rerank.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYesEvaluated search query.
ranked_chunksYesOrdered top-K chunks with bm25_score, rrf_score, and mmr_score.
returned_countYesNumber of deduplicated top-K chunks returned.
total_candidatesYesNumber of input candidate chunks scored.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive, but the description adds real extra context: 32 KB payload cap, 60 RPM rate limit, auth path (demo=true or L402 at 50 sats), and HTTP 400 on invalid input. These operational constraints are not encoded anywhere else.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the algorithm and pipeline purpose, then usage routing, then operational constraints — good ordering. It is dense and jargon-heavy (k1, b, RRF, MMR, L402), but nearly every clause carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema and rich annotations present, the description needn't explain return values, and it covers scope, routing, rate limits, and auth. The only gap is the inaccurate 'documents_json defaults to standard' note, which contradicts the required-parameter declaration and could confuse an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all four parameters, including the ranking_mode enum and top_k default. The description adds little beyond algorithm context, and its stray claim that 'documents_json defaults to standard' conflicts with the schema marking it required, which could mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('reranks and deduplicates candidate RAG or search chunks') and names the exact algorithmic pipeline (BM25, RRF, MMR). It explicitly differentiates from the sibling prune_context_skeleton, so an agent can select it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit when-to-use ('selecting top-K highest-signal, non-redundant passages from vector search or grep results') and a when-to-use-otherwise routing to prune_context_skeleton for the contiguous-file case. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_critical_path_tasksCritical Path Method (CPM) DAG & Resource Constraint SchedulerA
Read-onlyIdempotent

Solves a task dependency DAG via the Critical Path Method (CPM) to compute ES/EF/LS/LF, Total Float/Slack, optimal makespan, and the Critical Path. Use when scheduling dependent engineering milestones or workflow steps to find the minimum project duration and zero-slack bottleneck path; for detecting circular code imports and file blast radius without task durations, use audit_module_dependency_cycles instead. Read-only edge call (32 KB, 60 RPM): accepts 'tasks_json' ('time_unit' defaults to 'minutes'), supports '?demo=true' or L402 (80 sats), and returns HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
time_unitNoDuration unit label attached to the schedule; defaults to 'hours' when omitted.
tasks_jsonYesJSON string or array of tasks '[{"id":"t1","duration":3,"dependencies":[]}]' to schedule.

Output Schema

ParametersJSON Schema
NameRequiredDescription
total_tasksYesNumber of DAG tasks scheduled.
critical_pathYesOrdered task IDs with zero slack that determine the overall project duration.
task_scheduleYesPer-task earliest_start, earliest_finish, latest_start, latest_finish, and total_float_slack.
optimal_makespan_durationYesMinimum total duration required to complete all tasks.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered; the description goes further with operational context: 32 KB payload cap, 60 RPM rate limit, ?demo=true, L402 pricing (80 sats), and HTTP 400 on invalid input. It does not state whether the payment path or demo mode changes results, a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then usage routing, then operational constraints in a single dense sentence. It is information-packed and every clause earns its place, though the trailing parenthetical cramming rate limit, payload size, payment, and error codes is a bit dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description covers purpose, routing, cost/auth, and limits. The one gap is the contradictory default for 'time_unit', which leaves an agent unsure of the effective default when the field is omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3, but the description actively misleads: it says 'time_unit' defaults to 'minutes' while the schema states it 'defaults to hours when omitted.' That is a direct conflict on the default value, which is exactly the kind of detail an agent would rely on when omitting the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (solves) plus resource (task dependency DAG) and enumerates the concrete outputs (ES/EF/LS/LF, float, makespan, critical path). It explicitly names the sibling it is not (audit_module_dependency_cycles), so an agent can separate the two without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use trigger ('scheduling dependent engineering milestones or workflow steps to find the minimum project duration and zero-slack bottleneck path') and an explicit when-not with the named alternative for durationless import/blast-radius analysis. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_monte_carlo_riskSeeded Mulberry32 Monte Carlo Percentile, VaR & Tail-Risk SimulatorA
Read-onlyIdempotent

Runs a reproducible seeded Mulberry32 Monte Carlo simulation over uncertain cost, latency, or duration variables to compute P10/P50/P90/P95 percentiles, Value-at-Risk (VaR), and CVaR. Use when modeling stochastic uncertainty, tail risk (VaR/CVaR), and probability of meeting a budget or SLA target; for evaluating deterministic single-point algebraic formulas or exact NPV/IRR cashflows, use evaluate_deterministic_math instead. Read-only edge call (32 KB, 60 RPM): accepts 'variables_json' (with enum defaults), uses '?demo=true' or L402 (70 sats); HTTP 400 if invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
variables_jsonYesJSON array of stochastic variables (e.g. name, min, mode, max) to simulate.
distribution_modelNoProbability distribution family applied to each variable; defaults to 'triangular_pert' when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
percentilesYesComputed p10, p50_median, p90, p95, and p99 outcome distribution percentiles.
trials_executedYesNumber of seeded Monte Carlo trials executed.
value_at_risk_95Yes95% Value-at-Risk (VaR_95) threshold.
conditional_tail_expectation_95Yes95% Conditional Tail Expectation (CVaR_95 / Expected Shortfall) across the worst 5% of trials.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds substantial operational context beyond them: deterministic/reproducible seeding, a 32 KB payload cap, a 60 RPM rate limit, auth via ?demo=true or L402 (70 sats), and an HTTP 400 failure mode for invalid input.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and output list are front-loaded, followed by routing guidance, with operational details last. The final sentence is dense, packing rate limit, auth, payment, and error handling into one line, but each clause conveys useful information so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers the remaining gaps: reproducibility, limits, payment path, and error condition. For a two-parameter, well-annotated simulation tool, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, making 3 the baseline. The description only restates that variables_json carries 'enum defaults' and adds nothing about distribution_model meaning or format that the schema does not already convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (runs a simulation) and resource (seeded Mulberry32 Monte Carlo over uncertain cost/latency/duration variables), and names the concrete outputs (P10/P50/P90/P95, VaR, CVaR). It also names the sibling it is not (evaluate_deterministic_math), so an agent can distinguish it without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('modeling stochastic uncertainty, tail risk, probability of meeting a budget or SLA target') and an explicit exclusion with an alternative ('for evaluating deterministic single-point algebraic formulas or exact NPV/IRR cashflows, use evaluate_deterministic_math instead'). The routing decision is fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updatesv0.1.0
    • First observedanalyze_ast_symbol_graph
    • First observedapply_fuzzy_code_patch
    • First observedaudit_module_dependency_cycles
    • First observedcompile_polyglot_type_schemas
    • First observeddetect_openapi_breaking_changes
    • First observeddiff_agent_memory_checkpoint
    • First observedevaluate_ab_statistical_significance
    • First observedevaluate_deterministic_math
    • First observedgenerate_boundary_test_vectors
    • First observedisolate_stacktrace_root_cause
    • First observedplan_context_token_budget
    • First observedprune_context_skeleton
    • First observedrerank_hybrid_rag_chunks
    • First observedschedule_critical_path_tasks
    • First observedsimulate_monte_carlo_risk

TDQS

A4.5/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a clearly distinct operation (compression, token budgeting, reranking, patching, AST analysis, dependency cycles, stacktrace triage, type generation, math, scheduling, A/B stats, schema diffing, test vectors, Monte Carlo, state diffing). Descriptions explicitly cross-reference the nearest neighbor ('for X, use Y instead'), resolving the only potential overlaps like prune_context_skeleton vs rerank_hybrid_rag_chunks or analyze_ast_symbol_graph vs audit_module_dependency_cycles.

Naming Consistency5/5

All 15 tools follow a consistent snake_case verb_noun (or verb_qualifier_noun) pattern: prune_context_skeleton, compile_polyglot_type_schemas, simulate_monte_carlo_risk, diff_agent_memory_checkpoint. No camelCase mixing or vague single-word verbs; names fully describe the action and target.

Tool Count5/5

15 tools sits at the upper end of the well-scoped 3-15 range, and each tool maps to a genuinely distinct, non-redundant capability. No filler tools or near-duplicates inflate the surface.

Completeness4/5

The 'context engineering / code analysis' domain is well covered across compression, budgeting, patching, static analysis, stats, and scheduling with no obvious dead ends. Minor gaps exist (e.g. no embedding/search or sandboxed execution step), but core workflows are workable end-to-end.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a set of micro-tools (time calculation, regex, encoding, JSON diff, etc.) for LLM agents to handle deterministic, precision tasks that models often get wrong.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables autonomous infrastructure diagnostics, log root-cause analysis, and safe code patching via tools for querying logs, inspecting Python AST, and applying git-safe patches.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides exact, deterministic tools for math, dates, units, validation, and more to AI agents, returning precise answers with explicit assumptions and warnings instead of model guesses.
    MIT