MissedTakes
Graded track records of NFL and election pundits: records, leaderboards, takes, game and race calls.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"missedtakes": {
"url": "https://missedtakes.co/api/mcp"
}
}
}Remote endpoints
https://missedtakes.co/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
🟢find_entities(query, kind)
Look up the slug MissedTakes uses for a pundit, a publication (outlet), an NFL team, an NFL player or a prediction type, by full or partial name. Call this first whenever the user names someone: the other tools take slugs, never names. Only pundits and outlets with a public page are returned.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "A name or part of one, e.g. \"Kiper\"."
},
"kind": {
"description": "Restrict to one kind. Omit to search all five.",
"type": "string",
"enum": [
"pundit",
"outlet",
"team",
"player",
"prediction_type"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢leaderboard(typeSlug, limit)
The ranked NFL pundit leaderboard, the same rows missedtakes.co/nfl/leaderboard prints: MissedTakes Score (skill against a naive baseline, which is the ranking), accuracy, graded takes and articles. Provisional records (under ten graded articles) are not ranked. Pass a prediction type slug (find_entities, kind prediction_type) to rank within one kind of claim, such as mock drafts.
Input Schema
{
"type": "object",
"properties": {
"typeSlug": {
"description": "A prediction type slug to rank within. Omit for the overall NFL board.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"limit": {
"description": "How many rows, 1-25 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pundit_record(punditSlug)
One pundit's published NFL record: overall MissedTakes Score, accuracy and sample size, the record broken down by prediction type, and any Pundit of the Week or Month awards. For their election record, call election_pundit.
Input Schema
{
"type": "object",
"properties": {
"punditSlug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "The pundit's slug, from find_entities."
}
},
"required": [
"punditSlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢outlet_record(outletSlug)
One publication's NFL record, aggregated across everyone writing or speaking under its banner: overall and by prediction type, with how many pundits contribute.
Input Schema
{
"type": "object",
"properties": {
"outletSlug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "The outlet's slug, from find_entities."
}
},
"required": [
"outletSlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_takes(punditSlug, outletSlug, typeSlug, teamSlug, playerSlug, ...)
Individual NFL predictions: who made them, when (claimedAt is the publication date), a short excerpt of the wording, the grade (accuracy 0-100, or pending) and the grading arithmetic. Filter by pundit, outlet, prediction type, team, player, season, verdict (hit is 80+, close is 40-79, miss is under 40) and claim dates. 25 rows a page; pass page for more.
Input Schema
{
"type": "object",
"properties": {
"punditSlug": {
"description": "Only takes by this pundit.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"outletSlug": {
"description": "Only takes published by this outlet.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"typeSlug": {
"description": "Only this prediction type.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"teamSlug": {
"description": "Only takes about this team.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"playerSlug": {
"description": "Only takes about this player.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"seasonYear": {
"description": "Only takes tied to this NFL season.",
"type": "integer",
"minimum": 2000,
"maximum": 2100
},
"verdict": {
"description": "hit is 80+, close 40-79, miss under 40; graded is any grade.",
"type": "string",
"enum": [
"all",
"graded",
"hit",
"close",
"miss",
"pending"
]
},
"claimedAfter": {
"description": "Only takes published on or after this date (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"claimedBefore": {
"description": "Only takes published on or before this date (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"sort": {
"type": "string",
"enum": [
"recent",
"oldest",
"best",
"worst",
"skill"
]
},
"page": {
"description": "1-based page of 25 rows.",
"type": "integer",
"minimum": 1,
"maximum": 400
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢game_room(seasonYear, week, teamSlug)
What the pundits predicted for one NFL game, counted the way its page on missedtakes.co counts it: how many took each side (one voice per pundit, their latest call standing), the median predicted margin, each pundit's latest score call as a home-minus-away margin, and the final score once the game is played. Identify the game by season year, week (1-18 regular season, 19-22 playoffs) and either team's slug.
Input Schema
{
"type": "object",
"properties": {
"seasonYear": {
"type": "integer",
"minimum": 2000,
"maximum": 2100,
"description": "The NFL season, e.g. 2026."
},
"week": {
"type": "integer",
"minimum": 1,
"maximum": 22,
"description": "Week 1-18 for the regular season, 19-22 for the playoffs."
},
"teamSlug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Either team's slug, e.g. \"lions\" (find_entities, kind team)."
}
},
"required": [
"seasonYear",
"week",
"teamSlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢election_races(office, state, cycle, limit)
The races, chamber control and the national House popular vote that pundits have called in an election cycle (the current one unless you pass cycle), most-called first: how many pundits called each, how the field splits (each pundit's latest pick counted once, and split into forecasters and commentators), calls in the last 7 days, and the VoteHub polling average where one exists. Filter by office (president, senate, house, governor, chamber, national) or two-letter state. Use it to find a race slug.
Input Schema
{
"type": "object",
"properties": {
"office": {
"type": "string",
"enum": [
"president",
"senate",
"house",
"governor",
"chamber",
"national"
]
},
"state": {
"description": "Two-letter state code, e.g. \"GA\".",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"cycle": {
"description": "The election cycle year. Omit for the current cycle.",
"type": "integer",
"minimum": 2000,
"maximum": 2100
},
"limit": {
"description": "How many, 1-40 (default 15).",
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢election_race_calls(raceSlug, cycle, page)
The individual calls on one race or chamber, newest first: who said it, when, what they picked or the number they named, a short excerpt of their wording, and the pundit's graded election record from past cycles. raceSlug comes from election_races, or is chamber:senate, chamber:house or national:house-vote.
Input Schema
{
"type": "object",
"properties": {
"raceSlug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "A race slug from election_races, or chamber:senate, chamber:house or national:house-vote."
},
"cycle": {
"description": "The cycle, for a chamber or the national vote. Omit for the current cycle.",
"type": "integer",
"minimum": 2000,
"maximum": 2100
},
"page": {
"description": "1-based page of 25 calls.",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"raceSlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢election_pundit(punditSlug, name, cycle)
One pundit's election record: their graded record from past cycles (accuracy, MissedTakes Score, sample size) and their calls in the current cycle, newest first. Look up by slug, or by part of their name.
Input Schema
{
"type": "object",
"properties": {
"punditSlug": {
"description": "The pundit's slug.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"name": {
"description": "Part of the pundit's name, when the slug is unknown.",
"type": "string",
"minLength": 2,
"maxLength": 80
},
"cycle": {
"description": "The cycle whose calls to list. Omit for the current one.",
"type": "integer",
"minimum": 2000,
"maximum": 2100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence