A side-by-side look at the Fantasy Draft and Endiagram MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Fantasy Draft for developer tools work over a hosted endpoint; choose Endiagram MCP for developer tools as a local process. You can also run both side by side in one mcpServers block.
draft_board, best_available, player_outlook.EN_API_URL, ENDIAGRAM_TELEMETRY.structure, invariant, live.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 59/100 · Good | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | EN_API_URLENDIAGRAM_TELEMETRY |
draft_boardIn season: this week's QB/RB/WR/TE rankings by the median Kalshi prices each player at (pass/rush/rec yds), plus anytime-TD price. Free. (Draft board returns in 2027.)best_availableIn season: where the best available PRICE is on this week's NFL props — strikes where Kalshi and the book consensus are 5¢+ apart. Free.player_outlookOne NFL player this week — every Kalshi prop line, the best price across venues, and our probability at each strike. Free. Use for "is <player> a good play this week", "<player> props".explain_playerWhy the PredictionMarketsPicks model prices an NFL player's Kalshi prop strikes where it does this week: the projection, The Ladder's verdict (SHAPE, LOCATION, PRICED or market-only), the widest published model-vs-market gap, and what the model does NOT account for. Our number appears only where it is measured calibrated (30–70%). Use for "why do you price <player> there", "explain <player>'s prop", "what's driving the model on <player>", "why is <player>'s over priced at that".compare_playersCompare 2–4 NFL players this week: every Kalshi prop strike each has, the best price per side across venues, our probability where we publish one, and a ranked verdict on whose price the model disagrees with most, and on which strike. Use for "<A> or <B> this week", "compare <A> and <B> props", "who has the better prop, <A> or <B>", "<A> vs <B> receiving yards".sleepers_and_bustsEvery NFL player whose Kalshi prop price the PredictionMarketsPicks model disagrees with this week, ranked, each marked underpriced (model above the market) or overpriced (model below) with the stat driving it. Free, the complete list, no key. Which strike, at what price and by how much is the Pro nfl_prop_edge tool. Use for "undervalued players this week", "who is the market overpricing", "which players is the market wrong on", "overrated players week N", "where does your model disagree with the market most", "sleepers this week", "busts to avoid this week".adp_market_gapsIn season: Kalshi vs book-consensus gaps on this week's NFL props, widest first, filter by position. Free. (ADP gaps return in the 2027 offseason.)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"fantasy-draft": {
"url": "https://predictionmarketspicks.com/api/mcp-draft/mcp"
}
}
}
{
"mcpServers": {
"endiagram-mcp": {
"command": "npx",
"args": [
"-y",
"@endiagram/mcp"
],
"env": {
"EN_API_URL": "YOUR_EN_API_URL_HERE",
"ENDIAGRAM_TELEMETRY": "YOUR_ENDIAGRAM_TELEMETRY_HERE"
}
}
}
}
| Verified owner | Community listing | Community listing |
|---|
| GitHub stars | 0 | 8 |
|---|
| Directory activity | 0 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
|---|
| Tools | 11 | 7 |
|---|
| Full listing | View Fantasy Draft | View Endiagram MCP |
|---|
who_do_i_draftIn season: the Kalshi props listed on the players you name (2–4), with the best price per strike. Free. Pass roster: ['Player A', 'Player B'].my_leagueUse for "show my fantasy team" and "what is Kalshi pricing my starters at". Give a Sleeper username (and a league name if you have several): your roster, each starter's opponent and kickoff, OUT and QB-gate flags, and every Kalshi prop strike on him this week with the best price per side. Market data; Pro adds our weekly projection.start_sitUse for "should I start Nacua or Adams" and "who does the market like more this week". For 2–4 players: the median Kalshi is pricing for each stat (read off his own strike ladder) and his anytime-TD price, compared on the stats they share. Market prices only — the call stays yours; Pro adds our weekly projection.waiver_targetsUse for "who is everyone adding off waivers" and "trending waiver adds this week". Sleeper's most-added players in the last 24 hours with what Kalshi is pricing each at this week; pass position, and a Sleeper username + league to see only players still available. Market data only.structureWhat is this system? Returns shape (Pipeline, Fork-Join, DAG, Star, Cycle, Tree, Complete, etc.), stages with roles, bridge nodes, cycles, parallelism, critical path, dominator tree, min-cuts, subsystems, interface nodes, actors (who does what, workload entropy), locations (where work happens, boundary crossings). Levers: node=X returns per-node centrality (betweenness, closeness, eigenvector) for a specific node. detect_findings=true flags named structural risks — unguarded-sink (sinks reachable via only pipeline actions, no JOIN/HUB gating), single-cut-path (source-sink pairs with only one vertex-disjoint path), multi-cut-path (paths with redundant defense, min-cut > 1). See server instructions for EN language syntax.invariantWhat's always true — automatic findings and on-demand checks. Automatic outputs: conservationLaws (weighted entity sums constant across executions), sustainableCycles (T-invariants — action sequences returning to start state), depletableSets (entity groups whose simultaneous depletion is irreversible), behavioral.deficiency (0 means structure fully determines dynamics), behavioral.isReversible, behavioral.hasUniqueEquilibrium. On-demand via `rules`: encode domain-specific claims and verify them against the graph — this is how to check things the topology alone can't see (precedence, coverage, centrality bounds, resilience). See the rules parameter for supported sentence shapes.liveCan it deadlock? Can entities overflow? isStructurallyLive means every siphon contains a trap — no structural deadlock possible. uncoveredSiphons are entity groups that can drain permanently, with the actors and locations affected. isStructurallyBounded means no entity can accumulate without limit. unboundedCycles are action sequences that could cause overflow. See the server instructions for EN language syntax.reachableCan X reach Y? Follows directed data flow first; falls back to undirected. `from` and `to` accept entity names or action names (resolved against the program). Path shows each step with actor and location. locationCrossings counts boundary transitions. defense_nodes checks if guards cover all paths; coverage.fullCoverage=false means unguarded routes exist. See the server instructions for EN language syntax.equivalentAre two systems the same, or what changes if I change this one? Compare mode (source_a + source_b): structural differences, edit distance, spectral equivalence. isCospectral=true means identical graph structure up to relabeling — topologically the same despite different names, actors, or locations. Evolve mode (source + patch): dry-run a change, shows diff plus new/lost bridge nodes. Patch has three directive types — plain EN statement adds an action; a line starting with `-` (and not containing `do:`) removes the named action; a statement whose action name matches an existing one replaces the original. See the server instructions for EN language syntax.composeHow do parts combine, or how does a part stand alone? Merge mode (source_a + source_b + links): declare which entities in A are the same as entities in B; the combined graph is wired via string-equality of shared names. Extract mode (source + subsystem): pull a named subsystem out as standalone EN with boundary inputs/outputs, actors, and locations. Valid subsystem names come from structure's `subsystems` field — call structure on the source first to discover them. See the server instructions for EN language syntax.renderSVG or PNG diagram. Only call when user explicitly asks to visualize. The rendered image is delivered to the user, not injected into the model's context. See the server instructions for EN language syntax.