3 MCP servers · 48 tools · OAuth 2.0 + PKCE · Connect in minutes
FeedOracle provides 3 MCP servers with 48 tools that give AI agents access to evidence-grade financial and regulatory data:
| Server | What it does | Tools |
|---|---|---|
| Compliance | MiCA authorization, reserve quality, peg monitoring, evidence packs across 18 EU regulatory articles for 105+ stablecoins | 22 |
| Risk | 7-signal operational risk: peg stability, custody, redemption, supply flow, holder concentration, cross-chain, liquidity | 13 |
| Macro | Fed Watch, yield curve, recession probability, inflation, DeFi rates, consumer sentiment — 86 FRED series | 13 |
Every response is cryptographically signed and timestamped. Transport integrity via HMAC-SHA256. Premium tiers get ECDSA ES256K evidence signatures and blockchain-anchored PDF reports.
If you're building AI agents that touch regulated financial markets, you need data that auditors accept — not just data that works.
Evidence-grade, not just data. Every data point has a provenance chain: source, timestamp, hash, signature. Your agent gets a verifiable claim with a cryptographic proof trail.
MiCA-first. The July 2026 MiCA enforcement deadline affects every EU-facing stablecoin and CASP. FeedOracle covers 18 MiCA articles across 105+ tokens. No other oracle does this.
Built for machines. MCP means your AI agent can query regulatory status, risk scores, and macro signals autonomously — and explain its reasoning with full citations.
Connect an AI agent or MCP client and start making tool calls.
Evaluate trust, governance, and compliance fit.
No account, no login, no dashboard required. Just 4 HTTP requests.
client_id + client_secret instantly
curl -X POST https://feedoracle.io/mcp/register \
-H "Content-Type: application/json" \
-d '{
"redirect_uris": ["http://localhost:3000/callback"],
"client_name": "My AI Agent",
"grant_types": ["authorization_code", "refresh_token"]
}'
# -> { "client_id": "abc-123", "client_secret": "fo_secret_...", ... }
# verifier = random 43 bytes, challenge = SHA256(verifier) base64url curl -G "https://feedoracle.io/mcp/authorize" \ --data-urlencode "response_type=code" \ --data-urlencode "client_id=abc-123" \ --data-urlencode "redirect_uri=http://localhost:3000/callback" \ --data-urlencode "code_challenge=YOUR_CHALLENGE" \ --data-urlencode "code_challenge_method=S256" \ --data-urlencode "scope=mcp:read" # -> 302 redirect with ?code=fo_code_...
curl -X POST https://feedoracle.io/mcp/token \
-d "grant_type=authorization_code" \
-d "code=fo_code_..." \
-d "client_id=abc-123" \
-d "client_secret=fo_secret_..." \
-d "redirect_uri=http://localhost:3000/callback" \
-d "code_verifier=YOUR_VERIFIER"
# -> { "access_token": "fo_at_...", "expires_in": 3600, "refresh_token": "fo_rt_..." }
from mcp import ClientSession
from mcp.client.sse import sse_client
async with sse_client(
"https://feedoracle.io/mcp/sse",
headers={"Authorization": "Bearer fo_at_..."}
) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("mica_status", {"token_symbol": "USDC"})
Every OAuth client starts on Free. Upgrade when you need more calls, deeper tools, or signed reports.
Free → Pro: When you move to production or need risk/macro data beyond basic compliance. Most teams upgrade when building automated MiCA monitoring.
Pro → Agent: When your agent runs autonomously (scheduled risk sweeps, multi-token monitoring, alert systems) and you need signed PDF evidence for audit trails.
Agent → Enterprise: When your compliance officer asks "who is the counterparty and what's the uptime commitment?"
Payment via Stripe (card) or USDC on Polygon. Tier changes apply instantly — no downtime, no re-registration.
| Concern | How FeedOracle addresses it |
|---|---|
| Data integrity | Transport: HMAC-SHA256. Evidence: ECDSA ES256K. Blockchain: XRPL anchoring. Full provenance chain per data point. |
| Audit trail | Every tool call logged with client ID, timestamp, tool name, response hash. Per-client billing reports. Verifiable PDF report hashes. |
| MiCA alignment | 18 of 22 data-trackable articles. ESMA + EBA register cross-validation. Evidence infrastructure, not certification. |
| DORA relevance | ICT risk data: custody concentration, counterparty exposure, operational resilience. Art. 28 third-party risk. |
| Access control | OAuth 2.0 + PKCE. Scope-based restriction. Per-client rate limits. Token rotation. Revocation endpoint. |
| Data residency | Servers in Germany (Netcup GmbH, Germany). No US cloud dependency for core infrastructure. |
| Availability | Real-time monitoring: uptime.feedoracle.io (33 monitors). Enterprise SLA available. |
Scopes control which tools your client can call. Granted based on your tier.
| Scope | Server | Tools | What you get | Min. Tier |
|---|---|---|---|---|
| mcp:read | Compliance | 22 | MiCA status, peg monitoring, custody risk, evidence profiles, leaderboards | Free |
| mcp:risk:read | Risk | 13 | 7-signal risk scoring, batch assessment, portfolio analysis, alerts | Pro |
| mcp:macro:read | Macro | 13 | Fed Watch, yield curve, recession risk, inflation, DeFi rates, macro regime | Pro |
| mcp:compliance:read | Compliance | 4 | Full MiCA evidence packs, multi-framework bundles, AI provenance | Pro |
| mcp:verified-reports:read | Compliance | 1 | Signed, blockchain-anchored PDF compliance reports | Agent |
RFC 9728 — points to Authorization Server
RFC 8414 — all endpoints, scopes, grant types
MCP Server Manifest v2.4.0
| Endpoint | Method | Purpose |
|---|---|---|
/mcp/register | POST | Dynamic Client Registration (RFC 7591) |
/mcp/authorize | GET | Authorization — redirect with code |
/mcp/token | POST | Token exchange & refresh |
/mcp/revoke | POST | Token revocation |
| Token | Prefix | Lifetime | Rotation |
|---|---|---|---|
| Access Token | fo_at_ | 1 hour | New on refresh |
| Refresh Token | fo_rt_ | 30 days | Rotated on use |
| Auth Code | fo_code_ | 5 min | Single use |
| Method | How | Tier | Best For |
|---|---|---|---|
| OAuth Bearer | Authorization: Bearer fo_at_... | Per client | MCP clients, AI agents |
| API Key | api_key in tool args | Per key | REST API, scripts |
| Anonymous | No header | 20/day | Testing, discovery |
Priority: Bearer > API Key > Anonymous. All three methods coexist. Existing integrations continue to work.
import hashlib, base64, secrets, requests, asyncio, json from mcp import ClientSession from mcp.client.sse import sse_client BASE = "https://feedoracle.io/mcp" # 1. Register (one-time) reg = requests.post(f"{BASE}/register", json={ "redirect_uris": ["http://localhost:3000/cb"], "client_name": "My Trading Agent", "grant_types": ["authorization_code", "refresh_token"], }).json() CID, CS = reg["client_id"], reg["client_secret"] # 2. PKCE verifier = secrets.token_urlsafe(43) challenge = base64.urlsafe_b64encode( hashlib.sha256(verifier.encode()).digest() ).rstrip(b"=").decode() # 3. Authorize r = requests.get(f"{BASE}/authorize", params={ "response_type": "code", "client_id": CID, "redirect_uri": "http://localhost:3000/cb", "code_challenge": challenge, "code_challenge_method": "S256", "scope": "mcp:read", }, allow_redirects=False) code = r.headers["location"].split("code=")[1].split("&")[0] # 4. Token tokens = requests.post(f"{BASE}/token", data={ "grant_type": "authorization_code", "code": code, "client_id": CID, "client_secret": CS, "redirect_uri": "http://localhost:3000/cb", "code_verifier": verifier, }).json() # 5. Query async def query(): hdrs = {"Authorization": f"Bearer {tokens['access_token']}"} async with sse_client(f"{BASE}/sse", headers=hdrs) as (r, w): async with ClientSession(r, w) as s: await s.initialize() return await s.call_tool("mica_status", {"token_symbol": "USDC"}) print(asyncio.run(query()))
{
"mcpServers": {
"feedoracle-compliance": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://feedoracle.io/mcp/sse"]
},
"feedoracle-macro": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://feedoracle.io/mcp/macro/sse"]
},
"feedoracle-risk": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://feedoracle.io/mcp/risk/sse"]
}
}
}
Start with Free (100 calls/day) or go straight to Pro for the full stack.
Register Free → Talk to Sales