NBA

liveSports

NBA player profiles, team rosters, and game scores via BallDontLie

4tools
0msauth
free tier50 calls/day

Tools

search_playersrequired: query

Search NBA players by name. Returns player profile including position, height, weight, college, and current team.

Parameters
NameTypeDescription
queryreqstringPlayer name or partial name to search for
limitoptnumberNumber of results to return (default: 10, max: 100)
Try it
get_playerrequired: id

Get detailed profile for a single NBA player by their BallDontLie player ID.

Parameters
NameTypeDescription
idreqnumberBallDontLie player ID
Try it
get_teams

List all 30 NBA teams with their full names, abbreviations, conference, and division.

No parameters required.

Try it
get_gamesrequired: season

Get NBA games for a given season. Returns game date, status, teams, and scores.

Parameters
NameTypeDescription
seasonreqnumberSeason start year (e.g., 2024 for the 2024-25 season)
limitoptnumberNumber of results to return (default: 25, max: 100)
Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/nba/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/nba/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_players","arguments":{"query": "hello"}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_players", {"query":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("nba player profiles, team rosters, and game scores via balldontlie");