Skip to main content
Glama
forgemeshlabs

coinopai-mcp

coinopai-mcp

M8ven Verified

npm version npm downloads License: MIT Node.js payments network

Auditable market context with calibrated forecast ranges and outcome verification.

Source: https://github.com/forgemeshlabs/coinopai-mcp

An MCP server that lets AI agents buy Kronos market context with x402 micropayments on Base. Kronos is not a buy/sell oracle: it gives agents calibrated ranges, risk context, decision journals, and audit records they can verify.

This repo is the MCP client layer; paid intelligence is served from hosted CoinOpAI x402 endpoints.

Weak calls and wrong calls are shown too. That's the point.

Why Kronos Is Different

Most market APIs stop after returning a direction. Kronos leads with calibrated ranges and risk context, then assigns a decision_id so every decision can be audited against future market behavior.

The moat is the audit loop:

preflight -> decision -> audit

Trust the process less. Verify the record more.


Related MCP server: @praveen030686/data-apis-mcp

Architecture

┌──────────────────────────────────┐
│   Claude Code / AI Agent         │
└──────────────┬───────────────────┘
               │  MCP (stdio)
               ▼
┌──────────────────────────────────┐
│        coinopai-mcp              │
│    npx coinopai-mcp              │
└──────────────┬───────────────────┘
               │  HTTP + 402 payment header
               ▼
┌──────────────────────────────────┐
│      x402.coinopai.com           │
│   Kronos intelligence API        │
└──────────────┬───────────────────┘
               │
               ▼
┌──────────────────────────────────┐
│   Coinbase x402 Facilitator      │
│   USDC settled on Base mainnet   │
└──────────────────────────────────┘

The agent calls a tool → the MCP server receives an HTTP 402 → automatically signs a USDC micropayment → retries with the payment header → data returned. Configure once, pay automatically from the configured low-balance wallet.

Current package: coinopai-mcp@1.2.10.

Settlement note: the MCP pins @x402/core and @x402/evm to 2.11.0 and signs EIP-3009 authorizations with a chain-aware timestamp. This avoids the Base RPC/facilitator clock-skew failure mode where a payment can be rejected as "authorization is not yet valid" or "valid before expired". Successful object responses include x402 settlement metadata under _payment, including the on-chain transaction hash when available.


The Auditable Loop ($0.27/cycle)

check_trade_preflight  ──→  get_crypto_decision  ──→  [wait 1h]  ──→  audit_trade_decision
       $0.05                      $0.15                                      $0.07

   Market state?             Directional context              Outcome record
   Cooldown context?         Confidence context               Direction held?
   Regime context?           + decision_id                    Verdict
   Data freshness?           + audit hint                     + pnl_pct

Every decision is self-verifying. The decision_id links the setup to the outcome. The audit fetches real market prices and produces a verdict. Nothing is hidden.

Current Status

Live

  • Model context

  • Risk assessment

  • Decision journaling

  • Outcome verification

  • Forecast: conformally-calibrated 80% price range (~0.80 empirical coverage)

Research

  • Directional edge: none demonstrated in backtest (~51% accurate) — the calibrated range is the validated product, not the direction

  • Forecast vs execution agreement analysis: collecting evidence

The calibrated forecast range is live and validated (conformal, ~0.80 coverage). Directional values are supporting context, not standalone trade instructions. Use them with the calibrated range, risk state, and audit record.

Directional Context

Value

Meaning

Positive

Bullish model context

Negative

Bearish model context

0.00-0.01

Weak magnitude

0.01-0.03

Moderate magnitude

0.03+

Strong magnitude

Directional values are supporting context, not guarantees, human recommendations, or standalone trade instructions. Use them with the calibrated range, risk state, and audit record.


Real Output

Step 1 — Preflight (BTC, $0.05)

{
  "allowed": true,
  "symbol": "BTC/USD",
  "market_state": "NORMAL",
  "signal_strength": "weak_or_mixed",
  "regime": "TREND",
  "cooldown_remaining_seconds": 0
}

Step 2 — Decision (BTC, $0.15)

{
  "symbol": "BTC/USD",
  "directional_bias": "upward",
  "confidence": 0.514,
  "compliance_mode": "market_intelligence_only",
  "regime": "TREND",
  "decision_id": "a3f8c1d2-9472-4dfe-b459-5df17b282614",
  "directional_edge": "none_demonstrated",
  "why_not_high": [
    "Directional confidence is capped by observed historical accuracy, not boosted by signal magnitude."
  ],
  "next_step": "Call audit_trade_decision with this decision_id after 1h using window=1h"
}

Step 3 — Audit (1h later, $0.07)

{
  "decision_id": "a3f8c1d2-9472-4dfe-b459-5df17b282614",
  "direction_held": true,
  "pnl_pct": 0.82,
  "verdict": "GOOD_DECISION"
}

Audit verdicts include GOOD_DECISION, BAD_DIRECTION, NOISE, NO_ACTION_TAKEN, and PENDING. Kronos gets some right, gets some wrong, and exposes both through the same record.

Fresh audits can return pending_window until the evaluation window matures.


Tools

Tool

What it does

Cost

Affiliate

check_trade_preflight

Gate check: market allowed, cooldown, regime, model context

$0.05

get_crypto_decision

Probabilistic decision journal + decision_id

$0.15

audit_trade_decision

Verify against real prices: verdict + PnL%

$0.07

get_crypto_signals

Model context for BTC, ETH, SOL, XRP, ADA

$0.05

get_crypto_signal_history

Up to 168h of context history for analysis

$0.05

get_crypto_forecast

Conformally-calibrated 80% price range (~0.80 empirical coverage) for BTC, ETH, SOL, XRP, ADA

$0.05

review_signal_anomaly

Score signal features for unusual conditions; returns review labels, drivers, and component scores

$0.07

get_crypto_risk

Market risk state and cooldown context

$0.02

search_agent_automations

Search 819 agent automation prompts

$0.01

get_agent_automation

Full prompt + workflow steps by slug

$0.01

list_automation_categories

All 35 automation categories with counts

$0.005

No API keys. No subscriptions. Pay per call in USDC.


Install

Claude Code

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "coinopai": {
      "command": "npx",
      "args": ["-y", "coinopai-mcp"],
      "env": {
        "WALLET_PRIVATE_KEY": "0x<your-base-wallet-private-key>"
      }
    }
  }
}

Restart Claude Code. The tools appear automatically.

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "coinopai": {
      "command": "npx",
      "args": ["-y", "coinopai-mcp"],
      "env": {
        "WALLET_PRIVATE_KEY": "0x<your-base-wallet-private-key>"
      }
    }
  }
}

Smithery

Not currently listed on Smithery. Use the npx install flow shown above until a verified public listing is live.

Developer smoke-test note

When testing the published package with an MCP stdio harness, do not launch npx coinopai-mcp@... from inside the coinopai-mcp source checkout. npm can prefer the local package context and fail before the temporary bin is available. Test from another directory, or install into a temp project and launch ./node_modules/.bin/coinopai-mcp.

Registry status

Prepared MCP Registry identity: io.github.forgemeshlabs/coinopai-mcp. Refresh the public directory submission after publishing this package so old clawdbotworker entries stop being canonical.


Get a Wallet

  1. Install Coinbase Wallet or any EVM wallet

  2. Switch to Base network

  3. Buy or bridge USDC ($1 = ~3 full verified cycles)

  4. Use a dedicated low-balance Base wallet for agent payments and provide its private key locally via environment variable.

Your wallet key stays local. It never leaves your machine. Each payment is a signed micropayment — not a blanket approval.


Agent Code Example

// Step 1 — gate check ($0.05)
const pre = await mcp.call("check_trade_preflight", { symbol: "BTC" })
if (!pre.allowed) return  // cooldown, bad regime, or stale data

// Step 2 — get decision journal ($0.15)
const dec = await mcp.call("get_crypto_decision", { symbol: "BTC" })

// Store the decision_id — you'll need it to close the loop
const { decision_id, directional_bias, confidence } = dec

// Optional — review a feature set for anomaly context ($0.07)
const anomaly = await mcp.call("review_signal_anomaly", {
  symbol: "BTC",
  window: "24h",
  features: {
    price_change: 0.018,
    volume_change: 0.42,
    volatility: 0.031,
    signal_confidence: 72,
    risk_score: 31
  }
})
// review_label: "normal_review" | "review" | "elevated_review" | "critical_review"

// Step 3 — audit 1 hour later ($0.07)
const audit = await mcp.call("audit_trade_decision", {
  decision_id,
  window: "1h"
})
// verdict: "GOOD_DECISION" | "BAD_DIRECTION" | "NOISE"
console.log(audit.verdict, audit.pnl_pct + "%")

Every decision response includes a next_step field — your agent always knows when and how to audit.

Symbol unavailable? If a symbol isn't in the current Kronos cycle:

{
  "status": "UNAVAILABLE_THIS_CYCLE",
  "available_symbols": ["BTC/USD", "ETH/USD", "XRP/USD"],
  "retry_hint_seconds": 900
}

Route to an available symbol or wait 15 minutes for the next cycle.


Payment Stack

Component

Value

Protocol

x402

Scheme

ExactEvmScheme (EIP-3009 transferWithAuthorization)

Network

Base mainnet (eip155:8453)

Token

USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)

Facilitator

Coinbase

Client SDK pins

@x402/core@2.11.0, @x402/evm@2.11.0

Receipt metadata

Successful object responses include _payment


Affiliate Attribution (via Pyrimid)

High-value tools accept an optional affiliate_id parameter. When provided, payment routes through the Pyrimid affiliate network — the affiliate earns a commission split from within the listed price. No extra cost to the caller.

How the split works

Direct call (no affiliate_id):
  Caller pays $0.15  →  CoinOpAI receives $0.15

Affiliate call (affiliate_id present):
  Caller pays $0.15  →  CoinOpAI: 79.2% ($0.1188)
                      →  Affiliate: 19.8% ($0.0297)
                      →  Protocol:   1.0% ($0.0015)

The buyer always pays the listed price. The split comes out of the vendor's portion.

Usage

Pass affiliate_id in any supporting tool call:

// As an agent or user
await mcp.call("get_crypto_decision", {
  symbol: "BTC",
  affiliate_id: "af_youraffiliateID"
})

Building a wrapper? Set it once via env

If you're building an agent framework, MCP wrapper, or automation that embeds CoinOpAI tools, set your affiliate ID as an environment variable. Every call through your wrapper earns you a commission automatically.

{
  "mcpServers": {
    "coinopai": {
      "command": "npx",
      "args": ["-y", "coinopai-mcp"],
      "env": {
        "WALLET_PRIVATE_KEY": "0x<agent-wallet-key>",
        "PYRIMID_AFFILIATE_ID": "af_<your-affiliate-id>"
      }
    }
  }
}

The tool-level affiliate_id argument takes precedence over the env var. Callers can always override.

Without an affiliate_id

Normal x402 flow — CoinOpAI receives 100% of the listed price. Nothing changes for the caller.


Disclaimer

Decision outputs are probabilistic context and journal entries for experimental automated workflows only. Not financial advice. Directional bias alone has not been validated as a standalone trading strategy. Results will vary. Never risk capital you can't afford to lose.


Part of the ForgeMesh Ecosystem

Infrastructure for monetized agent ecosystems.

Package

What

Install

affiliate-router-mcp

Vendor-neutral monetization routing

npm i affiliate-router-mcp

coinopai-mcp

Paid crypto intelligence (this package)

npm i coinopai-mcp

forgemesh-imagegen

Paid image generation MCP

npm i forgemesh-imagegen

Each package works standalone. No shared dependency required.


License

MIT — see LICENSE

Available Tools

11 tools
audit_trade_decisionA

The accountability step. Verify a Kronos decision_id against later market prices. Returns whether direction held, PnL%, and a verdict: GOOD_DECISION, BAD_DIRECTION, NOISE, or NO_ACTION_TAKEN. Costs $0.07 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
windowNoEvaluation window: 1h, 4h, or 24h (default: 4h)
decision_idYesUUID from a previous get_crypto_decision call
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the monetary cost ($0.07 USDC) and the return format (direction, PnL%, verdicts). However, it does not specify whether the operation is read-only, what happens if the decision_id is invalid, or any authentication requirements.

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 extremely concise—two sentences and a brief verdict list. Every word adds value: purpose, cost, return types. No redundancy or 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?

Given no output schema, the description adequately covers return values (direction, PnL%, verdicts). It also mentions cost as a contextual factor. However, it lacks details on error handling or what happens when the decision_id doesn't exist, which would be helpful for completeness.

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

Parameters4/5

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

Schema description coverage is 100%, but the description adds valuable context: decision_id is a 'UUID from a previous get_crypto_decision call', window has a default and options, affiliate_id is optional with cost clarification. This enhances understanding beyond the parameter descriptions.

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's purpose: 'Verify a Kronos decision_id against later market prices.' It uses a specific verb ('verify') and resource ('decision_id') and distinguishes from siblings like get_crypto_decision by focusing on post-hoc verification.

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

Usage Guidelines3/5

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

The phrase 'The accountability step' implies usage after a decision is made, but no explicit when-to-use or when-not-to-use guidance is provided. Alternatives (e.g., get_crypto_decision) are not mentioned, and there are no exclusions or prerequisites.

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

check_trade_preflightA

Step 1 of the auditable decision loop. Checks market state, cooldown, data freshness, and model context before calling get_crypto_decision. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesSymbol to check: BTC, ETH, SOL, XRP, or ADA
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the cost ($0.05 USDC) and what checks are performed, but does not mention idempotency, failure behavior, or side effects.

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?

Two concise sentences with front-loaded purpose, zero wasted words. Cost information is efficiently integrated.

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?

The description covers key aspects for a preflight check tool, but lacks details on return values or output structure given no output schema. Otherwise complete for its complexity.

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%, and the description adds no significant meaning beyond the schema's descriptions. The listed symbol values and affiliate ID explanation are already present in 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?

The description clearly defines the tool as 'Step 1 of the auditable decision loop' and lists specific checks (market state, cooldown, data freshness, model context), distinguishing it from siblings like get_crypto_decision.

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 explicitly positions the tool as the first step before calling get_crypto_decision, providing clear usage context. However, it does not exclude alternative tools or state when not to use it.

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

get_agent_automationB

Get the full agent automation prompt and workflow steps by slug. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesAutomation slug (e.g. 'slack-to-notion')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only mentions a cost of $0.01 USDC, which is a behavioral trait, but does not disclose any other side effects, permissions, or limitations.

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?

Two sentences, no redundant information. The action and resource are front-loaded. Every word contributes value.

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

Completeness3/5

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

For a simple getter with one parameter and no output schema, the description is basic but adequate. It conveys what is returned and the cost. However, it could mention that the slug must be known or that this is for exact retrieval, especially given sibling search tools.

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% as the only parameter 'slug' is described with an example. The description adds no additional meaning beyond the schema, so baseline of 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?

The description clearly states the verb 'Get' and the specific resource 'full agent automation prompt and workflow steps by slug'. It distinguishes from sibling tools like search_agent_automations and list_automation_categories.

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

Usage Guidelines2/5

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

The description lacks guidance on when to use this tool versus alternatives. No exclusions, prerequisites, or context are provided. The only extra info is the cost, which does not help with usage decisions.

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

get_crypto_decisionA

Create a market-intelligence journal entry from Kronos context. Returns directional_bias, confidence context, compliance metadata, regime, anomaly/calibration context, and a decision_id. Call audit_trade_decision with that ID after the evaluation window to see what happened. Costs $0.15 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesSymbol to evaluate: BTC, ETH, SOL, XRP, or ADA
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses a monetary cost ($0.15 USDC) and implies a creation side effect. It does not explicitly state idempotency or side effects beyond journal entry creation, but the cost disclosure adds significant transparency.

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 four concise sentences, each adding distinct value: purpose, return fields, follow-up action, and cost. No wasted words, effectively front-loaded.

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 2-parameter tool with no output schema and no annotations, the description covers purpose, behaviors (cost, creation), and a usage hint. It lacks explanation of 'Kronos context' and does not differentiate explicitly from siblings, but overall it is reasonably complete.

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

Parameters4/5

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

Schema coverage is 100%, providing basic parameter info. The description adds value by explaining the affiliate_id's commission mechanism ('no extra cost to you'). This extra semantic detail justifies a score above 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?

The description clearly states the tool creates a market-intelligence journal entry and lists the return fields. It distinguishes itself from siblings like get_crypto_signals or get_crypto_risk by focusing on creating an entry with a decision ID for later auditing.

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

Usage Guidelines3/5

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

The description instructs to call audit_trade_decision after the evaluation window, providing some guidance on follow-up. However, it lacks explicit direction on when to use this tool vs siblings like check_trade_preflight or get_crypto_signals.

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

get_crypto_forecastA

Conformally-calibrated price forecast: an honest 80% prediction interval (range_80, ~0.80 empirical coverage) plus point return and upside probability for BTC/ETH/SOL/XRP/ADA. Directional bias is supporting context; the calibrated range is the validated product. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoSymbol: BTC, ETH, SOL, XRP, ADA (default: BTC)
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses the calibrated nature ('honest 80% prediction interval'), the cost, and that directional bias is supporting context. It could mention rate limits or authentication, but for a forecast tool, it is sufficiently transparent about behavior.

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?

Every sentence is informative and no wasted words. The description is front-loaded with the key output type and then expands on specifics. It earns its space efficiently.

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 no output schema, the description adequately describes return values (range_80, point return, upside probability) and the empirical coverage. It omits error conditions or authentication details, but for a simple read-like tool with optional parameters, it is largely complete.

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

Parameters4/5

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

Schema covers both parameters 100%. Description adds value beyond schema by explaining the cost, the calibrated interval, and that affiliate_id earns commission without extra cost. This enriches the meaning of the parameters for the agent.

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 uses specific verbs and resources: 'Conformally-calibrated price forecast' and lists exact outputs (80% prediction interval, point return, upside probability). It clearly distinguishes from sibling tools like get_crypto_signals and get_crypto_decision by emphasizing the calibrated range and cost.

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?

Provides clear context: directional bias is supporting but the calibrated range is the validated product, and costs $0.05 USDC. While it doesn't explicitly state when NOT to use it or name alternatives, it implies suitability for probabilistic price forecasting versus other signal or decision tools.

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

get_crypto_riskA

Current market risk state and cooldown context for Kronos decisions. Useful as supporting context, not a standalone trading command. Costs $0.02 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

Discloses the financial cost of $0.02 USDC, which is a key behavioral trait in the absence of annotations. However, it does not explain what 'cooldown context' means or any potential side effects, leaving some ambiguity.

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?

Two concise sentences front-load the purpose and usage guidance. Every sentence provides value without unnecessary 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?

Given the tool has no parameters and no output schema, the description covers the key aspects: what it returns (risk state and cooldown context), cost, and usage context. Missing details like authentication or rate limits are not critical for a context-only tool.

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

Parameters4/5

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

No parameters exist, so the input schema provides 100% coverage. The description does not need to add parameter semantics, and the baseline score of 4 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?

Describes the tool as providing 'current market risk state and cooldown context' for Kronos decisions, clearly distinguishing it from sibling tools like get_crypto_decision or get_crypto_forecast. The description explicitly states it is 'not a standalone trading command,' reinforcing its specific role.

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 the tool is 'useful as supporting context, not a standalone trading command,' providing clear guidance on when to use it. Also mentions the cost ($0.02 USDC), helping the agent decide if it's worth invoking.

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

get_crypto_signal_historyA

Recent Kronos context history for BTC/ETH/SOL/XRP/ADA. Use it to inspect model context and freshness before or after a decision. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNoHours of history to fetch (default 24, max 168)
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses important behavioral details: costs '$0.05 USDC' and specifies the data covers 'recent' history for five assets. It does not mention read-only status or rate limits, but the non-destructive nature is implied.

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 extremely concise, using two sentences to convey purpose, usage, and cost. It is front-loaded with the key information about what the tool provides.

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 no output schema, the description could elaborate on return format or fields, but it covers the essentials: asset list, timeframe ('recent'), and cost. It is sufficient for a simple history-fetching tool with clear input parameters.

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 baseline is 3. The description does not add extra meaning beyond what the schema provides for 'hours' and 'affiliate_id'. The schema already explains both parameters adequately.

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 provides 'Recent Kronos context history' for specific assets (BTC/ETH/SOL/XRP/ADA) and the action is to 'inspect model context and freshness'. It distinguishes itself from siblings like get_crypto_signals and get_crypto_decision by focusing on historical context.

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 gives explicit usage guidance: 'Use it to inspect model context and freshness before or after a decision.' It implies the context of decision-making but does not explicitly state when not to use it or mention alternative tools.

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

get_crypto_signalsA

Latest Kronos model context for BTC, ETH, SOL, XRP, ADA. Directional values are supporting context, not standalone trade instructions; use them with the calibrated range, risk state, and audit record. Costs $0.05 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
affiliate_idNoOptional Pyrimid affiliate ID (af_xxxxx). Affiliate earns a commission from within the listed price — no extra cost to you.

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses cost ($0.05 USDC) and that outputs are supporting context. However, it lacks details on authentication, rate limits, or response structure. Simple tool but incomplete transparency.

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?

Two sentences, each essential: first states the tool's core output, second adds usage caveat and cost. No filler, perfectly front-loaded.

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

Completeness3/5

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

Lacks output schema, and description is vague about exact output fields ('directional values', 'Kronos model context'). Doesn't explain 'audit record' or 'calibrated range' references. Adequate for a simple tool but incomplete for rich output.

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

Parameters4/5

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

Schema coverage is 100% for the single optional parameter. The description adds meaning by explaining the affiliate ID's purpose ('affiliate earns commission') and cost implication, going beyond the schema's basic description.

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 provides 'Latest Kronos model context for BTC, ETH, SOL, XRP, ADA,' specifying a verb and resource with explicit asset list. It distinguishes from siblings like get_crypto_decision by emphasizing 'supporting context, not standalone trade instructions.'

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 explicitly says to use directional values 'with the calibrated range, risk state, and audit record,' providing integration guidance. It does not explicitly exclude alternatives, but the context is clear enough for an agent to decide when to use this tool.

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

list_automation_categoriesA

List all 35 automation categories with counts. Costs $0.005 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, description only states listing and cost. No disclosure of safety (read-only), rate limits, pagination, or output behavior. Basic with significant gaps.

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?

Two sentences, front-loaded with purpose and key detail (35 categories, counts, cost). No unnecessary words.

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

Completeness3/5

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

Despite no parameters and low complexity, lacks explanation of what 'counts' means (e.g., count of automations per category) and output format minimal for a listing tool.

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

Parameters4/5

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

No parameters present (schema coverage 100% trivially). Description adds no parameter info since none exist, but per guidelines baseline is 4 for zero-parameter tools.

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?

Description clearly states 'List all 35 automation categories with counts', providing a specific verb (list), resource (automation categories), and quantitative detail (35 with counts). This distinguishes it from sibling tools like search_agent_automations.

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

Usage Guidelines3/5

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

Includes cost ($0.005 USDC) as usage context but lacks explicit when-to-use, when-not-to-use, or comparisons with siblings. Usage is implied as a simple listing operation.

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

review_signal_anomalyA

Score a market signal feature set for unusual conditions before downstream analysis. Returns anomaly_score, anomaly_level, review_label, drivers, component scores, and market-intelligence disclaimers. Not financial advice and not a market activity instruction. Costs $0.07 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesSymbol to review, e.g. BTC, ETH, SOL, XRP, ADA, AAPL, SPY
windowNoObservation window label, e.g. 24h (default: 24h)
featuresYesNumeric feature values to score, such as price_change, volume_change, volatility, signal_confidence, risk_score, social_velocity, or onchain_velocity.

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It lists returned fields and includes a cost disclaimer ($0.07 USDC), which is helpful. However, it does not explicitly state if the tool is read-only or if there are side effects. Since it is a scoring function, the lack of explicit read-only hint is 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.

Conciseness5/5

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

The description is three sentences long, with the first sentence stating the core purpose, the second listing return values, and the third adding legal and cost information. It is front-loaded and every sentence adds value.

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

Completeness3/5

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

No output schema exists, so the description must cover return values. While it lists return fields (anomaly_score, anomaly_level, etc.), it does not explain their types or structure (e.g., what are 'drivers' or 'component scores'?). Also, the 'features' parameter is a complex nested object with many possible keys; the description provides no guidance beyond the schema examples.

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 baseline is 3. The description adds minimal additional meaning beyond the schema, only summarizing the parameters. It does not clarify the format or allowed values for the 'features' nested object, which is a complex 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?

The description clearly states what the tool does: 'Score a market signal feature set for unusual conditions before downstream analysis.' It specifies the verb (score), resource (market signal feature set), and context (before downstream analysis). It distinguishes from sibling tools like get_crypto_risk or get_crypto_signals by focusing on anomaly detection in feature sets.

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

Usage Guidelines3/5

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

The description implies when to use ('before downstream analysis') but does not explicitly state when not to use it or provide alternatives among sibling tools. No comparison with tools like audit_trade_decision or check_trade_preflight, which are closely related.

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

search_agent_automationsA

Search 819 agent automation prompts by keyword. Returns matching automations with title, description, complexity and services. Costs $0.01 USDC.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default 20, max 50)
queryYesSearch keyword (e.g. 'slack', 'notion', 'github')

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It adds value by disclosing the monetary cost ($0.01 USDC) and return fields. However, it omits whether the operation is read-only and if there are any side effects or rate limits.

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?

Two sentences with no wasted words: first states purpose, second lists returns and cost. Front-loaded with the key action and scope.

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?

Covers purpose, return fields, and cost. Lacks details on pagination behavior beyond the limit parameter, ordering, or error handling, but sufficient for a straightforward search tool.

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% with clear descriptions for both parameters. Description adds minimal extra context (e.g., 'keyword' example) but does not significantly enhance understanding 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?

The description clearly states it searches automation prompts by keyword and specifies return fields (title, description, complexity, services). It distinguishes from sibling tools like get_agent_automation (single automation) and list_automation_categories (categories).

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

Usage Guidelines3/5

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

Usage is implied for keyword-based searches, but no explicit guidance on when to use vs. alternatives like get_agent_automation for a specific automation, nor any when-not-to-use conditions.

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. 1 tool updatev1.2.10
    • Addedreview_signal_anomaly
  2. 1 tool update
    • Addedget_crypto_forecast
  3. 9 tool updatesv1.2.6
    • First observedaudit_trade_decision
    • First observedcheck_trade_preflight
    • First observedget_agent_automation
    • First observedget_crypto_decision
    • First observedget_crypto_risk
    • First observedget_crypto_signal_history
    • First observedget_crypto_signals
    • First observedlist_automation_categories
    • First observedsearch_agent_automations

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation5/5

All tools have clearly distinct purposes within two coherent groups (trading analysis workflow and automation catalog). Descriptions explicitly differentiate each tool's role, e.g., check_trade_preflight vs get_crypto_decision vs audit_trade_decision, eliminating ambiguity.

Naming Consistency5/5

Tools follow a consistent snake_case convention with action-based prefixes (get_, audit_, check_, list_, review_, search_). The naming pattern is predictable and transparent, making it easy for an agent to infer functionality.

Tool Count5/5

11 tools is well-scoped for the server's dual purpose of crypto trading analysis and automation prompt retrieval. Each tool has a specific function without unnecessary duplication, and the count falls comfortably in the optimal range.

Completeness5/5

The trading tools cover the full auditable decision loop: preflight check, decision, forecast, risk, signal history, anomaly review, and post-trade audit. The automation tools provide listing, searching, and retrieval. No obvious gaps within the stated domain.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-powered crypto signal intelligence for 20 assets (BTC, ETH, SOL, etc). 6 scoring dimensions: whale activity, technical analysis, derivatives flow, narrative strength, sentiment, market structure. Market regime detection (TRENDING/RANGING), portfolio optimization, and accuracy tracking. 9 read-only MCP tools. Free via MCP, $0.001 USDC via x402 on Base for REST API.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    22 MCP tools for AI agents: crypto prices and trading signals (53 coins), stock prices and company financials, forex rates and conversion, and web scraping with AI summaries. All powered by x402 USDC micropayments on Base. $0.01-$0.25 per request.
    22
    19
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    56 pay-per-call MCP endpoints for AI agents. Market signals, macro economics, crypto/DeFi, geopolitical intelligence, SEC filings, GitHub velocity, sanctions screening. USDC on Base Mainnet via x402.
    -