MCP Hub
Back to servers

OathScore

Real-time world state and independent API quality ratings (0-100) for AI trading agents. Exchange status, volatility (VIX/VVIX/SKEW), economic events, and data source reliability — 8 tools.

glama
Forks
1
Updated
Mar 4, 2026

OathScore

Every API makes promises. OathScore checks the receipts.

The trust layer for AI agents. Two products:

  1. /now — A single endpoint returning the current state of the world for trading agents. Exchange status, volatility, events, regime, data health — one call.
  2. OathScore Ratings — Independent, continuous verification of data API accuracy, uptime, freshness, and reliability. The credit bureau for data APIs.

For AI Agents

# What's happening right now?
curl https://api.oathscore.dev/now

# Should I trust this data source?
curl https://api.oathscore.dev/score/curistat

# Compare two sources
curl https://api.oathscore.dev/compare?apis=curistat,alphavantage

For MCP-Compatible Agents (Claude Code, Cursor, etc.)

{
  "mcpServers": {
    "oathscore": {
      "command": "python",
      "args": ["-m", "oathscore_mcp"]
    }
  }
}

Requires: pip install httpx mcp[cli] and clone this repo.

MCP Tools

ToolDescription
get_nowCurrent world state: exchanges, volatility, events, data health
get_exchangesOpen/close status for 7 exchanges with next transition times
get_volatilityVIX, VIX9D, VIX3M, VVIX, SKEW, term structure
get_eventsNext event, FOMC/CPI countdowns, week high-impact count
get_scoreOathScore rating for a specific API (0-100 composite + grade)
compare_apisSide-by-side comparison of two or more data APIs
get_alertsActive degradation alerts for monitored APIs
check_healthService health and data freshness

What OathScore Monitors

For each rated API:

MetricWeightHow Measured
Accuracy35%Compare forecasts/claims to actual outcomes daily
Uptime20%Synthetic monitoring every 60 seconds
Freshness15%Is "real-time" actually real-time?
Latency15%P50/P95/P99 from multiple regions
Schema stability5%Detect breaking changes
Documentation5%OpenAPI spec, llms.txt, examples
Trust signals5%Published accuracy data, response signing

Rated APIs (v1)

APICategoryScoreStatus
CuristatFutures volatility--Monitoring
Alpha VantageEquities/macro--Monitoring
Polygon.ioMarket data--Monitoring
FinnhubMulti-asset--Monitoring
Twelve DataMarket data--Monitoring
EODHDHistorical data--Monitoring
Financial Modeling PrepFundamentals--Monitoring

Scores populate after 30 days of monitoring data.

Machine-Readable Discovery

Pricing

Tier/now CallsScore QueriesPrice
Free10/day5/day$0
Founding (first 50)5,000/day2,500/day$9/mo (lifetime)
Pro10,000/day5,000/day$29/mo
Enterprise100,000/day50,000/day$99/mo
Pay-per-request (x402)UnlimitedUnlimited$0.001-0.005/call

x402 micropayments: No signup needed. Agents pay per request with USDC stablecoins via the x402 protocol. When rate limited, the API returns 402 Payment Required with payment instructions.

API audits: Independent 7-day quality audit of your API — $299-499. Contact us.

Architecture

[Monitoring Service - Railway $5/mo]
  Every 60s: ping all rated APIs (uptime, latency)
  Every 5m: check data freshness
  Every 1h: record forecast snapshots
  Every 24h: compare forecasts to actuals (accuracy)
  Store: Supabase (free tier)

[/now Endpoint - Cloudflare Workers $0/mo]
  Every 60s: fetch VIX, compute exchange status, read events
  Serve: cached JSON, max-age=30, ETag support

[Scoring Engine - Cloudflare Workers $0/mo]
  Every 5m: recompute composite scores from raw metrics
  Serve: /score, /compare, /alerts endpoints

Integration Examples

CrewAI

from crewai import Agent, Task
from crewai_tools import MCPTool

# Connect to OathScore MCP
oathscore = MCPTool(server_command="python -m oathscore_mcp")

analyst = Agent(
    role="Market Analyst",
    tools=[oathscore],
    goal="Assess current market conditions before trading"
)

task = Task(
    description="Check if markets are open and get current volatility regime",
    agent=analyst
)

LangChain

from langchain_mcp import MCPToolkit

toolkit = MCPToolkit(server_command="python -m oathscore_mcp")
tools = toolkit.get_tools()

# Use in any LangChain agent
from langchain.agents import initialize_agent
agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
agent.run("What's the current VIX level and are US markets open?")

Direct HTTP (any language)

import httpx

# World state in one call
now = httpx.get("https://api.oathscore.dev/now").json()
print(f"VIX: {now['volatility']['vix']}")
print(f"CME: {'OPEN' if now['exchanges']['CME']['is_open'] else 'CLOSED'}")
print(f"Next event: {now['events']['next_event']}")

# API quality check before committing to a data source
score = httpx.get("https://api.oathscore.dev/score/polygon").json()
if score.get("composite_score", 0) < 70:
    print("Warning: data source quality below threshold")

Claude Desktop / Claude Code

Add to your MCP config (~/.claude/mcp.json or Claude Desktop settings):

{
  "mcpServers": {
    "oathscore": {
      "command": "python",
      "args": ["-m", "oathscore_mcp"]
    }
  }
}

Then ask Claude: "What's the current market state?" or "How reliable is Alpha Vantage?"


If this is useful, star the repo — it helps others find it.

License

Proprietary. All rights reserved.

Reviews

No reviews yet

Sign in to write a review