Live sports data: scores, play-by-play, box scores, odds and props. No key needed to start.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional Aura API key. Without one, each connection starts on a 1,000-request trial.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Full box score for one game: team totals and every player's stat line.
Aura game id from aura_list_games or aura_live_games
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http aura https://aura.tl/mcp
Headers
x-api-key (optional, not in the config above): Optional Aura API key. Without one, each connection starts on a 1,000-request trial.Full box score for one game: team totals and every player's stat line.
| Argument | Type | Description |
|---|---|---|
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
}
},
"additionalProperties": false
}Emails the user a 6-digit code that moves this connection from the trial to the free plan (50,000 requests a month). Ask the user for their email first; never guess it. Then ask them for the code and call aura_verify_email.
| Argument | Type | Description |
|---|---|---|
| email* | string | The user's own email address |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The user's own email address"
}
},
"additionalProperties": false
}Which sports, seasons and data products Aura has right now, with measured completeness and freshness. Call when unsure whether Aura covers something.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}What is happening in a game at this moment: score, situation (count, outs and bases, or period and clock), latest play and freshness.
| Argument | Type | Description |
|---|---|---|
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
}
},
"additionalProperties": false
}Current odds for one game: moneyline, spread, total and player props, each source priced on both sides, with live result and settlement. Pass marketType to keep the result small; player_prop results can be large, so add playerId or definitionId.
| Argument | Type | Description |
|---|---|---|
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
| category | string | Prop category, e.g. points |
| playerId | string | Aura player id |
| marketType | string | |
| definitionId | string | Market definition id from a previous result |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
},
"category": {
"type": "string",
"description": "Prop category, e.g. points"
},
"playerId": {
"type": "string",
"description": "Aura player id"
},
"marketType": {
"enum": [
"moneyline",
"spread",
"total",
"player_prop"
],
"type": "string"
},
"definitionId": {
"type": "string",
"description": "Market definition id from a previous result"
}
},
"additionalProperties": false
}Play-by-play for one game in order, a page at a time. Pass page.nextCursor to continue.
| Argument | Type | Description |
|---|---|---|
| cursor | string | page.nextCursor from the previous call |
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
| pageSize | number | Defaults to 100 |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"cursor": {
"type": "string",
"description": "page.nextCursor from the previous call"
},
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
},
"pageSize": {
"type": "number",
"maximum": 250,
"minimum": 1,
"description": "Defaults to 100"
}
},
"additionalProperties": false
}One game by Aura game id: teams, start time, status, period and score.
| Argument | Type | Description |
|---|---|---|
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
}
},
"additionalProperties": false
}One player by Aura player id: name, position, status, current team and headshot.
| Argument | Type | Description |
|---|---|---|
| playerId* | string | Aura player id |
{
"type": "object",
"required": [
"playerId"
],
"properties": {
"playerId": {
"type": "string",
"description": "Aura player id"
}
},
"additionalProperties": false
}One team by Aura team id.
| Argument | Type | Description |
|---|---|---|
| teamId* | string | Aura team id from aura_list_teams |
{
"type": "object",
"required": [
"teamId"
],
"properties": {
"teamId": {
"type": "string",
"description": "Aura team id from aura_list_teams"
}
},
"additionalProperties": false
}A team's roster with player ids, positions, jersey numbers, height, weight and headshots.
| Argument | Type | Description |
|---|---|---|
| teamId* | string | Aura team id from aura_list_teams |
{
"type": "object",
"required": [
"teamId"
],
"properties": {
"teamId": {
"type": "string",
"description": "Aura team id from aura_list_teams"
}
},
"additionalProperties": false
}Games for one day with teams, start time, status and score. Omit date for today (US Pacific league date). Filter by sport, status or team abbreviation. Returns Aura game ids for the other game tools; for odds, pass each id to aura_game_markets.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD league date; defaults to today |
| team | string | Team abbreviation, e.g. NYY |
| sport | string | |
| cursor | string | page.nextCursor from the previous call |
| status | string | |
| pageSize | number | Defaults to 25 |
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD league date; defaults to today"
},
"team": {
"type": "string",
"description": "Team abbreviation, e.g. NYY"
},
"sport": {
"enum": [
"NFL",
"COLLEGE_FOOTBALL",
"NBA",
"NHL",
"COLLEGE_BASKETBALL",
"MLB",
"WNBA"
],
"type": "string"
},
"cursor": {
"type": "string",
"description": "page.nextCursor from the previous call"
},
"status": {
"enum": [
"scheduled",
"in_progress",
"final"
],
"type": "string"
},
"pageSize": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Defaults to 25"
}
},
"additionalProperties": false
}Player profiles for a whole sport, a page at a time. For one team use aura_get_team_roster.
| Argument | Type | Description |
|---|---|---|
| sport* | string | |
| cursor | string | page.next from the previous call |
{
"type": "object",
"required": [
"sport"
],
"properties": {
"sport": {
"enum": [
"NFL",
"COLLEGE_FOOTBALL",
"NBA",
"NHL",
"COLLEGE_BASKETBALL",
"MLB",
"WNBA"
],
"type": "string"
},
"cursor": {
"type": "string",
"description": "page.next from the previous call"
}
},
"additionalProperties": false
}Every team in a sport with Aura team ids, names, abbreviations, colors, conference and division.
| Argument | Type | Description |
|---|---|---|
| sport* | string |
{
"type": "object",
"required": [
"sport"
],
"properties": {
"sport": {
"enum": [
"NFL",
"COLLEGE_FOOTBALL",
"NBA",
"NHL",
"COLLEGE_BASKETBALL",
"MLB",
"WNBA"
],
"type": "string"
}
},
"additionalProperties": false
}Every game in progress right now, across all sports, with score and period or inning.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Time series of in-game metrics for one game, such as win probability, score margin and player lines. Call without definitionId first to see which series exist.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| cursor | string | |
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
| entityId | string | Team or player id |
| definitionId | string | Series id from a call without it |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"limit": {
"type": "number",
"maximum": 500,
"minimum": 1
},
"cursor": {
"type": "string"
},
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
},
"entityId": {
"type": "string",
"description": "Team or player id"
},
"definitionId": {
"type": "string",
"description": "Series id from a call without it"
}
},
"additionalProperties": false
}How a game's odds moved from open to now, as timestamped observations. Use for "how has the line moved".
| Argument | Type | Description |
|---|---|---|
| gameId* | string | Aura game id from aura_list_games or aura_live_games |
| marketType | string |
{
"type": "object",
"required": [
"gameId"
],
"properties": {
"gameId": {
"type": "string",
"description": "Aura game id from aura_list_games or aura_live_games"
},
"marketType": {
"enum": [
"moneyline",
"spread",
"total"
],
"type": "string"
}
},
"additionalProperties": false
}Returns a checkout link for Aura Pro: $20 a month for 500,000 requests. Give the link to the user; they pay in their browser and this connection upgrades. Needs a verified email first.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Checks the 6-digit code from the user's email and puts this connection on the free plan: 50,000 requests a month.
| Argument | Type | Description |
|---|---|---|
| code* | string | The 6-digit code the user received |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The 6-digit code the user received"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.