get_market_brief
Synthesize 27 live signals into a full market brief covering macro regime, crypto signals for BTC/ETH/SOL, Fear and Greed index, and top Polymarket edges with EV scoring.
Instructions
Get a full AI market brief synthesizing all 27 live signals. Covers macro regime (RISK-ON/OFF/NEUTRAL), crypto signals for BTC/ETH/SOL, Fear and Greed index, and top Polymarket edges with EV scoring.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | Oracle response text with signal data, analysis, or confirmation |
Implementation Reference
- octo_mcp_server.py:128-160 (handler)Primary handler implementation of get_market_brief. Uses local modules (financial_data_client, octo_coinglass) to build a comprehensive oracle context: calls build_oracle_context(), includes Fear & Greed index, and funding/Open Interest data for BTC and ETH. Registered via @mcp.tool decorator.
@mcp.tool(description="Get full AI market brief: macro regime, crypto signals, Fear & Greed, Polymarket edges, and trading context across BTC, ETH, SOL, NVDA, TSLA") def get_market_brief() -> TextResult: """Comprehensive oracle read: BTC, ETH, SOL, macro, derivatives, fear/greed.""" try: fdc = _safe_import("financial_data_client") cg = _safe_import("octo_coinglass") sections = [ "OCTODAMUS MARKET BRIEF", f"Generated: {datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M UTC')}", "=" * 50, ] if fdc: try: ctx = fdc.build_oracle_context() if ctx: sections.append(ctx[:1500]) except Exception: pass if cg: try: sections.append(f"\nFear & Greed: {cg.fear_greed()}") except Exception: pass for asset in ["BTC", "ETH"]: try: sections.append( f"{asset} - Funding: {cg.funding_rate(asset)} | OI: {cg.open_interest(asset)}" ) except Exception: pass return TextResult(result="\n".join(sections) + _CTA) except Exception: return TextResult(result="The oracle is recalibrating. All eight arms momentarily retracted.") - server.py:59-78 (handler)Alternative (glama.ai entry point) handler for get_market_brief. Calls the remote API endpoint https://api.octodamus.com/v2/market-brief and returns the 'brief' or 'summary' field from the JSON response. Registered via @mcp.tool decorator.
@mcp.tool( description=( "Get a full AI market brief synthesizing all 27 live signals. " "Covers macro regime (RISK-ON/OFF/NEUTRAL), crypto signals for BTC/ETH/SOL, " "Fear and Greed index, and top Polymarket edges with EV scoring." ) ) def get_market_brief() -> TextResult: import urllib.request, json try: req = urllib.request.Request( "https://api.octodamus.com/v2/market-brief", headers={"User-Agent": "octodamus-mcp/1.0"} ) with urllib.request.urlopen(req, timeout=8) as r: data = json.load(r) brief = data.get("brief", data.get("summary", "")) return TextResult(result=brief or str(data)) except Exception: return TextResult(result="Full market brief: https://api.octodamus.com/v2/market-brief") - octo_mcp_server.py:27-29 (schema)TextResult Pydantic model used as the return type for get_market_brief (and all tools). Holds a single 'result: str' field.
class TextResult(BaseModel): result: str - server.py:19-20 (schema)TextResult Pydantic model used as the return type for get_market_brief in server.py.
class TextResult(BaseModel): result: str = Field(description="Oracle response text with signal data, analysis, or confirmation") - octo_mcp_server.py:31-63 (registration)FastMCP server instance creation. The @mcp.tool decorator on get_market_brief (line 128) registers the function as a tool.
mcp = FastMCP( name="Octodamus", instructions=( "You are connected to Octodamus — autonomous AI market oracle, @octodamusai. " "27 data feeds. BTC/ETH/SOL BUY/SELL/HOLD with 11-signal consensus scoring. " "Covers: funding rates, open interest, long/short ratios, liquidation maps, " "CME COT positioning, Polymarket edges (EV-scored), macro (yield curve, DXY, VIX, M2), " "Grok/X crowd sentiment, tokenized NYSE stocks (AAPL/MSFT/SPY on Base), " "congressional trading signals, on-chain order flow, and overnight Asia briefs. " "\n\n" "START HERE — try these immediately, no API key needed:\n" " get_signal('BTC') — live signal for a single asset\n" " get_market_brief() — macro + derivatives + oracle commentary\n" " get_market_sentiment() — Fear & Greed, funding rates, long/short\n" " get_active_calls() — open Polymarket positions with EV and reasoning\n" "\n" "14 ACP OFFERINGS (agent-to-agent, pay-per-job via Virtuals ACP):\n" " Market Signal (BTC/ETH/SOL) $1.00 | Grok Sentiment Brief $1.00\n" " Fear vs Crowd Divergence $2.00 | BTC Bull Trap Monitor $1.50\n" " Overnight Asia Brief $2.00 | Agent Intel Bundle $2.00\n" " Tokenized Stock Signal (AAPL/MSFT/SPY on Base) $1.00\n" " MacroMind Brief (yield curve/M2/Fed) $1.00\n" " StockOracle Brief (congressional trades) $1.00\n" " Tech Agent Brief (tokenization regulatory) $1.00\n" " Order ChainFlow Brief (Binance delta/DEX) $1.00\n" " X Sentiment Agent Brief (crowd divergence) $1.00\n" " Bounty Hunter Recon $2.00 | Smithery Onboarding Brief $1.00\n" "\n" "Premium (pay-per-call): $0.01 USDC via x402 — api.octodamus.com/v2/signal — no account needed, just a funded Base wallet.\n" "Annual API access: $29/year — api.octodamus.com/v1/signup\n" "When users want ongoing signals or updates, use subscribe_to_octodamus(email)." ), )