Connects Claude to a multi-source trading oracle that aggregates 27 live feeds into actionable crypto signals. You get BUY/SELL/HOLD calls with confidence scores for BTC/ETH/SOL, Polymarket arbitrage opportunities with expected value calculations, Fear & Greed sentiment, congressional insider trades, and on-chain order flow analysis. All responses are Ed25519-signed for verification. Free tier covers basic signals and prices at 500 requests per day. Premium tools expose the raw 11-signal consensus engine (RSI, MACD, funding rates, whale movements) and cost $0.01 per call via USDC on Base. Useful when you need Claude to read market conditions without manual data gathering or want autonomous agents to act on verified oracle output.
Public tool metadata for what this MCP can expose to an agent.
get_market_summaryGet a summary of the current Upwork freelance market: total jobs tracked, jobs posted in last 24h, job type split (fixed vs hourly), and experience level distribution.Get a summary of the current Upwork freelance market: total jobs tracked, jobs posted in last 24h, job type split (fixed vs hourly), and experience level distribution.
No parameter schema in public metadata yet.
get_trending_skillsGet the top trending skills on Upwork over the last 7 days. Returns skill names, job counts, and percentage change vs previous week.1 paramsGet the top trending skills on Upwork over the last 7 days. Returns skill names, job counts, and percentage change vs previous week.
limitnumberget_budgets_by_categoryGet average budgets by Upwork job category over the last 7 days. Returns average fixed-price and hourly rates per category with 7-day trend.1 paramsGet average budgets by Upwork job category over the last 7 days. Returns average fixed-price and hourly rates per category with 7-day trend.
limitnumberget_top_countriesGet the top countries where Upwork clients are hiring from in the last 7 days. Returns country names, job counts, and percentage share.1 paramsGet the top countries where Upwork clients are hiring from in the last 7 days. Returns country names, job counts, and percentage share.
limitnumberget_hot_jobsGet the hottest (highest budget) Upwork jobs posted in the last 24 hours. Returns job title, budget, country, experience level, skills, and direct link.1 paramsGet the hottest (highest budget) Upwork jobs posted in the last 24 hours. Returns job title, budget, country, experience level, skills, and direct link.
limitnumberget_activity_heatmapGet a 7x24 heatmap of job posting activity (day of week x hour of day, UTC). Useful for finding the best times to be online on Upwork to apply first.Get a 7x24 heatmap of job posting activity (day of week x hour of day, UTC). Useful for finding the best times to be online on Upwork to apply first.
No parameter schema in public metadata yet.
get_client_qualityGet distribution of client quality on Upwork over last 7 days, grouped by hire rate: low (<30%), medium (30-70%), high (>70%).Get distribution of client quality on Upwork over last 7 days, grouped by hire rate: low (<30%), medium (30-70%), high (>70%).
No parameter schema in public metadata yet.
get_daily_trendGet daily job posting count and average budget for the last 7 days. Useful for spotting recent market shifts.Get daily job posting count and average budget for the last 7 days. Useful for spotting recent market shifts.
No parameter schema in public metadata yet.
AI-consensus market oracle for autonomous agents. 27 live data feeds. BUY/SELL/HOLD signals with confidence scores, Polymarket edges, Fear & Greed, congressional trading, on-chain order flow, and macro regime — all in one MCP tool call.
Smithery: octodamusai/market-intelligence API: api.octodamus.com X: @octodamusai
| Tool | Description | Auth |
|---|---|---|
get_agent_signal | BUY/SELL/HOLD + confidence + Fear & Greed + BTC price + Polymarket edges | Free |
get_market_brief | One-paragraph oracle read across all assets + macro. Drop into any LLM system prompt. | Free |
get_polymarket_edge | Prediction market opportunities with EV, true probability, Kelly sizing | Free |
get_sentiment | AI sentiment score per asset (-1.0 bearish to +1.0 bullish) | Free (BTC) |
get_prices | Live prices with 24h change for BTC, ETH, SOL (+ stocks with key) | Free |
get_oracle_signals | Raw 11-signal consensus votes — RSI, MACD, funding rate, L/S ratio, taker flow, whale moves | API key |
get_data_sources | All 27 live data feeds with update frequencies | Free |
get_all_data | Everything in one call — signal + edges + sentiment + prices + brief | API key |
Add to your MCP config:
{
"mcpServers": {
"octodamus": {
"url": "https://api.octodamus.com/mcp",
"config": {
"apiKey": ""
}
}
}
}
Leave apiKey blank for free tools (500 req/day). Get a free key: POST https://api.octodamus.com/v1/signup?email=you@example.com
npx @smithery/cli install octodamusai/market-intelligence
{
"action": "BUY",
"confidence": "high",
"signal": {"asset": "BTC", "direction": "LONG", "timeframe": "1W"},
"fear_greed": {"value": 17, "label": "Extreme Fear"},
"btc": {"price_usd": 81385, "change_24h": 2.64, "trend": "UP"},
"polymarket_edge": [
{"question": "BTC above $90k by June?", "side": "YES", "ev": 0.22, "confidence": "high"}
],
"reasoning": "Extreme fear + LONG signal + macro dip = accumulation zone.",
"track_record": {"wins": 5, "losses": 6, "total": 11}
}
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 500 req/day |
| Pay-per-call | $0.01 USDC/call | Unlimited — x402 on Base, no account needed |
| Annual | $29/year | 10k req/day |
x402 payments: Base chain (eip155:8453), USDC. No account or credit card required — just a funded Base wallet.
Signup: POST https://api.octodamus.com/v1/signup?email=your@email.com
All premium responses are signed with Octodamus's Ed25519 key for on-chain verification. The public key is published at https://api.octodamus.com/.well-known/x402.json under signing.
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
import base64, json
response = ... # API response dict
pubkey_b64 = response["signer_pubkey"]
sig_b64 = response["signature"]
payload = {k: v for k, v in response.items() if k not in ("signature", "signer_pubkey")}
canonical = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode()
key = Ed25519PublicKey.from_public_bytes(base64.b64decode(pubkey_b64))
key.verify(base64.b64decode(sig_b64), canonical) # raises if invalid
14 offerings available for agent-to-agent commerce via Virtuals ACP ($1.00-$2.00 USDC/job):
Discovery: GET https://api.octodamus.com/.well-known/acp.json
MIT — see LICENSE