Public MCP
The public MCP endpoint lets AI assistants read the same public Esports Community data that appears on the website. No key is required.
It is read-only and returns public website data intended for visitors.
Docs page:
https://esportscommunity.net/docs/mcp
Endpoint
Production:
https://esportscommunity.net/api/public-mcp
Local development:
http://localhost:3000/api/public-mcp
Headers required by both revisions:
Content-Type: application/json
Accept: application/json, text/event-stream
No bearer key is required. JSON-RPC batch arrays are rejected; send one MCP request at a time.
Protocol Revisions
Both MCP eras are served on the same URL. The endpoint answers whichever one the request declares, so neither needs a separate address.
- Revision
2026-07-28— stateless. Noinitializehandshake and no session id. - Revisions
2025-11-25and earlier — theinitializehandshake, unchanged. This is still what most clients speak, so the setup below needs no changes.
Deprecated — removal on 2026-11-23. The
initializehandshake era is deprecated as of 2026-08-12 and will stop being served on 2026-11-23. Nothing changes before that date: handshake clients keep working exactly as they do now. Point your client at2026-07-28any time before then. After removal, a handshake request is answered with the unsupported-protocol-version error naming what the endpoint still serves.
server/discover reports only 2026-07-28. That is the modern revision it can negotiate, not the full list of what the endpoint serves — legacy clients never call it, they open with initialize.
A 2026-07-28 request mirrors three body values into headers and repeats the protocol version inside params._meta:
POST /api/public-mcp HTTP/1.1
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: list_games
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_games",
"arguments": { "locale": "en" },
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": { "name": "YourClient", "version": "1.0.0" },
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}
Mcp-Name is required for tools/call only, and must match params.name. A header that disagrees with the body is rejected with JSON-RPC error -32020; an unsupported protocol version with -32022, which names what this endpoint does support.
Every 2026-07-28 result carries resultType: "complete". tools/list and server/discover also carry ttlMs and cacheScope: this endpoint returns the same tools to every caller, so its list is cacheScope: "public" and shared caches may hold it.
Tools
get_site_overview: Read site and bot counts; admin calls can include scoped dashboard context.list_games: List the localized public game directory.search_news: Search published news publicly or admin-visible posts within the key scope.get_tournament_status: Read matches and standings for one tracked tournament.list_tournaments: List public active tournament summaries.get_ewc_club_summary: Read EWC club points, qualified games, wins, and region metadata.get_ewc_club_standings: Read the official rank-ordered EWC Club Championship standings from the latest stored snapshot.list_co_streams: List public co-stream groups, live-first.search_teams: Search the public team directory with safe public fields.search_players: Search the public player directory with safe public fields.get_public_ewc_leaderboard: Read the public EWC prediction leaderboard projection.
Example questions
- “Show the latest Valorant EWC news and include website links.”
- “Which clubs lead the EWC Club Championship standings?”
- “Show the community EWC prediction leaderboard.”
- “Find Team Falcons and list its public profile details.”
Club Championship standings and community prediction rankings are separate datasets and use separate tools.
Client Setup
Try it from a terminal first — nothing to install or configure:
uvx mcp-explorer list https://esportscommunity.net/api/public-mcp
uvx mcp-explorer call https://esportscommunity.net/api/public-mcp search_teams -a query Falcons
uvx mcp-explorer doctor <url> reports whether both protocol revisions are healthy.
Use native Streamable HTTP MCP configuration when your client supports it.
For stdio-only clients, use mcp-remote:
{
"mcpServers": {
"esports-community": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://esportscommunity.net/api/public-mcp"
]
}
}
}
For Codex config.toml stdio setup:
[mcp_servers.esports_community_public]
command = "npx"
args = [
"-y",
"mcp-remote",
"https://esportscommunity.net/api/public-mcp",
]
For clients with native Streamable HTTP support:
[mcp_servers.esports_community_public]
enabled = true
url = "https://esportscommunity.net/api/public-mcp"
Restart the MCP client after changing configuration.
Security Notes
- This endpoint is public and read-only.
- Browser-origin requests are origin-checked.
- Requests are rate-limited by trusted edge IP. If no trusted IP header is present, requests share one fallback bucket.
- Responses are limited to public website fields.