Skip to main content
Glama

fm-open-scout

Open-source scouting for your own Football Manager saves. Ask your AI assistant "find me a DM better than mine for under £25m" and get an answer from your actual save.

CI Buy Me a Coffee

Independent project, not affiliated with or endorsed by Sports Interactive or SEGA. Football Manager is a trademark of Sports Interactive. fm-open-scout only reads save files on your own machine; it does not modify saves, the game, or any game data.

What it does

  • Reads .fm saves from FM24, FM26 and FM27, including FM24 careers re-saved by FM27. Other versions are read with a statistical layout probe and clearly marked as unverified.

  • Every player in the database: CA and PA, all 54 attributes (including hidden ones), personality, positions, club, contract, wage, value and last transfer fee.

  • Scouting tools for AI assistants through an MCP server:

    Tool

    What it answers

    list_saves / load_save

    Which saves you have; loads the newest by default and warns when a newer one appears

    search_players

    Filter by role, position, CA, PA, age, value, wage, club, nation, free agents; sort by CA, PA, role fit, price or "bargain" (cheap for their CA)

    player

    Full profile, including hidden attributes and personality

    squad / compare_squads

    Your squad, best XI by slot, and where it falls short of your rivals

    similar_players

    Players like X, by CA/PA/age or by playing style

    project_player

    Estimate of how a player's attributes may develop (realistic and ceiling)

  • A skill (skills/fm-scout) that teaches the assistant a good scouting workflow: newest save first, find weaknesses, search with several lenses (ready now, role fit, undervalued, potential, free agents) and check determination before trusting a PA.

  • A command-line parser (Rust) that exports a save to JSON, and a small JavaScript reader.

Related MCP server: MCP Eleven

Quick start

Requirements: Node.js 20+.

git clone https://github.com/YanivGabay/fm-open-scout.git && cd fm-open-scout
npm install

Then get the save parser, either:

  • Download it: from the latest release, take the file for your system and save it as bin/fm_save_parser (bin\fm_save_parser.exe on Windows; on macOS and Linux run chmod +x bin/fm_save_parser), or

  • Build it with Rust: (cd fm_save_parser && cargo build --release).

Use it from Claude Code

claude mcp add fm-open-scout -- node /path/to/fm-open-scout/mcp/server.js

Optional: copy the skill so Claude follows the scouting workflow.

mkdir -p ~/.claude/skills && cp -r skills/fm-scout ~/.claude/skills/

Then ask: "load my newest FM save and tell me what my squad lacks".

Use it from Claude Desktop or other MCP clients

Add to the client's MCP configuration (for Claude Desktop: claude_desktop_config.json):

{
  "mcpServers": {
    "fm-open-scout": {
      "command": "node",
      "args": ["/path/to/fm-open-scout/mcp/server.js"]
    }
  }
}

Settings (environment variables)

Variable

Default

FM_SAVE_DIRS

Auto-detected Sports Interactive/Football Manager */games folders (Windows, macOS, Linux, WSL). Separate several with : (; on Windows).

FM_SAVE_PARSER

fm_save_parser/target/release/fm_save_parser

FM_OPEN_SCOUT_CACHE

~/.cache/fm-open-scout (parsed saves; delete any time)

FM_OPEN_SCOUT_QUIET

Set to 1 to hide the one-line donation note shown on load_save

Command line

fm_save_parser/target/release/fm_save_parser info "My Save.fm"
fm_save_parser/target/release/fm_save_parser players "My Save.fm" --top 30 --json players.json

Troubleshooting

Problem

Fix

"no .fm saves found"

Saves are looked for in Sports Interactive/Football Manager */games (and cloud/games) under Documents, OneDrive\Documents, AppData\Local, macOS Application Support and Steam Proton prefixes. If yours are elsewhere, set FM_SAVE_DIRS.

"parser not found"

Put the release binary in bin/ or build it (see Quick start), or set FM_SAVE_PARSER.

Results look out of date

Save the game again; the tools always use the newest save and say when a newer one appears.

"bad signature"

The file is not an FM24-FM27 save (or is still being written). Older versions: see FORMAT.md §9.

A target "doesn't want to sign"

Players compare their reputation with your club's. Search lower-reputation leagues and use promotion clauses or loans.

How accurate is it?

  • The save format, the evidence for every field and its confidence level are documented in FORMAT.md. Fields are checked against known real players and statistics over the whole database; scripts/verify_fields.js reproduces the statistics.

  • Values are the save's own stored estimate, not the asking price a club will want.

  • Role scores are weighted attribute averages (1-20) chosen by this project, a guide rather than the game's rating.

  • project_player is an estimate. FM does not store future attributes; it develops players while you play. The estimate uses how each attribute rises with CA across all players of the same position, scaled by age, determination and professionalism.

Privacy

Everything runs locally. Saves are only read, never modified or uploaded. Parsed data is cached in your user folder. Please don't publish exported player databases.

Contributing

New FM release? The parser's probe usually reads it on day one. To verify a version, see FORMAT.md §9: one new-game save and one save a few months in, plus screenshots of a couple of player profiles, are enough to register a verified layout.

Run the tests with npm test. The Rust integration tests read your own saves from the git-ignored saves/ folder (fm24.fm, fm26.fm, fm27.fm, fm27_resaved.fm, fm26/), or from FM24_SAVE, FM26_SAVE, FM27_SAVE, FM27_RESAVED, FM26_SAVE_DIR; tests without a save are skipped.

Support the project

fm-open-scout is free and will stay free, with every feature open. If it helped your save, you can buy me a coffee.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to analyze Fantasy Premier League data, providing tools for player search, fixture analysis, manager comparisons, and strategy prompts for transfer planning and lineup selection.
    19
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An open-source MCP server that turns any AI assistant into a football data analytics and scouting platform, enabling natural language queries over 40+ stats, 20+ leagues, and 10,000+ players.
    1
    -
  • A
    license
    B
    quality
    A
    maintenance
    Enables AI assistants to interact with a Pro Wrestling Sim save, allowing natural language queries about roster, contracts, shows, and more, with read-only analysis and validated booking actions.
    72
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to inspect, create, and report on IFC/BIM files locally, and to open models in a viewer with BCF viewpoint support.
    5
    227 npm
    13
    Apache 2.0