Skip to main content
Glama
seanpdwyer7

cfb-recruiting-mcp

by seanpdwyer7

cfb-recruiting-mcp

An MCP (Model Context Protocol) server that diagnoses and fixes CFB 27 dynasty recruiting by editing the dynasty save. It targets the community's biggest recruiting complaint: the game floods the class with 1–2 star recruits, so a huge share of real 4–5 star prospects never get scholarship offers, never sign, and disappear.

The reverse-engineered recruiting data model is baked into the tools, so any model — not just a top-tier one — can run the whole workflow by calling a few high-level tools. It does the table joins, the star-by-signing math, and the pool edits for you.

┌────────────┐   MCP (stdio)   ┌───────────────────┐        ┌──────────────────┐
│ LLM client │ ◄─────────────► │ cfb-recruiting-mcp │ ◄────► │ madden-franchise │ ◄── DYNASTY-* save
└────────────┘                 └───────────────────┘        └──────────────────┘

What it found on a real save (verified)

Running recruiting_diagnose on a real dynasty reproduced the complaint exactly:

  • 3,764 high-school recruits; 55% of them 1–2 star — massive pool bloat.

  • 45% of 4-star recruits unsigned (195 of 430). Even 12% of 5-stars unsigned.

  • 66 unsigned 4–5 star recruits with ZERO scholarship offers — including the #5 recruit in the country with no offers. These never sign and vanish.

Tools

  • recruiting_open { file_path } — open a DYNASTY-* save (full CFB 27 schema applied automatically).

  • recruiting_diagnose { file_path } — full pool health report: star distribution, signed-vs-unsigned per star tier, unsigned recruits with zero offers, and a plain-English interpretation. Read-only.

  • recruiting_list_recruits { file_path, stars?, signed?, zero_offers_only? } — drill into a specific cohort (e.g. unsigned 4–5 stars). Read-only.

  • recruiting_prune_low_stars { file_path, stars?, dry_run } — remove low-star recruits (default 1–2 star, HS only) to unclog the pool. Dry-run by default.

  • recruiting_save { file_path } — write edits to disk (timestamped backup).

  • recruiting_close { file_path }.

Setup

# alongside a clone of bep713/madden-franchise (this depends on it via file:)
npm install
npm run build

Register with an MCP client (e.g. Claude Code .mcp.json):

{
  "mcpServers": {
    "cfb-recruiting": { "command": "node", "args": ["<path>/cfb-recruiting-mcp/dist/index.js"] }
  }
}

Important: what this can and cannot do

  • The recruiting AI/engine is compiled into the game — not moddable. This tool changes the save-file data the AI works on (the recruit pool), not its behavior. Fewer junk recruits ⇒ the AI spreads itself less thin.

  • Every change is a save edit with an automatic backup. Verify results in-game and restore the .backup-* file if anything looks wrong.

  • recruiting_prune_low_stars is experimental: it removes recruits by setting their stage to Invalid and burying rank/offers. Whether that fully clears them from in-game boards needs playtesting — feedback welcome.

Credits

Built on bep713/madden-franchise. Full CFB 27 schema (major 809) extraction method by brooksg357-a11y/cfb27-dynasty-modding. Part of a free community modding suite by @RoamingAnalyst.

License

MIT.