chalktalk
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chalktalkHow many star players had under 15 snaps in 2023?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
chalktalk
An MCP server for composite NFL questions where the hard part is agreeing on what the words mean.
Status: in progress. Ingest works —
chalktalk buildpulls nflverse into a local DuckDB file. The feature layer, definitions and the server are not built yet. Seedocs/plan/00-index.mdfor the phase ledger.
The problem
Take a real question:
"How many times have star players played fewer than 15 snaps before leaving with injury? Total by season."
Three of those phrases have no corresponding field anywhere in the data:
"star players" — no such marker exists. Prior-season snap share above some percentile? Draft capital? Pro Bowl selection? Contract APY? Each yields a different answer.
"before leaving with injury" — nothing records in-game exits. The injuries table is the weekly report — practice participation and game designation, published before kickoff. Exits have to be inferred.
"fewer than 15 snaps" — the only clean one, and it still needs a decision about whether special teams counts.
A text-to-SQL system will silently pick definitions and return a confident number. chalktalk refuses to do that.
Related MCP server: mdx-mcp
The definition gate
The query tool rejects any call containing an unresolved term:
{ "error": "unresolved_term",
"term": "star_player",
"message": "No definition found. Call propose_definition first.",
"suggestions": ["..."] }propose_definition then returns candidates grounded in what is actually
computable, each tagged with the seasons it covers. You pick or edit. The choice
is saved and reused silently from then on, and every answer states which
definitions produced it.
Over time you accumulate a personal metric vocabulary you never sat down to design. This inverts the usual semantic-layer model, where a data team authors definitions up front.
Install (development)
Requires Python 3.12+ and uv.
uv syncuv run chalktalk doctordoctor prints the resolved paths under CHALKTALK_HOME (default
~/.chalktalk), whether a built database is present, and the versions of duckdb,
nflreadpy and polars it will use.
uv run pytestThe default run is the unit tier and needs no data. Tests that require a built
database are marked data and are opt-in: uv run pytest -m data.
Building the database
uv run chalktalk buildThis downloads every nflverse dataset from the 2013 season on and writes one
immutable ~/.chalktalk/data/nfl-YYYYMMDD.duckdb, then points CURRENT at it.
Roughly a minute and 720 MB. --plan shows what would be downloaded without
downloading anything; --seasons and --only narrow it.
The file is disposable — rebuild it weekly and nothing is lost, because
definitions live outside it under ~/.chalktalk/definitions/.
Design
Architecture and rationale: CLAUDE.md.
Rejected alternatives and why: docs/decision-history.md.
The short version: one process, one DuckDB file on local disk, 2013 season floor, Python. Definitions are stored as specs rather than SQL and live outside the database, which is discarded and rebuilt weekly.
Data and attribution
Data comes from nflverse, via
nflreadpy. chalktalk distributes code, not data — you pull from nflverse
yourself when you build the database.
Two distinct layers, worth keeping separate:
The compiled nflverse dataset is licensed CC BY 4.0 (attribution, no ShareAlike).
The underlying NFL data belongs to its respective owners and is governed by their terms of use. nflverse does not claim to grant rights to it, and neither does this project.
The MIT license on this repository covers this project's code only. It grants no rights to NFL data.
Credits
nflverse for the data infrastructure this is built on.
nfl-mcp(MIT) — the ingest module here is adapted from theirs, with the notice retained. It solves a different problem well: if you want a fantasy football tool, use it rather than this.
License
MIT — see LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
For queries a model can't confidently place: resolves or declines. Built to decline, not guess.
Explainable ambiguity signals for text. Submitted text is processed but never retained.
Architecture-grounded query for AI agents. Governance constraints, evidence-linked answers.
Shared reasoning for unresolved, disputed, multi-step, provenance-sensitive problems across agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to identify and judge unexplained terms in prose documents by providing differential linting, term context, and ledger management.MIT
- AlicenseAqualityBmaintenanceEnables natural language querying of OLAP/SSAS cubes with verified MDX generation, self-consistency checks, and honest abstention when queries are ambiguous.4Apache 2.0
- AlicenseAqualityBmaintenanceEnables natural-language querying of a local DuckDB warehouse of NFL play-by-play data, converting questions into SQL and returning results.19MIT
- AlicenseNot gradedqualityAmaintenanceEnables natural-language queries over data warehouses with catalog-grounded semantics and per-query authorization, returning answers with attached reasoning.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmalament-wheelsup/chalktalk'
If you have feedback or need assistance with the MCP directory API, please join our Discord server