Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Rgl

FreeNot checked

Enables querying RGL.gg competitive TF2 data through natural language, resolving player, team, season, division, and match information via a series of API calls

GitHubEmbed

About

Enables querying RGL.gg competitive TF2 data through natural language, resolving player, team, season, division, and match information via a series of API calls.

README

MCP server that wraps the RGL API with natural-language tools. Designed for hosting on fly.io.

What it does

Translates queries like "every player who played IM in S7 of 6s" into the right sequence of API calls:

  1. Resolves "6s" → format/region (defaults to NA when not specified).
  2. Resolves "S7" → SeasonId by fuzzy-matching cached season list.
  3. Resolves "IM" → DivisionId scoped to the region.
  4. Fetches the corresponding Group, then its rosters.
  5. Optionally bulk-fetches profile data for every unique player.

Tools

Tool Purpose
find_season Resolve season phrase → SeasonId
get_season Reverse lookup: SeasonId → season/region/format metadata (inverse of find_season)
find_region Resolve region phrase → RegionId
find_division Resolve division phrase → DivisionId (scoped to a region)
find_team Substring search on team name/tag
find_player Substring search on player aliases
get_player Profile by SteamID
get_team Team data by TeamId (includes a resolved region block — use region.regionId as the r= value in rgl.gg URLs)
get_match Match data by MatchId
list_season_divisions Groups in a season
list_division_teams Teams in a (season, division)
list_division_players Every unique player in (season, division), optionally with full profile data
list_formats All formats (lookup)
list_regions All regions (lookup)

Local development

npm install
npm run dev

The server reads .env.local for RGL_API_BASE_URL etc. By default it points at the production RGL API.

Deploy

fly launch --name rgl-mcp --copy-config --no-deploy   # first time only
fly deploy

Then point your MCP client at https://rgl-mcp.fly.dev/mcp (Streamable HTTP transport).

Edits aren't live until you fly deploy. The hosted server at https://rgl-mcp.fly.dev/mcp is what MCP clients talk to, so any change to src/ requires a fly deploy to take effect. A connected client also caches the tool list at session start — new or renamed tools only appear in a fresh session after the deploy.

Use with Claude Code

This is an unauthenticated, read-only endpoint over already-public RGL data. Every tool just proxies the public RGL API, so the URL isn't a secret. The server adds no auth of its own, and abuse is naturally bounded by the upstream RGL API's own rate limiting. The open pattern is safe only because nothing here is sensitive — don't bolt private or authenticated data onto this server without first adding auth.

The server is live at https://rgl-mcp.fly.dev/mcp. Add it to Claude Code with the HTTP transport — no local clone or build required, you're connecting straight to the hosted fly instance:

claude mcp add --transport http rgl https://rgl-mcp.fly.dev/mcp

By default this adds the server at local scope (just you, this project). Use --scope user to make it available across all your projects, or --scope project to share it with the repo via a checked-in .mcp.json:

claude mcp add --transport http --scope user rgl https://rgl-mcp.fly.dev/mcp

Verify and inspect the connection:

claude mcp list          # shows rgl as connected
claude mcp get rgl       # shows the URL, transport, and scope

Inside a session, /mcp lists the connected servers and their tools. The tools then show up as mcp__rgl__<tool> (e.g. mcp__rgl__find_season). To remove it later: claude mcp remove rgl.

Configuration

Env var Default Meaning
RGL_API_BASE_URL https://rglgg-api.fly.dev/v0 Base URL of the RGL API
PORT 3000 HTTP listen port
CACHE_REFRESH_MS 3600000 Lookup cache TTL (1h)
DEFAULT_REGION_ID 40 NA Sixes — used when only a format is given

from github.com/RGLgg/MCP

Installing Rgl

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/RGLgg/MCP

FAQ

Is Rgl MCP free?

Yes, Rgl MCP is free — one-click install via Unyly at no cost.

Does Rgl need an API key?

No, Rgl runs without API keys or environment variables.

Is Rgl hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Rgl in Claude Desktop, Claude Code or Cursor?

Open Rgl on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Rgl with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs