io.github.jorgeperez0825/v12-dfs
io.github.jorgeperez0825/v12-dfsAI-driven DFS lineup optimizer for MLB & NBA — build FanDuel & DraftKings lineups via MCP.
Tools · 34
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 copy-paste MCP + REST config with a PLACEH…
Health ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "status": "Status", "version": "Version", "timestamp": "Ti…
Health V12 Deep health check for the V12 pipeline. Surfaces: - last nightly regression run (pass/fail + per-slate deltas) - regression baseline metadata - recent preflight blockers (if any cach…
Get Slates List available V12 slates for today. Returns slate IDs, game counts, and lock times. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**…
Get Slate Players Endpoint Get the V12 player pool for a specific slate ID. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error C…
Slate Health Pre-flight diagnostic for a slate. Returns whether odds, projections, matchup, and FD master-session are ready BEFORE the agent invokes /v1/generate. Either slate_id or date is required…
Slate Refresh Re-fetch projections + odds + slate metadata for a date. Writes to the configured store (Supabase in prod). Returns a summary dict (date, slate_id, n_games, n_players, n_upserted, n_od…
Slate Diff Compute what changed since a previously-stored snapshot. Body shape: { "slate_id": 32867, "date": "2026-05-11", "sport": "NBA", "site": "FD", "previous": { "v"…
Get Presets List the available strategy presets (gpp_pro_pattern, gpp_sniper, gpp_balanced, gpp_volume, cash_grinder, gpp_contrarian, gpp_mass_entry) with their configurations. No auth required. ###…
Generate Lineups ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "status": "Status", "generated_at": "Generated At"…
Run Mlb Postmortem ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "status": "Status", "generated_at": "Generated A…
Contest Registry List contest strategy registry entries for agents and the dashboard. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validati…
Live Contests Return latest V12 contest context without backend identifiers. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error …
Contest Semaforo VIP-only: per-contest play/skip verdict from the owner's verified P&L bands + structure gates + rake/fill math. See core/data/contest_semaforo. ### Responses: **200**: Successful R…
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; this returns each regular's fingerprint — da…
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 curated registry is only a subset — that was th…
Fill Template Fill a downloaded FanDuel/DK entries-template with already-generated lineups WITHOUT re-running the optimizer — the MCP-callable equivalent of the dashboard's fill_template. Keeps each …
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 keeps a single key across dashboard relo…
Betting Agent Guide How any agent uses the MLB betting tools + how to read the output. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
Player Form Streak / splits / recent form for any player ('racha de X'). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error Cont…
Analyze Prop Model a single player's prop vs tonight's FanDuel line -> edge. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error …
Scan Edges Tonight's prop board ranked by model edge (VALUE first). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error Content-T…
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 them, not just home runs. Power props carry t…
Build Parlay Deterministic parlay analysis for BOTH leg shapes. Body: {legs:[...], ticket_odds?}. PROP legs {name, prop, threshold} keep the legacy correlation-aware EV. GAME-side legs (ML / run line…
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?, game?, book?}. Append-only — this is the ev…
My Bets A user's bet history + P&L / CLV summary. avg_clv_pct > 0 over time = you're beating the closing line = real edge (the only durable proof). ### Responses: **200**: Successful Response (Succ…
Settle Bet Settle a logged bet. Body: {uid, bet_id, result: won|lost|push, closing_odds?}. closing_odds lets us compute CLV (did you beat the close). ### Responses: **200**: Successful Response (Su…
Cross Book Cross-book value: FanDuel vs DraftKings (DK pulled via ESPN's public API, no key/WS). LINE_SHOP (the books hang different numbers — take the easier side) and PRICE_SHOP (better price, same…
Game Lines GAME markets — moneyline / run total / run line for today's MLB games. This answers the 'quién gana / cuántas carreras / pronóstico Yankees vs Toronto' questions that player props CAN'T (V…
Market FULL FanDuel market board for a team's game — EVERY market with real odds + de-vig fair price, so NO market question goes unanswered. Game lines (ML / total / run line), FIRST 5 INNINGS (F5), …
Sharp SHARP value — FanDuel vs PINNACLE (the sharpest book, ~2% hold). Pinnacle's de-vigged line ≈ TRUE probability, so this is the most reliable value signal in the kit, NO model needed: edge_vs_sha…
Game Model MODEL the GAME run markets — TEAM TOTALS (over/under) and NRFI/YRFI — vs the FanDuel line, MARKET-ANCHORED: expected_runs = the book's de-vigged implied mean + 0.25×(structural model − boo…
Matchup GROUNDING — the real game for a team today: probable pitchers + the POSTED lineup (ACTUAL player names from MLB statsapi) + the market line + the CONTEXT a pro reasons with: home-plate UMPIRE…
Market Movers MARKET pattern (not model opinion): how FanDuel lines MOVED today, from the captured snapshots. A line that shortened = money coming in (sharp/news); a drift = money off. This is the 'o…
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"io.github.jorgeperez0825/v12-dfs": {
"url": "https://v12dfs-production.up.railway.app/mcp",
"transport": "streamable-http"
}
}
}