sodax_refresh_cache
Clear both the backend API cache and the solver oracle cache to force fresh fetches on next requests. Reports the number of entries cleared per cache.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Clear both the backend API cache and the solver oracle cache to force fresh fetches on next requests. Reports the number of entries cleared per cache.
| 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?
The description states which caches are cleared and that it reports the number of entries cleared per cache. It does not contradict the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false). It adds value beyond annotations by specifying the exact caches affected and the reporting behavior.
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?
The description is a single, concise sentence that conveys all necessary information without redundancy. Every clause earns its place.
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?
For a zero-parameter cache-clearing tool, the description fully covers what it does, which caches are affected, and what the output will be (number of entries cleared). No output schema exists, but the description accounts for that by describing the return behavior. No important context is missing.
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?
The tool has zero parameters, so parameter semantics are trivially handled. Baseline 4 is appropriate because the description does not need to compensate for any schema gaps.
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 clearly states the tool clears two specific caches (backend API cache and solver oracle cache) to force fresh fetches. This is a specific verb+resource combination that distinguishes it from the many get_ tools in the sibling list, which are read-only operations.
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 ('to force fresh fetches on next requests'), providing clear context for its intended use. However, it does not explicitly mention when not to use it or name alternative tools, though no sibling seems to offer equivalent cache-clearing functionality.
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.
Most tools target distinct resources, but several clusters overlap heavily: supply-related endpoints (circulating_supply, total_supply, token_supply) and money-market list endpoints (money_market_assets, money_market_tokens, money_market_reserve_assets) could lead an agent to pick the wrong one. The detailed descriptions help, but the boundaries are not always obvious from names alone.
The dominant sodax_get_* pattern is highly consistent, with sodax_relay_* and docs_* subnamespaces clearly separated. Minor deviations like docs_health (missing a verb) and sodax_refresh_cache (outside the get_ convention) prevent a perfect score, but the overall naming is predictable and readable.
At 37 tools, this is a very large surface for an MCP server, even though it spans several subdomains like money market, swaps, relay, and docs. Many endpoints are near variations of each other and could be consolidated or split into separate servers, making the set feel heavier than necessary.
The server covers the core SODAX read surface comprehensively: chains, configs, tokens, money market positions, solvers, volume, transactions, and relay packets. The main gaps are minor, such as no all-suppliers counterpart to all-borrowers and no atomic way to fetch a single chain config by ID, but these are workable.