DocumentationStart here
Volleyball MCP server
MCP for AI agents
An MCP server at https://api.volleyballapi.com/mcp. Every endpoint is a tool with the same parameters, plans and limits, so an AI agent can look up scores, rallies, lineups and players in plain conversation.
Connecting
The server speaks MCP over HTTP: JSON-RPC messages sent with POST to https://api.volleyballapi.com/mcp, each answered on the same request. Send your API key the way the API takes it, in Authorization: Bearer or X-API-Key. Listing the tools needs no key; calling one does.
# Claude Code claude mcp add --transport http volleyball https://api.volleyballapi.com/mcp \ --header "Authorization: Bearer vba_your_key"
// .cursor/mcp.json { "mcpServers": { "volleyball": { "url": "https://api.volleyballapi.com/mcp", "headers": { "Authorization": "Bearer vba_your_key" } } } }
# the tools, without a key curl https://api.volleyballapi.com/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# one tool, with your key curl https://api.volleyballapi.com/mcp \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $VBA_KEY" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"results_yesterday","arguments":{"per_page":2}}}'
The tools
21 tools, one an endpoint, named after its page here. Each takes the endpoint's parameters as arguments, and ids in the same mt_, cp_, tm_ and pl_ form.
| Tool | What it returns | Plans |
|---|---|---|
usage | Your plan, your calls today and this month, your limits and the dates you can read | Every plan |
live | Every match being played now, with the running set scores | Live and Complete |
results_yesterday | Yesterday's finished matches | Every plan |
matches | Matches on a day or between two days, filtered by discipline, gender, status, competition or team | Every plan |
match_points | Every rally of every set: the score after it, who won it and who served | Live, Archive and Complete |
match_players | Per-player figures for the match: points, serve, reception, attack and block | Archive and Complete |
match_lineups | Starting six by court zone for every set, the players who came on, and both head coaches | Archive and Complete |
export_matches | Every match between two days in one call, with sets, venue, officials and coaches (up to 184 days) | Complete |
export_lineups | Every lineup between two days in one call: starting six by zone, players who came on, coaches (up to 92 days) | Complete |
export_points | Every rally of every match between two days in one call (up to 14 days) | Complete |
match | One match: teams, result, every set, duration, venue, spectators and referees | Every plan |
competitions | Competitions, newest first, filtered by discipline, gender, season or name | Every plan |
competition_matches | A competition's matches | Every plan |
competition_standings | League tables for a competition, one per pool, worked out from its results | Every plan |
competition | One competition, with its dates and match count | Every plan |
teams | Teams and beach pairs, found by name | Every plan |
team_matches | A team's matches, newest first | Every plan |
team | One team: its name, kind, federation and players | Every plan |
players | Players, found by name | Every plan |
player | One player, the teams they have played for and their career, competition by competition | Every plan |
head_to_head | Every meeting of two teams, with the record between them | Live, Archive and Complete |
Answers and limits
A tool answers with the same JSON the endpoint gives, as text. An error from the API comes back as a tool error carrying the API's error object, so the agent can read what to change. Every tool call is one API call: it counts against your plan, its rate limit and its quota exactly as the REST call does.
Use with Claude and agents
The agent skill teaches Claude, Cursor and other agents how to use the Volleyball API: getting a key, the calls that answer common questions, the limits and the errors. Pair it with the MCP server so the agent can make the calls itself.
Save it as ~/.claude/skills/volleyballapi/SKILL.md, or upload it as a skill in Claude's settings. Agents also find it at /.well-known/agent-skills/index.json.