alpha: MLB live, NBA and NFL in progress
The attachable sports wire.
Attribution-first league news for any AI surface: headlines, links, and tags. The article body never leaves the league.
- title
- the headline as the league published it
- summary
- the league's own summary, unedited
- link
- canonical URL back to the league
- published
- publish time as the source reports it
- tags
- sport, teams, players
- source
- league name plus its terms
The article body is never fetched, stored, or paraphrased.
attaches to
- Claude Desktop
- Claude Code
- ChatGPT
- Cursor
- any MCP client
- license
- MIT
- dependencies
- zero
- node
- 18 or newer
- transports
- stdio and Streamable HTTP
Attach in 30 seconds
One config file and one command. No account, no API key, nothing to sign up for.
1. Write gloatwire.config.json
Sources ship disabled. Turn on the ones you want.
{
"serverInfo": { "name": "gloatwire", "version": "0.1.0" },
"sources": {
"mlb": { "enabled": true },
"nba": { "enabled": false },
"nfl": { "enabled": false }
},
"gloatEngine": { "enabled": false, "baseUrl": "http://localhost:8000" },
"cache": { "ttlSeconds": 300 }
}
Check it runs (install once with npm install gloatwire, or run it straight with npx):
npx gloatwire --config gloatwire.config.json
2. Attach your client
Add the server to claude_desktop_config.json (on macOS it lives at ~/Library/Application Support/Claude/), then restart Claude Desktop.
{
"mcpServers": {
"gloatwire": {
"command": "npx",
"args": ["gloatwire", "--config", "/absolute/path/gloatwire.config.json"]
}
}
}
One command, from anywhere on your machine.
claude mcp add gloatwire -- npx gloatwire --config /absolute/path/gloatwire.config.json
Start the HTTP server, then point any Streamable-HTTP MCP client at http://localhost:8723 (JSON-RPC over POST).
npx gloatwire --config gloatwire.config.json --http 8723
Stdio is the default transport. Any MCP client works, not just these three.
Six tools, one wire
The whole surface fits on one page. Every response carries a per-source status map and the source terms, so the agent can always say where a headline came from.
| Tool | What it answers |
|---|---|
wire.listsport, team_ids, player_ids, days, page_size, cursor |
Headlines newest first, filterable by sport, team, or player, with cursor paging. |
wire.getone id |
One headline by id, with its full attribution block. |
wire.topper sport |
Top headlines per sport. Newest first in alpha; editorial ranking comes later. |
wire.playersnames or GloatEngine public_ids |
Headlines that mention given players, resolved through GloatEngine ids. |
wire.teamsids or names |
Headlines that mention given teams. |
wire.aboutno arguments |
Server facts, enabled sources with their terms, and the attribution policy. |
attribution policy
The headline and the link. Never the body.
Every item points straight back to the league that wrote it, with the source named in the response. gloatwire copies nothing: no body text, no images, no cached articles.
Travels with every item
- title, exactly as the league published it
- the league's own summary
- the canonical link back
- publish time
- sport, team, and player tags
- the source name and its terms
Never touches the wire
- article body text
- images and video
- full text copies
- cached pages
Rights stay with the leagues. The reader always lands on the publisher.
How it is built
-
Attribution first
Metadata and links out. The body stays with the league.
-
Config driven
What a deployment serves is a property of its config file.
-
Failures are per source
One dead league never hides the others.
-
Honest capability
Sources say what they tag. Nothing is guessed past documented matching.
MLB live. NBA and NFL in progress.
Honest capability: a source says what it can tag, and nothing is guessed past that.
- MLB Official league RSS Headline, summary, and a link back. Team tags matched from headline text. live now
- NBA League Content API Native team and player tags when it lands. Bot-wall handling comes first. in progress
- NFL GDELT fallback and team-site feeds Headline metadata for team and player queries. in progress
Sources ship disabled until you enable them. Reachability is not permission. Every response carries a per-source status map, so a stale or down league is visible instead of hidden.
planned tiers
Free to self-host. Paid tiers ship with the control plane.
Everything on this page runs from your own machine today. The paid tiers describe the hosted product that comes later.
Free available today
$0
Self-host, MIT licensed.
- Every live source, enabled by config
- stdio and Streamable HTTP transports
- No account, no API key
- Zero dependencies, Node 18 or newer
Pro planned
when the control plane ships
- Higher rate limits and burst headroom
- Hosted upstream wire, no local process to run
- More sports as their sources land
- Daily briefs for your teams and players
- Priority fetch when news breaks
Team planned
when the control plane ships
- Shared keys and seats for a room
- Usage reporting per project
- Priority support
- Custom source set and terms review
Billing ships with the hosted control plane. Nothing is charged today: no card, no checkout, no account. Prices land when that ships.
Give your agent the wire.
Runs as a process your client spawns, or as a local HTTP server. Attach it once and it stays out of the way.