Skip to main content
Glama
Aether-Grid

@sentimentracker/signals-mcp

by Aether-Grid

Multi indicator confluence

get_signal_confluence
Read-onlyIdempotent

Run multiple indicators on one symbol and return a compact confluence table of latest BUY/SELL signals, enabling quick agreement checks.

Instructions

Run N indicators in parallel against the same (symbol, resolution) and return a compact confluence table. Each row: indicator key, displayName, signalKind, latest signal side (BUY/SELL/null), latest signal ts (ms), error (if any). The LLM judges agreement from the table — there's no built-in voting rule. Max 20 indicators per call; unknown keys fail the whole call before any fetch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYes
providerNo
indicatorsYes
resolutionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: max 20 indicators per call, unknown keys fail the whole call before any fetch, and there's no built-in voting rule. It also discloses the return structure (rows with indicator key, displayName, signalKind, latest signal side, ts, error). This goes beyond 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.

Conciseness5/5

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

The description is compact and front-loaded. The first sentence states the core function, the second details the output structure, and the third covers constraints and failure behavior. Every sentence earns its place with no fluff.

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?

For a read-only, idempotent tool with no output schema, the description covers the return format, the key behavioral constraints (max 20, fail-fast on unknown keys), and the interpretation guidance (LLM judges agreement). The only gap is the undocumented 'provider' parameter, which is optional and has an enum in the schema, so the agent can infer valid values. Overall, the description is nearly complete 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 0%, so the description must compensate. The description explains the 'indicators' parameter implicitly by describing the table rows and the max 20 limit, and it mentions (symbol, resolution) as the shared context. However, it doesn't explain the 'provider' parameter at all, and the schema itself lacks descriptions for symbol, resolution, and provider. The description adds some meaning but leaves the provider parameter undocumented.

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?

The description clearly states the tool runs N indicators in parallel against the same (symbol, resolution) and returns a compact confluence table. It distinguishes itself from siblings by emphasizing the parallel multi-indicator nature and the absence of a built-in voting rule, which is a key differentiator from get_indicator_signal.

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

Usage Guidelines4/5

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

The description implies when to use this tool: when you need confluence across multiple indicators. It explicitly states the LLM judges agreement from the table, which guides the agent on how to use the output. However, it doesn't explicitly name alternatives like get_indicator_signal for single-indicator queries, though the sibling list makes this inferable.

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