gloatwire

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.

Attach in 30 seconds Source on GitHub

one wire item live: MLB
title
the headline as the league published it
summary
the league's own summary, unedited
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.

gloatwire.config.json
{
  "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):

shell
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.

claude_desktop_config.json
{
  "mcpServers": {
    "gloatwire": {
      "command": "npx",
      "args": ["gloatwire", "--config", "/absolute/path/gloatwire.config.json"]
    }
  }
}

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.

gloatwire MCP tools and what each one answers
ToolWhat 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
Attach in 30 seconds

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.

Attach in 30 seconds Source on GitHub