x402-ema
EMA: Calculate the Exponential Moving Average (EMA) of a price series. Provide values array and optional period (default 14).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period to process | |
| values | No | Values to process |
EMA: Calculate the Exponential Moving Average (EMA) of a price series. Provide values array and optional period (default 14).
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period to process | |
| values | No | Values to process |
Changes observed during successful MCP inspections.
Input schema / properties / periodAdded value: +{
+ "description": "Period to process",
+ "type": "string"
+}Input schema / properties / valuesAdded value: +{
+ "description": "Values to process",
+ "type": "string"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only the period default (14). It never states the return shape (single scalar EMA vs. full EMA series), how the series is seeded, or input size limits. For a zero-annotation tool this is a meaningful gap.
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?
Two sentences with no filler, and the core operation plus the required input are front-loaded. It could be tightened further but nothing is wasted.
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 simple deterministic computation this is roughly adequate, but with no output schema and no annotations the description leaves the return value completely unspecified, and the description/schema type mismatch on 'values' is left unresolved. An agent can call it, but cannot anticipate what comes back.
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?
Schema coverage is 100%, so the baseline is 3, but the description adds genuinely new meaning by disclosing the default period value (14), which the schema does not state. It is slightly undercut by calling 'values' an 'array' while the schema types it as a string, which is a minor inconsistency rather than resolved clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource -- 'Calculate the Exponential Moving Average (EMA) of a price series' -- which is concrete and unambiguous. It implicitly distinguishes itself from sibling tools like x402-sma and x402-moving-average by naming the EMA variant, though it never explicitly routes the agent between them.
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?
It says to 'Provide values array and optional period' but gives no guidance on when to use EMA versus the many sibling smoothing/MA tools (x402-sma, x402-moving-average, x402-exponential-smoothing, x402-macd). No prerequisites, exclusions, or alternative-selection logic are offered.
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.