<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: laguia</title>
    <description>The latest articles on DEV Community by laguia (@laguia).</description>
    <link>https://dev.to/laguia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3806246%2F090cb412-65d7-4382-9daa-8290c7efcb7a.png</url>
      <title>DEV Community: laguia</title>
      <link>https://dev.to/laguia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/laguia"/>
    <language>en</language>
    <item>
      <title>I Built 2 Production MCP Servers — Here's What I Learned</title>
      <dc:creator>laguia</dc:creator>
      <pubDate>Mon, 09 Mar 2026 05:22:52 +0000</pubDate>
      <link>https://dev.to/laguia/i-built-2-production-mcp-servers-heres-what-i-learned-1lc</link>
      <guid>https://dev.to/laguia/i-built-2-production-mcp-servers-heres-what-i-learned-1lc</guid>
      <description>&lt;h1&gt;
  
  
  I Built 2 Production MCP Servers — Here's What I Learned
&lt;/h1&gt;

&lt;p&gt;Most MCP tutorials stop at "hello world." Here's what happens when you build the real thing.&lt;/p&gt;

&lt;p&gt;I've built two production MCP (Model Context Protocol) servers over the past few months:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OathScore&lt;/strong&gt; — 8 tools for AI trading agents. Real-time exchange status, volatility data, economic events, API quality ratings. Live at &lt;a href="https://api.oathscore.dev/now" rel="noopener noreferrer"&gt;api.oathscore.dev&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Curistat&lt;/strong&gt; — 10 tools for volatility forecasting. Regime detection, directional signals, session planning. Launching March 2026.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both are built with Python, FastMCP, and FastAPI. Both are deployed on Railway. Both are listed in MCP directories. Here's everything I learned that the tutorials don't tell you.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Tool Design Matters More Than Code
&lt;/h2&gt;

&lt;p&gt;The hardest part of building an MCP server isn't the code — it's deciding what the tools should be.&lt;/p&gt;

&lt;p&gt;AI agents read your tool descriptions to decide when to call them. If the description is vague, the agent won't use it. If you make too many tools, the agent gets confused. Too few, and it can't do anything useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What worked:&lt;/strong&gt; One "dashboard" tool that returns everything in a single call. OathScore's &lt;code&gt;get_now&lt;/code&gt; combines exchange status, volatility, events, and data health into one response. An agent asks "what's happening in markets?" and gets a complete answer without chaining 4 separate calls.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nd"&gt;@mcp.tool&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Get current world state: exchange status, volatility
    (VIX/VVIX/SKEW/term structure), economic event countdowns,
    and data health. One call replaces 4-6 separate API calls.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;_get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/now&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The rule:&lt;/strong&gt; If an agent would always call tools A, B, and C together, combine them into one tool. Agents are better at using fewer, richer tools than many granular ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Docstrings Are Your API Contract
&lt;/h2&gt;

&lt;p&gt;The tool's docstring is the only thing an AI agent sees before deciding to call it. This is your API documentation, marketing copy, and user manual in one string.&lt;/p&gt;

&lt;p&gt;Bad:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_data&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Get data.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Good:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Get OathScore quality rating for a specific API.
    Available APIs: curistat, alphavantage, polygon, finnhub,
    twelvedata, eodhd, fmp. Returns composite score (0-100),
    letter grade, and component breakdown.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The good version tells the agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What APIs are valid inputs&lt;/li&gt;
&lt;li&gt;What the response looks like&lt;/li&gt;
&lt;li&gt;What the score means&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I rewrote every docstring 3-4 times before agents used them reliably.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Return JSON Strings, Not Objects
&lt;/h2&gt;

&lt;p&gt;MCP tools return strings. Always return &lt;code&gt;json.dumps(data, indent=2)&lt;/code&gt; — not raw dicts, not plain text, not markdown.&lt;/p&gt;

&lt;p&gt;Why: Agents can parse JSON reliably. They struggle with unstructured text. And &lt;code&gt;indent=2&lt;/code&gt; makes it readable when the agent shows it to the user.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Do this
&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;score&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;85&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;grade&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;B+&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Not this
&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The score is 85 (B+)&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. HTTP Clients Need Timeouts
&lt;/h2&gt;

&lt;p&gt;This sounds obvious but I shipped without it once. An upstream API hung for 30 seconds, which froze the MCP tool, which froze the agent, which froze the user's Claude Desktop.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;_client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;httpx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;15 seconds is generous. Most API calls finish in 1-2 seconds. If it takes longer than 15, something is wrong and the agent should get an error, not hang.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Deployment: Docker + Railway Is the Fastest Path
&lt;/h2&gt;

&lt;p&gt;My stack for both servers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; python:3.12-slim&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; requirements.txt .&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--no-cache-dir&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . .&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; uvicorn src.main:app --host 0.0.0.0 --port ${PORT:-8000}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Railway auto-deploys on git push. $5/month for a hobby project. Custom domain with Cloudflare DNS. The whole deploy pipeline took an afternoon to set up.&lt;/p&gt;

&lt;p&gt;For MCP specifically, the server needs to support both:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;stdio transport&lt;/strong&gt; — for Claude Desktop (local)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP transport&lt;/strong&gt; — for remote agents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FastMCP handles both out of the box.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Get Listed in Directories Early
&lt;/h2&gt;

&lt;p&gt;MCP directories are how agents discover your server. I submitted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Glama&lt;/strong&gt; (glama.ai/mcp/servers) — approved, biggest directory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;awesome-mcp-servers&lt;/strong&gt; (GitHub) — PR submitted&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mcp.so&lt;/strong&gt; — submitted&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mcpservers.org&lt;/strong&gt; — submitted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Glama was the most impactful. They verify your server actually works (Docker build, tool inspection) which gives you credibility.&lt;/p&gt;

&lt;p&gt;Submit early, even before your server is "done." The review process takes days, and you want to be listed when buyers are searching.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Billing Is a Separate Problem (and Worth Solving)
&lt;/h2&gt;

&lt;p&gt;OathScore has three monetization layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Free tier&lt;/strong&gt; — rate-limited (10 calls/day for /now, 5/day for /score)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stripe API keys&lt;/strong&gt; — $9/month founding member pricing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;x402 micropayments&lt;/strong&gt; — pay-per-request with USDC (for agents with wallets)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The x402 layer is the interesting one. As AI agents get their own wallets, they'll pay for data directly without human intervention. OathScore is ready for that future.&lt;/p&gt;

&lt;p&gt;If you're building an MCP server for a client, billing is where the real engineering challenge is — not the MCP tools themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. What I'd Do Differently
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with 3 tools, not 8.&lt;/strong&gt; I over-built OathScore's first version. Half the tools were decomposed views of the same data (&lt;code&gt;get_exchanges&lt;/code&gt;, &lt;code&gt;get_volatility&lt;/code&gt;, &lt;code&gt;get_events&lt;/code&gt; are all subsets of &lt;code&gt;get_now&lt;/code&gt;). Start small, add tools when agents actually need them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write the docstrings first.&lt;/strong&gt; Before any code, write the tool names and descriptions. Share them with someone (or an AI) and ask "would you know when to use each of these?" If not, redesign.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test with Claude Desktop from day one.&lt;/strong&gt; Don't wait until the server is "ready." Deploy a single working tool and test the full loop: Claude Desktop config → tool discovery → tool call → response. Finding integration bugs early saves days.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Template
&lt;/h2&gt;

&lt;p&gt;I extracted a starter template from OathScore: &lt;a href="https://github.com/moxiespirit/mcp-server-template" rel="noopener noreferrer"&gt;mcp-server-template&lt;/a&gt;. It has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5 example tools showing common patterns&lt;/li&gt;
&lt;li&gt;2 standalone examples (weather API, SQLite database)&lt;/li&gt;
&lt;li&gt;Dockerfile for production deployment&lt;/li&gt;
&lt;li&gt;Claude Desktop integration config&lt;/li&gt;
&lt;li&gt;pyproject.toml for pip installation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building your first MCP server, start there instead of from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Source
&lt;/h2&gt;

&lt;p&gt;OathScore is open source: &lt;a href="https://github.com/moxiespirit/oathscore" rel="noopener noreferrer"&gt;github.com/moxiespirit/oathscore&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hit the live API right now: &lt;a href="https://api.oathscore.dev/now" rel="noopener noreferrer"&gt;api.oathscore.dev/now&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I build production MCP servers for companies and developers who need AI agents to access their APIs and data. If you need one built, &lt;a href="https://www.fiverr.com/s/P299wPE" rel="noopener noreferrer"&gt;find me on Fiverr&lt;/a&gt; or &lt;a href="https://github.com/moxiespirit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>python</category>
      <category>api</category>
    </item>
    <item>
      <title>State of Financial Data APIs -- March 2026: How Agent-Ready Is Your Data Provider?</title>
      <dc:creator>laguia</dc:creator>
      <pubDate>Thu, 05 Mar 2026 05:08:24 +0000</pubDate>
      <link>https://dev.to/laguia/state-of-financial-data-apis-march-2026-how-agent-ready-is-your-data-provider-44f2</link>
      <guid>https://dev.to/laguia/state-of-financial-data-apis-march-2026-how-agent-ready-is-your-data-provider-44f2</guid>
      <description>&lt;p&gt;AI agents are the fastest-growing consumers of financial data APIs. They need machine-readable docs, predictable auth, stable schemas, and honest rate limits. We audited 10 of the most popular financial data APIs to find out which ones are ready for the agent era -- and which ones are still stuck in 2022.&lt;/p&gt;

&lt;p&gt;This is Report #1 in a monthly series from &lt;a href="https://api.oathscore.dev" rel="noopener noreferrer"&gt;OathScore&lt;/a&gt;. Starting in April, we'll publish full composite quality scores (0-100) based on 30 days of continuous monitoring. This report covers what we found while building the monitoring system.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 10 APIs We Audited
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alpha Vantage&lt;/strong&gt; -- Equities, macro, forex (25 req/day free, from $49.99/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polygon.io / Massive&lt;/strong&gt; -- Market data (5 req/min free, from $29/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finnhub&lt;/strong&gt; -- Multi-asset, calendar, alt data (60 req/min free, from ~$50/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Twelve Data&lt;/strong&gt; -- Market data, forex, crypto (8 req/min free, from $29/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EODHD&lt;/strong&gt; -- Historical data (20 req/day free, from EUR 19.99/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Financial Modeling Prep&lt;/strong&gt; -- Fundamentals (250 req/day free, from $19/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FRED&lt;/strong&gt; -- Federal Reserve economic data (120 req/min free, 800K+ series)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CoinGecko&lt;/strong&gt; -- Crypto market data (30 req/min free Demo, from $129/mo Pro)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alpaca Markets&lt;/strong&gt; -- Stocks, options, crypto trading + data (200 req/min free)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yahoo Finance (yfinance)&lt;/strong&gt; -- Equities, options, fundamentals (unofficial, no API key)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Finding #1: Only 2 Out of 10 Have llms.txt
&lt;/h2&gt;

&lt;p&gt;The llms.txt standard lets AI agents understand what an API does without reading HTML documentation. It's the equivalent of a README for machines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CoinGecko has it.&lt;/strong&gt; Full &lt;code&gt;llms.txt&lt;/code&gt; and &lt;code&gt;llms-full.txt&lt;/code&gt; at docs.coingecko.com. This is the gold standard -- structured context designed for LLM consumption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alpaca has it&lt;/strong&gt; -- though theirs is more of a sitemap pointing to product pages and community forums than a machine-readable API spec.&lt;/p&gt;

&lt;p&gt;The other 8 return 404. Financial data providers are still largely invisible to AI agents unless hard-coded.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #2: MCP Servers Are the New Competitive Moat
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) server adoption is surprisingly strong:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CoinGecko&lt;/strong&gt; -- Official (Beta), 76+ tools, SSE + HTTP streaming&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alpaca&lt;/strong&gt; -- Official, 50+ tools across trading + market data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polygon / Massive&lt;/strong&gt; -- Official, 35+ tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FMP&lt;/strong&gt; -- Official, 250+ tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Twelve Data&lt;/strong&gt; -- Official, WebSocket streaming&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EODHD&lt;/strong&gt; -- Official, OAuth 2.1&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alpha Vantage&lt;/strong&gt; -- Official&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finnhub&lt;/strong&gt; -- Community only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FRED&lt;/strong&gt; -- Community only (2+ implementations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yahoo Finance&lt;/strong&gt; -- Community only (5+ wrappers around yfinance)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;All 10&lt;/strong&gt; have MCP servers. CoinGecko leads with 76+ tools and a hosted MCP endpoint. Alpaca's 50+ tools cover the full trading lifecycle. If you're building a trading agent in 2026 and your data provider doesn't have an MCP server, you're doing extra work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #3: The Agent Discovery Stack Is Mostly Empty
&lt;/h2&gt;

&lt;p&gt;We checked 5 standard discovery files (OpenAPI, llms.txt, ai-plugin.json, robots.txt, security.txt).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CoinGecko is the clear leader&lt;/strong&gt; with an official OpenAPI spec, llms.txt, and robots.txt (3/5). Alpaca matches with official OpenAPI (4 files!), llms.txt, and robots.txt. Polygon has 3/5 with community OpenAPI, ai-plugin.json, and robots.txt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nobody has all 5.&lt;/strong&gt; And security.txt adoption is zero across financial data APIs.&lt;/p&gt;

&lt;p&gt;FMP still returns 403 Forbidden on most standard paths. Yahoo Finance has zero discovery infrastructure because it isn't an official API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #4: Free Tiers Are Wildly Inconsistent
&lt;/h2&gt;

&lt;p&gt;The range is enormous:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;API&lt;/th&gt;
&lt;th&gt;Rate Limit&lt;/th&gt;
&lt;th&gt;Daily/Monthly Cap&lt;/th&gt;
&lt;th&gt;Real-Time?&lt;/th&gt;
&lt;th&gt;Gotcha&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Alpaca&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;200 req/min&lt;/td&gt;
&lt;td&gt;No cap&lt;/td&gt;
&lt;td&gt;IEX only (single exchange)&lt;/td&gt;
&lt;td&gt;SIP data delayed 15 min on free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FRED&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;120 req/min&lt;/td&gt;
&lt;td&gt;No cap&lt;/td&gt;
&lt;td&gt;N/A (economic data)&lt;/td&gt;
&lt;td&gt;All 800K+ series free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Finnhub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;60 req/min&lt;/td&gt;
&lt;td&gt;No daily cap&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Paid pricing not public&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CoinGecko&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;30 req/min&lt;/td&gt;
&lt;td&gt;10,000/month (Demo)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Burns through in ~5.5 hours at max rate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Twelve Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;8 req/min&lt;/td&gt;
&lt;td&gt;800/day&lt;/td&gt;
&lt;td&gt;US equities only&lt;/td&gt;
&lt;td&gt;Credit system on paid tiers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FMP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;300 req/min (paid)&lt;/td&gt;
&lt;td&gt;250/day&lt;/td&gt;
&lt;td&gt;EOD only&lt;/td&gt;
&lt;td&gt;Hidden 500MB bandwidth cap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Alpha Vantage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;5 req/min&lt;/td&gt;
&lt;td&gt;25/day&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Agent checking 3 symbols hourly burns it by lunch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EODHD&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;--&lt;/td&gt;
&lt;td&gt;20/day&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;1-year max, demo tickers only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Yahoo Finance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~6 req/min&lt;/td&gt;
&lt;td&gt;~950 tickers/session&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Can break without notice, sessions expire in 10-20 min&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;FRED is the most generous overall&lt;/strong&gt; -- 120 requests/minute with no cap and access to every series. All 800,000+ data points are free because it's a public service of the Federal Reserve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alpaca is the most generous for market data&lt;/strong&gt; -- 200 req/min with no daily cap, though the free tier only gets IEX exchange data (not the full consolidated tape).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yahoo Finance is the riskiest&lt;/strong&gt; -- no official API means no guarantees. Yahoo actively tightens anti-scraping measures. The yfinance library has had recurring outages from crumb rotation and session invalidation. Don't build production systems on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #5: Auth Is Simple But Not Standardized
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;APIs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Header only (most secure)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Alpaca (&lt;code&gt;APCA-API-KEY-ID&lt;/code&gt; + &lt;code&gt;APCA-API-SECRET-KEY&lt;/code&gt;), CoinGecko (&lt;code&gt;x-cg-demo-api-key&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Header or query param&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Polygon, Finnhub, Twelve Data, FMP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Query param only&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Alpha Vantage (&lt;code&gt;apikey=&lt;/code&gt;), EODHD (&lt;code&gt;api_token=&lt;/code&gt;), FRED v1 (&lt;code&gt;api_key=&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;No auth / session-based&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yahoo Finance (cookie + crumb), CoinGecko (public tier)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FRED v2 (new)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Header only (&lt;code&gt;Authorization: Bearer&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;For agents, header-based auth is better&lt;/strong&gt; -- it keeps keys out of URLs (which get logged, cached, and shared). Alpaca requires it. CoinGecko recommends it. FRED's new v2 API switched to it.&lt;/p&gt;

&lt;p&gt;No provider uses OAuth for data access (good for agents).&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #6: The Crypto and Macro Gaps Are Closing
&lt;/h2&gt;

&lt;p&gt;A year ago, crypto and macroeconomic data were underserved by agent-friendly APIs. That's changing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CoinGecko&lt;/strong&gt; now has the most agent-ready crypto API -- official MCP with 76+ tools, llms.txt, OpenAPI spec, and a hosted MCP endpoint. Covers 15,000+ coins plus DEX data via GeckoTerminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FRED&lt;/strong&gt; provides the entire US macroeconomic dataset for free with generous rate limits. The November 2025 v2 API launch added bulk retrieval and header auth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alpaca&lt;/strong&gt; bridges trading and data -- its MCP server covers both market data queries and order execution, which is unique. An agent can check a price and place a trade through the same interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding #7: Polygon Rebranded and Nobody Noticed
&lt;/h2&gt;

&lt;p&gt;Polygon.io became &lt;strong&gt;Massive&lt;/strong&gt; in October 2025. api.polygon.io still works, but the brand, pricing page, and new features are all at massive.com. If your agent config says "polygon.io", update it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Agent-Readiness Scorecard
&lt;/h2&gt;

&lt;p&gt;Scored on discovery, auth, free tier, MCP, and docs (5 points each, 25 max):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;API&lt;/th&gt;
&lt;th&gt;Discovery&lt;/th&gt;
&lt;th&gt;Auth&lt;/th&gt;
&lt;th&gt;Free Tier&lt;/th&gt;
&lt;th&gt;MCP&lt;/th&gt;
&lt;th&gt;Docs&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CoinGecko&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;22&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Polygon/Massive&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;21&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alpaca&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;21&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Finnhub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;19&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Twelve Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;19&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FRED&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;17&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FMP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;17&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Alpha Vantage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;13&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EODHD&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;11&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yahoo Finance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;CoinGecko takes the top spot&lt;/strong&gt; at 22/25 -- the only API with llms.txt, an official hosted MCP server with 76+ tools, header auth, and interactive docs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alpaca and Polygon tie for second&lt;/strong&gt; at 21/25. Alpaca's unique advantage is combining data and trading in one MCP server. Polygon has the best docs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FRED scores 17/25&lt;/strong&gt; -- dragged down by discovery (no official OpenAPI or llms.txt) despite having the most generous free tier of any API in this list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yahoo Finance trails at 7/25&lt;/strong&gt; -- no official API, no auth system, no discovery, no stability guarantees. It exists because it's free and covers everything, but an agent that depends on it will break.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means for Agent Developers
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check for MCP first.&lt;/strong&gt; All 10 providers have them. This is the fastest path to integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CoinGecko is the model to follow.&lt;/strong&gt; llms.txt + hosted MCP + OpenAPI + interactive docs. Other providers should take notes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't trust free tier marketing.&lt;/strong&gt; "Free" ranges from 200 req/min (Alpaca) to 20 req/day (EODHD).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use header auth when available.&lt;/strong&gt; Keeps keys out of logs. Alpaca requires it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't build production on yfinance.&lt;/strong&gt; It works until it doesn't, with no warning and no recourse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget for paid tiers.&lt;/strong&gt; Most free tiers are demo-grade. Alpaca ($9/mo) or Polygon ($29/mo) at minimum for production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch for Polygon-&amp;gt;Massive migration.&lt;/strong&gt; Update configs and documentation references.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Coming in April
&lt;/h2&gt;

&lt;p&gt;Starting in April, we publish full OathScore quality ratings (0-100) based on 30 days of continuous monitoring across all rated APIs: accuracy (35%), uptime (20%), freshness (15%), latency (15%), schema stability (5%), documentation (5%), trust signals (5%).&lt;/p&gt;

&lt;p&gt;Our probes have been running since March 3. April's report will have real numbers.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;OathScore monitors financial data APIs and gives AI trading agents the current state of the world in one API call.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;API: &lt;a href="https://api.oathscore.dev" rel="noopener noreferrer"&gt;https://api.oathscore.dev&lt;/a&gt; | GitHub: &lt;a href="https://github.com/moxiespirit/oathscore" rel="noopener noreferrer"&gt;https://github.com/moxiespirit/oathscore&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building the Trust Layer for AI Trading Agents</title>
      <dc:creator>laguia</dc:creator>
      <pubDate>Wed, 04 Mar 2026 17:06:47 +0000</pubDate>
      <link>https://dev.to/laguia/building-the-trust-layer-for-ai-trading-agents-3amm</link>
      <guid>https://dev.to/laguia/building-the-trust-layer-for-ai-trading-agents-3amm</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;AI trading agents blindly trust their data sources. They call Alpha Vantage or Polygon, get a number back, and assume it's accurate. But how often is that data actually fresh? What's the real uptime? Is the "real-time" feed actually real-time?&lt;/p&gt;

&lt;p&gt;There's no Yelp for data APIs. No credit score. No independent verification.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Insight
&lt;/h2&gt;

&lt;p&gt;Agents need a "credit bureau" for APIs — an independent third party that continuously monitors quality and publishes transparent scores.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;OathScore&lt;/strong&gt; does two things:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. World State in One Call
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;/now&lt;/code&gt; endpoint returns everything a trading agent needs to know right now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which exchanges are open (CME, NYSE, NASDAQ, LSE, EUREX, TSE, HKEX)&lt;/li&gt;
&lt;li&gt;Volatility regime (VIX, VVIX, VIX9D, VIX3M, SKEW, term structure)&lt;/li&gt;
&lt;li&gt;Economic events (next event, FOMC/CPI countdowns, weekly high-impact count)&lt;/li&gt;
&lt;li&gt;Data health status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One call replaces 4-6 separate API calls. Try it: &lt;a href="https://api.oathscore.dev/now" rel="noopener noreferrer"&gt;https://api.oathscore.dev/now&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Quality Ratings
&lt;/h3&gt;

&lt;p&gt;Independent 0-100 composite scores for 7 financial data APIs:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Accuracy&lt;/td&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uptime&lt;/td&gt;
&lt;td&gt;20%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Freshness&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Schema stability&lt;/td&gt;
&lt;td&gt;5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trust signals&lt;/td&gt;
&lt;td&gt;5%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Currently monitoring: Alpha Vantage, Polygon, Finnhub, Twelve Data, EODHD, FMP, Curistat. Scores publish after 30 days of baseline data.&lt;/p&gt;

&lt;h2&gt;
  
  
  For AI Agents: MCP Server
&lt;/h2&gt;

&lt;p&gt;OathScore is an MCP (Model Context Protocol) server with 8 tools. Claude, GPT, CrewAI, or any MCP-compatible agent can natively call:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;get_now&lt;/code&gt; — full world state&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_score&lt;/code&gt; — quality rating for any monitored API&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;compare_apis&lt;/code&gt; — side-by-side comparison&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_alerts&lt;/code&gt; — active degradation alerts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Micropayments with x402
&lt;/h2&gt;

&lt;p&gt;Instead of API keys and monthly subscriptions, agents can pay per request using USDC stablecoins via the x402 protocol. When rate-limited, the API returns &lt;code&gt;402 Payment Required&lt;/code&gt; with payment instructions. No signup needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live: &lt;a href="https://api.oathscore.dev/now" rel="noopener noreferrer"&gt;https://api.oathscore.dev/now&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/moxiespirit/oathscore" rel="noopener noreferrer"&gt;https://github.com/moxiespirit/oathscore&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Free tier: 10 calls/day&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What data APIs would you want rated? What metrics matter most?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>api</category>
      <category>python</category>
    </item>
  </channel>
</rss>
