Skip to main content
Glama
parthakker

NFL Analytics MCP

by parthakker

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
query_warehouseA

Run a read-only SELECT against the NFL warehouse (DuckDB). Multiple statements are rejected. See describe_warehouse for tables and gotchas.

describe_warehouseA

List tables/views (no arg) or show one table's columns plus the relevant data-dictionary notes (gotchas, join keys, conventions).

team_formB

Team record, EPA splits (season-to-date and last 5 games), rest/travel profile, and next scheduled game. through_week=0 means whole season.

player_lookupA

Find a player (name substring or gsis_id), return id bridge, bio, and recent season stat lines from the cross-era weekly view.

predict_gameA

Model prediction for a matchup: home win probability, predicted margin, feature inputs. Uses schedule rest days if the game is scheduled; attaches the market line when available. Early-season caveat applies (weeks 1-3).

power_ratingsC

Current model power ratings for all teams (EPA/play units; ratings entering the next game). net = mean(off) - mean(def); lower def is better.

model_reportB

Backtest summary and the honest verdict from the last training run.

kalshi_marketsA

Open Kalshi NFL markets. kind: game | spread | total | win_totals | superbowl. Optional team filter (canonical code, e.g. DET). Prices are probabilities in dollars (0.64 = 64c = 64% implied).

kalshi_market_detailB

One market's full picture: current prices, top-of-book depth, implied probability at bid/mid/ask, spread width, and estimated fee.

kalshi_snapshot_nowA

Record a price snapshot of ALL open NFL markets into kalshi.duckdb (adds to line-movement history). Also runs on the 6h schedule.

kalshi_price_historyC

Recorded price history for one market from accumulated snapshots.

coach_profileC

Head coach career: records, playoffs, ATS, 4th-down aggressiveness, pass-rate-over-expected, scheme identity (curated), rivalry records.

referee_statsA

Head referee tendencies 2015+: penalties/game, home penalty bias, over rate, home win/cover rates. Empty name = all refs ranked.

betting_boardC

Upcoming games: Vegas lines vs live Kalshi prices with dislocation flags (market-vs-market, fee-adjusted) and situational angles.

news_searchA

Full-text search over ALL stored news (ESPN, team sites, PFT, Yahoo) ranked by relevance. e.g. 'Gibbs hamstring', 'coaching change Arizona'.

player_newsA

Recent news and injury-report entries for a player (name or gsis_id), from the polled ESPN feeds in news.duckdb.

league_newsA

Latest league headlines (optionally filtered to one team) from the polled ESPN news feed.

data_statusA

Coverage and staleness: latest season/week per core table, last refresh-log lines, and whether a refresh looks needed.

refresh_dataA

Download latest nflverse data and rebuild the warehouse (~1-2 min). Runs as a subprocess so the server holds no DB handle during rebuild.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation5/5

Every tool targets a distinct resource and action: player vs team vs game vs market vs warehouse. Even the news trio is separated by scope, and the kalshi quartet clearly separates listing, detail, snapshot, and history.

Naming Consistency3/5

Tool names mix conventions: some are verb-first (predict_game, refresh_data, query_warehouse, describe_warehouse), others are noun-first (team_form, player_lookup, kalshi_markets). The kalshi_ prefix provides local consistency, but the overall pattern is not uniform.

Tool Count4/5

With 19 tools, the server is slightly above the ideal 3-15 range, but the comprehensive scope—data ingestion, analytics, news, betting markets, and model reporting—justifies the count. Each tool earns its place.

Completeness5/5

The tool surface covers the full lifecycle: data refresh and status, warehouse querying and schema discovery, player/team/coach/referee analytics, news search, betting market analysis, and model prediction/reporting. No obvious dead ends or missing key operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues