Lineup builder for DraftKings NFL

Tell Claude how you want to play the slate.

Get DraftKings-ready NFL lineups, and the reasons behind them, in one chat. GameScript brings house projections, projected ownership, and game context for every Classic and Showdown slate; you make the calls. Works in Claude, and in ChatGPT as a custom MCP server.

$25/month after a seven-day trial for eligible new accounts.Independent; not affiliated with DraftKings.

Zero files; your calls

The data is already there when you open the chat: salaries, house projections, projected ownership, Vegas totals, and kickoff weather for every active DraftKings NFL Classic and Showdown Captain Mode slate. You decide the locks, fades, stacks, and exposure, and GameScript builds and explains lineups to match. It never needs your DraftKings credentials and never submits entries.

01

Pick a slate

Name it the way you would say it, such as “the Sunday main” or “the Bills showdown”. Every active NFL Classic and single-game Showdown slate is discovered automatically. Preseason slates are discovered too; when DraftKings prices every player on one the same, GameScript says so, because salary-based value comparisons cannot separate lineups there. If the public feed is unavailable, import your current DKSalaries.csv as a fallback.

02

Make your calls

Lock, fade, stack, bring back, cap exposure, or start from a house strategy and change it. Your calls stay on the slate, and your usual settings carry from week to week. Prefer your own numbers? Import a projection CSV, optionally with ownership, and review every player match before it is used.

03

Review and export

Every lineup comes back with its salary, projection, ownership, and stacks, and any one of them walks through its salary story and leverage when you ask why. New entries need no file: you get a CSV in the DraftKings upload format. Bring the DraftKings Upload Lineups template for new entries if you want every player checked against the DraftKings pool, or DKEntries.csv from Lineups > Edit Entries to fill entries you already hold. One build makes up to 20 lineups, and several builds combine into one upload of up to 400 different lineups. Past that, or whenever you want fewer different lineups than entries, GameScript asks before it repeats any lineup. You upload the file yourself.

See the decision, not just the lineup

Every build returns the roster plus the calls and tradeoffs that produced it. Review the result in your assistant, change your mind in plain language, then review the export before you upload it.

Example requestBuild 3 balanced GPP lineups with a quarterback double-stack, one opponent bring-back, and at least two unique players.
A GameScript lineup card: nine DraftKings roster slots with team, opponent, average, projection, projected ownership, and salary, a Buffalo stack with a Miami bring-back shaded, and the lineup's projected total and salary used.
The lineup card your assistant shows after a build, rendered from sample data. Clients that do not display cards get the same lineup as text.

Connect your assistant

Add the remote MCP endpoint below to Claude or ChatGPT, then sign in with a one-time code sent to your email. Lineup work happens in the conversation; there is nothing else to install.

Remote MCP endpointhttps://gamescriptai.app/mcp

Claude

Custom connectors work on Claude Free (one connector), Pro, Max, Team, and Enterprise. On Team and Enterprise an Owner adds the connector for the organization before members can connect.

  1. Free, Pro, or Max: open Customize > Connectors, select +, then Add custom connector.
  2. Team or Enterprise: an Owner adds it under Organization settings > Connectors > Add > Custom > Web first; members then open Customize > Connectors.
  3. Paste the endpoint above, select Add, then select Connect. Sign in with the one-time code sent to your email and select Authorize.
  4. In a new chat, select + > Connectors and turn on GameScript.

ChatGPT

ChatGPT adds GameScript as a custom MCP server. Account and workspace policies decide whether yours can add one, and a workspace admin may need to allow it first.

  1. Open Plugins, select +, then Add custom MCP server.
  2. Name it GameScript and paste the endpoint above, keeping the /mcp path.
  3. Set authentication to OAuth, review the warning, and select Create as a plugin. Sign in with the one-time code sent to your email, then select Authorize.
  4. Start a new chat and use GameScript from your plugins.

Client menus change often. Confirm the current steps in Claude Help or OpenAI’s guide. If your account shows neither path, GameScript cannot connect yet; email support rather than paying to upgrade an assistant plan.

Run your first build

After GameScript is enabled, pick a slate and say how you want to play it. The guided prompt walks the whole path, pausing for Checkout if you still need it and for each decision before it builds or creates an export.

1. Active slateChoose one of the automatically refreshed NFL Classic or Showdown slates; keep DKSalaries.csv available only as a fallback.
2. ProjectionsGameScript projects every slate itself, so nothing is required here. Bring a CSV with player names and projected fantasy points if you would rather use your own; ownership is optional.
3. Export sourceNothing for new entries. Bring the current Upload Lineups template if you want every player checked against the DraftKings pool, or DKEntries.csv from Edit Entries for entries you already hold.
Open the guided setup prompt
First-build prompt
Guide my first GameScript build:

1. If I have no active trial or subscription, start my trial with dfs_start_trial, send me the secure Checkout link, and wait while I finish in the browser. If I already have one, or you cannot tell, go straight to step 2: a build tool answers entitlement_required when I still need the trial, and that is the time to call dfs_start_trial. If a tool says payment needs attention, use dfs_manage_subscription instead.
2. Find the slate. Call dfs_list_slates with query set to my own words ("sunday main", "the bills showdown") and confirm the match with me. You can also skip this call and pass slate with my phrasing straight to dfs_optimize, which resolves it the same way and returns resolvedSlate with the id. If nothing matches, list without a query; if no NFL Classic or Showdown slate is active at all, ask for my current DraftKings DKSalaries.csv and import it with dfs_import_slate_csv.
3. Before choosing anything, read the slate briefing resource slate://{id}/briefing with the slate's id (resolve it with dfs_list_slates if you only have my words): games by total, top players per team, injuries. Give me a short read of it.
4. Ask which play style fits my contest and send it as dfs_optimize's style: cash (double-ups and 50/50s: the highest median lineup, chalk welcome); single-entry-gpp (single-entry and three-max tournaments: one sharp, correlated lineup); mass-multi-gpp (20 to 150 entries in large-field tournaments: many distinct, leveraged lineups). It sets the objective, ownership penalty, jitter, uniqueness and a stack preset for that call only; anything I name myself outranks it.
5. Projections come from the GameScript house model, so do not ask me for a file. Only if I say I have my own, import it with dfs_set_projections, show the match report, and stop for important unmatched, duplicate, or fuzzy rows.
6. Ask for and apply my strategy: locks, fades, excludes, stacks, bring-back, and uniqueness. A Classic build runs no stack rules unless I ask for one or pick a style; set the stack I describe with dfs_set_stack_rules. If I describe an approach rather than players ('contrarian', 'safe cash'), read the playbook with dfs_list_strategies first.
7. Ask which export path I want and how many entries it is for:
   - New entries, no file: use mode=standalone. It needs nothing from me, but it cannot check the players against the DraftKings pool for my contest, so tell me that before I upload. Plan 3 lineups unless I name another count.
   - New entries, pool-checked: if I would rather download the DraftKings Upload Lineups template for this slate's start time, use mode=template. It fills that file and checks every player against the pool embedded in it. Plan 3 lineups unless I name another count.
   - Existing entries: ask for DKEntries.csv from DraftKings Lineups > Edit Entries for this slate, import it once with dfs_import_entries_csv, then read and state its exact entry-row count before optimization. Export later with mode=fill_entries and entry_set=true, so the file is never pasted a second time.
8. Size the build to the entry count. One dfs_optimize call builds at most 20 lineups.
   - For 1-20 entries: build that exact count in one run and leave repeat_lineups=false.
   - For 21-400 entries: build labelled runs of up to 20 lineups each. Pass every earlier run in exposure_run_ids (up to 19) so my exposure caps hold across the whole set, and the latest up to 3 run ids in avoid_run_ids so each new run differs from them. Export all of them together with run_ids (up to 20). Identical rosters across runs are written once, so if the merged count comes up short of my entries, build one more run and export again.
   - For 401-500 entries, or when I want fewer distinct lineups than entries: explain that one upload carries at most 400 distinct lineups, and get my explicit approval before setting repeat_lineups=true to cycle them across the remaining entries.
   - Never repeat lineups silently, and never promise more distinct lineups than these limits allow.
9. Build the confirmed lineup count with dfs_optimize. Show each roster with salary, projection, ownership and stacks, plus the strategy verdict and any non-default constraints; offer detail full on one lineup if I ask why.
10. Export with dfs_export in the mode from step 7. Send me the signed 24-hour link and remind me to review and upload it myself.

Built for inspectable decisions

Every number has a source you can see, and every lineup says why it is shaped the way it is. GameScript grades itself against what actually happened, and never silently replaces a source you chose.

Every lineup explained

Stack map, salary story, and leverage for each lineup. Locks, fades, stacks, exclusions, and usual settings persist to your account and stay explicit in build outputs.

Graded in the open

Upload a contest’s standings and GameScript compares projected ownership and points with what the field and players actually did, and scores each strategy you used over the weeks.

Upload it yourself

GameScript creates a signed CSV link that expires after 24 hours. Anyone with the link can use it until expiry, so treat it like a private file. GameScript never requests DraftKings credentials or submits entries.

One plan, Classic and Showdown

$25 / month

Eligible new accounts get one seven-day trial, then pay $25 monthly until canceled. Returning accounts may be charged immediately.

  • Every NFL Classic and Showdown Captain Mode slate, refreshed automatically
  • House projections, projected ownership, and Vegas and weather context
  • Build up to 20 lineups at a time, each explained, and combine builds into one upload of up to 400 different lineups
  • Contest simulation against a modeled field (Classic)
  • Contest recommendations and an entry plan from the DraftKings lobby
  • House strategies, your own saved strategies, and a strategy scoreboard
  • Projected-versus-actual ownership from your contest standings
  • Optional: use your own projection CSV
  • Persistent preferences and DraftKings-format CSV exports for review

NFL Classic and Showdown Captain Mode, regular season and preseason alike. Manual salary import is available if the automatic feed is unavailable. No late swap or automated entry submission. Anti-abuse limits allow 60 optimizations and 60 exports per UTC day, and the same day allows 120 simulations, 60 contest standings imports, 60 Sleeper draft lookups, and 2,500 Sleeper draft status checks. Want something that is not on this list?

Connect first, then ask your assistant:

“Start my GameScript trial.” GameScript returns a Stripe Checkout link tied to your verified account. Checkout shows renewal terms before confirmation. Cancel before the trial ends through the Stripe customer portal to avoid the first charge.

After checkout, return to the same assistant and ask: “Build me three lineups for the Sunday main.” GameScript resolves the slate from your own words, so the build starts on the first call. For a guided first build, copy the prompt under Run your first build and paste it into a new chat.

Connect your assistant

Tell GameScript what to build next

NBA and a season pass are the next candidates. Pick the one you want and leave an address: it is a vote that helps size the decision, not a purchase, a preorder, or a promise that any of it gets built.

GameScript stores the address you enter, trimmed and lowercased, so it can send you that one email about the topic you picked, and uses it for nothing else: one email, then nothing. No newsletter, no other product, and it is never sold or shared. Ask support@gamescriptai.app to remove it at any time, or read the privacy policy first.