coinopai-mcp
coinopai-mcp lets an AI agent buy per-call Kronos crypto market intelligence and automation prompt data with x402 USDC micropayments on Base.
Search and retrieve 819 agent automation prompts, get full workflows by slug, and list 35 automation categories ($0.005–$0.01 per call).
Get Kronos model context/signals, market risk state/cooldown context, and up to 168h of signal history for BTC, ETH, SOL, XRP, and ADA ($0.02–$0.05 per call).
Run an auditable decision loop: preflight-check a symbol, create a decision journal entry with a decision_id, then audit that decision later for direction held, PnL%, and verdict ($0.05–$0.15 per call).
Get conformally calibrated 80% crypto price forecast ranges plus point return and upside probability ($0.05 per call).
Score a market signal feature set for unusual conditions, returning anomaly score, review label, drivers, and component scores ($0.07 per call).
Some tools accept an optional affiliate_id; all calls are paid per use in USDC via x402, with no API keys.
coinopai-mcp
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 -> auditTrust 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@2.2.3.
Settlement note: the MCP pins @x402/core and @x402/evm to 2.11.0. 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_pctEvery 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 |
| Gate check: market allowed, cooldown, regime, model context | $0.05 |
| Probabilistic decision journal + | $0.15 |
| Verify against real prices: verdict + PnL% | $0.07 |
| Model context for BTC, ETH, SOL, XRP, ADA | $0.05 |
| Up to 168h of context history for analysis | $0.05 |
| Conformally-calibrated 80% price range (~0.80 empirical coverage) for BTC, ETH, SOL, XRP, ADA | $0.05 |
| Futures. Live perp funding, mark/index, open interest, crowding (Kraken Futures + Hyperliquid) | $0.02 |
| Futures. Will this side / leverage / entry survive the calibrated range? Liquidation distance + verdict | $0.05 |
| Futures. LONG / SHORT / FLAT with stop and target on the calibrated range, leverage cap, liquidation, sizing, funding cost | $0.15 |
| Score signal features for unusual conditions; returns review labels, drivers, and component scores | $0.07 |
| Market risk state and cooldown context | $0.02 |
| Search 819 agent automation prompts | $0.01 |
| Full prompt + workflow steps by slug | $0.01 |
| 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
Install Coinbase Wallet or any EVM wallet
Switch to Base network
Buy or bridge USDC ($1 = ~3 full verified cycles)
Use a dedicated low-balance Base wallet for agent payments and provide its private key locally via environment variable.
Payment safeguards. The server only signs for the CoinOpAI payee wallet on Base mainnet, in USDC, at or below $0.15 per call and $10 per session. It refuses any other payee, network, asset, or amount before signing. Env X402_MAX_PRICE_USD and X402_SESSION_BUDGET_USD can only lower these caps. The server talks only to https://x402.coinopai.com (no redirects, 60s timeout, 2 MB response cap). Use a dedicated, low-balance wallet.
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 | |
Scheme | ExactEvmScheme (EIP-3009 |
Network | Base mainnet ( |
Token | USDC ( |
Facilitator | Coinbase |
Client SDK pins |
|
Receipt metadata | Successful object responses include |
Sponsored cards (Lulu Ads)
Free-tier tool responses may carry a single disclosed sponsored card from Lulu Ads. It is a plain, labelled data field on the JSON result — never text the model could read as an instruction:
{
"results": [...],
"sponsored": { "label": "Sponsored", "text": "...", "url": "https://..." }
}Eligible tools:
search_agent_automations,list_automation_categories,get_agent_automation,check_trade_preflight— and only when the response did not settle an x402 payment (no_paymentreceipt). A paid response never carries a card.Current state: one tool is free —
list_tools(a plain fetch of/menu, no wallet, no payment) — so that is the only tool where a card can render today. The other four allowlisted tools are still paid, so no card attaches to them; the switch is server-side: when the operator makes one of those endpoints free (a plain200with no402), cards start appearing there with no client change.Paid tools never carry it:
get_crypto_signals,get_crypto_risk,get_crypto_signal_history,get_crypto_decision,audit_trade_decision,get_crypto_forecast,review_signal_anomaly,get_futures_decision,get_perp_funding,check_futures_risknever touch the ads SDK.Strip it:
delete result.sponsored.Where the card comes from: ForgeMesh's own publisher card is attached server-side to
GET https://x402.coinopai.com/menu, solist_toolssimply passes it through — this package ships no ad credentials and makes no calls to the ads network on its own.Operator env vars (forks only):
LULU_ADS_PUBLISHER_IDandLULU_ADS_API_KEYlet a fork attach its own publisher card client-side (both required; if either is missing the package makes zero calls to the ads network and responses are unchanged).LULU_ADS_ENABLED=falseis a kill switch.Fail-open: any SDK error or timeout (hard budget 2s) returns the original response unchanged. The only external host contacted is
ads.getlulu.dev.
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 |
Vendor-neutral monetization routing |
| |
coinopai-mcp | Paid crypto intelligence (this package) |
|
Paid image generation MCP |
|
Each package works standalone. No shared dependency required.
License
MIT — see LICENSE
Available Tools
11 toolsaudit_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.
Inputs: decision_id (required), window, affiliate_id.
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.
Inputs: symbol (required), affiliate_id.
get_agent_automationB
Get the full agent automation prompt and workflow steps by slug. Costs $0.01 USDC.
Inputs: slug (required).
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.
Inputs: symbol (required), affiliate_id.
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.
Inputs: symbol, affiliate_id.
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.
Inputs: no named parameters.
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.
Inputs: hours, affiliate_id.
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.
Inputs: affiliate_id.
list_automation_categoriesA
List all 35 automation categories with counts. Costs $0.005 USDC.
Inputs: no named parameters.
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.
Inputs: symbol (required), features (required), window.
search_agent_automationsA
Search 819 agent automation prompts by keyword. Returns matching automations with title, description, complexity and services. Costs $0.01 USDC.
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
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.
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.
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.
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
Related MCP Connectors
Pay-per-call crypto signals, token verdicts, flows & briefs. x402 USDC on Base. Signal-only.
Pay-per-call data tools for AI agents: crypto signal, web reader, SEO audit. x402 USDC on Base.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Regime-aware ES1/NQ futures trading signals. HMM + 15 quant strategies. x402 USDC micropayments.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-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.3MIT
- AlicenseAqualityDmaintenance22 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.2219 npmMIT
- FlicenseNot gradedqualityDmaintenance56 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.-

hyperd-mcpofficial
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.23113 npm1MIT