{
 "voice": "One card of the book.",
 "agent": {
  "slug": "v12-dfs",
  "name": "v12-dfs",
  "specialty": null,
  "description": "AI-driven DFS lineup optimizer for MLB & NBA — build FanDuel & DraftKings lineups via MCP.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-03T23:11:45.019Z",
  "card": "/agent/v12-dfs",
  "url": "https://allagents.app/agent/v12-dfs",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://v12dfs-production.up.railway.app/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": null,
   "hire": null
  },
  "bubble": "closed",
  "score": 11,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-04",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "agent_guide",
     "description": "Agent Guide Self-serve onboarding: connect any agent (Claude/MCP or REST) to drive the V12 motor, the same engine the dashboard agent uses. No auth. Returns…"
    },
    {
     "name": "health_check",
     "description": "Health ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { \"status\": \"Status\"…"
    },
    {
     "name": "health_v12",
     "description": "Health V12 Deep health check for the V12 pipeline. Surfaces: - last nightly regression run (pass/fail + per-slate deltas) - regression baseline metadata…"
    },
    {
     "name": "list_slates",
     "description": "Get Slates List available V12 slates for today. Returns slate IDs, game counts, and lock times. ### Responses: **200**: Successful Response (Success Response)…"
    },
    {
     "name": "get_slate_players",
     "description": "Get Slate Players Endpoint Get the V12 player pool for a specific slate ID. ### Responses: **200**: Successful Response (Success Response) Content-Type…"
    },
    {
     "name": "slate_health",
     "description": "Slate Health Pre-flight diagnostic for a slate. Returns whether odds, projections, matchup, and FD master-session are ready BEFORE the agent invokes…"
    },
    {
     "name": "slate_refresh",
     "description": "Slate Refresh Re-fetch projections + odds + slate metadata for a date. Writes to the configured store (Supabase in prod). Returns a summary dict (date…"
    },
    {
     "name": "slate_diff",
     "description": "Slate Diff Compute what changed since a previously-stored snapshot. Body shape: { \"slate_id\": 32867, \"date\": \"2026-05-11\", \"sport\": \"NBA\", \"site\": \"FD\"…"
    },
    {
     "name": "list_presets",
     "description": "Get Presets List the available strategy presets (gpp_pro_pattern, gpp_sniper, gpp_balanced, gpp_volume, cash_grinder, gpp_contrarian, gpp_mass_entry) with…"
    },
    {
     "name": "generate_lineups",
     "description": "Generate Lineups ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { \"status\"…"
    },
    {
     "name": "run_mlb_postmortem",
     "description": "Run Mlb Postmortem ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { \"status\"…"
    },
    {
     "name": "list_contests",
     "description": "Contest Registry List contest strategy registry entries for agents and the dashboard. ### Responses: **200**: Successful Response (Success Response)…"
    },
    {
     "name": "list_live_contests",
     "description": "Live Contests Return latest V12 contest context without backend identifiers. ### Responses: **200**: Successful Response (Success Response) Content-Type…"
    },
    {
     "name": "contest_semaforo",
     "description": "Contest Semaforo VIP-only: per-contest play/skip verdict from the owner's verified P&L bands + structure gates + rake/fill math. See…"
    },
    {
     "name": "scout_field",
     "description": "Scout Field VIP-only (owner order 8/16): opponent-scouting profiles for the small single-entry band. The owner's $65 table runs the SAME regulars nightly…"
    },
    {
     "name": "contest_advice",
     "description": "Contest Advice Advice for a concrete contest name. Resolves the name against the LIVE lobby FIRST so a real live contest is never reported missing (the…"
    },
    {
     "name": "fill_template",
     "description": "Fill Template Fill a downloaded FanDuel/DK entries-template with already-generated lineups WITHOUT re-running the optimizer — the MCP-callable equivalent of…"
    },
    {
     "name": "admin_issue_key",
     "description": "Issue Key Idempotently issue a user's API key and ALWAYS return the paste-able connect block. Returns the email's existing active key (or mints one) so a user…"
    },
    {
     "name": "betting_agent_guide",
     "description": "Betting Agent Guide How any agent uses the MLB betting tools + how to read the output. ### Responses: **200**: Successful Response (Success Response)…"
    },
    {
     "name": "betting_player_form",
     "description": "Player Form Streak / splits / recent form for any player ('racha de X'). ### Responses: **200**: Successful Response (Success Response) Content-Type…"
    },
    {
     "name": "betting_analyze_prop",
     "description": "Analyze Prop Model a single player's prop vs tonight's FanDuel line -> edge. ### Responses: **200**: Successful Response (Success Response) Content-Type…"
    },
    {
     "name": "betting_scan_edges",
     "description": "Scan Edges Tonight's prop board ranked by model edge (VALUE first). ### Responses: **200**: Successful Response (Success Response) Content-Type…"
    },
    {
     "name": "betting_best_bets",
     "description": "Best Bets THE board sweep — scans EVERY main prop market (HR/RBI/hit/total_bases/ 2+hits/stolen_base) in one call and returns the top edges across all of…"
    },
    {
     "name": "betting_build_parlay",
     "description": "Build Parlay Deterministic parlay analysis for BOTH leg shapes. Body: {legs:[...], ticket_odds?}. PROP legs {name, prop, threshold} keep the legacy…"
    },
    {
     "name": "betting_log_bet",
     "description": "Log Bet Record a bet you placed (per user) so we can track P&L + CLV over time. Body: {uid, market, selection, odds (American), stake, line?, prop?, team?…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://v12dfs-production.up.railway.app/mcp",
   "answers": true,
   "checked": "2026-11-04T06:47:36.683Z",
   "http": null,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-04T06:47:36.683Z",
     "since": "2026-11-04T06:47:36.683Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-04T06:47:36.683Z",
    "since": "2026-11-04T06:47:36.683Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": null,
   "checked": "2026-11-04T06:47:36.683Z",
   "proof": "badge",
   "verified_as": "mcp",
   "last_answer_at": "2026-11-04T06:47:36.683Z",
   "last_ms": null,
   "checked_at": "2026-11-04T06:02:51.491Z"
  }
 }
}