Liquipedia MCP
Provides MCP tools to query Liquipedia esports data (matches, teams, players, tournaments, placements, standings) via the Liquipedia v3 API and MediaWiki action API.
README
Liquipedia MCP
A Model Context Protocol server that exposes the Liquipedia v3 esports API — matches, teams, players, tournaments, placements, and standings — as MCP tools any AI client (Claude Desktop, Cursor, pi, …) can call.
It talks to the Liquipedia v3 REST API (https://api.liquipedia.net/api/v3)
using the Authorization: Apikey <key> scheme, plus the MediaWiki action API
for raw page wikitext. Requests are serialized and rate-limited to respect
Liquipedia's API terms of use.
🔑 Bring your own API key. This server ships with no credentials. Every user must supply their own Liquipedia v3 API key — request one via the Liquipedia API terms page.
Tools
| Tool | What it does |
|---|---|
query |
Low-level access to any datapoint (match, team, player, tournament, placement, standingsentry, transfer, teamtemplate, squadplayer, series, company, externalmedialink). Full conditions / order / query control. |
list_matches |
Matches (schedules + results) for a wiki. Filter by opponent, tournament, date. |
list_teams |
Teams for a wiki. Filter by name, region, location. |
list_players |
Players for a wiki. Filter by id (handle), team, nationality. |
list_tournaments |
Tournaments for a wiki. Filter by name, startdate, organizer. |
list_placements |
Tournament placements/results. Filter by opponentname, tournament. |
list_standings |
Ranked standings / points table for a tournament (great for battle-royale like Apex/ALGS, PUBG, Fortnite). Returns teams sorted by placement with points, using the latest round snapshot. Pass the tournament page name. |
get_wikitext |
Raw wikitext of one or more pages via the MediaWiki API (no key needed). |
Common parameters
wiki— the Liquipedia wiki to query:valorant,counterstrike,dota2,leagueoflegends,rocketleague,apexlegends,rainbowsix,halo,smash,fighters,starcraft2, … Pipe-separate for multiple:valorant|counterstrike.conditions— raw Liquipedia condition syntax,[[field::value]]joined byAND/OR, e.g.[[opponent::Sentinels]] AND [[date::>2024-01-01]]. The convenience tools' typed filters are merged (AND) with this.query— comma-separated projection of fields to return, e.g.pagename,date,tournament.limit,offset,order(e.g.date DESC).
Setup
pnpm install # or: npm install
cp .env.example .env # then set LIQUIPEDIA_API_KEY to YOUR key
You need your own Liquipedia v3 API key. Request one via the
Liquipedia API terms page, then put
it in .env (or pass it via the MCP client's env, see below). Also set
LIQUIPEDIA_USER_AGENT to identify your app + a contact, as the terms require.
| Variable | Default | Description |
|---|---|---|
LIQUIPEDIA_API_KEY |
— | v3 API key (required for structured tools; get_wikitext works without). |
LIQUIPEDIA_USER_AGENT |
LiquipediaMCP/1.0 (…) |
Identifying UA sent on every request (required by ToS). |
LIQUIPEDIA_MIN_INTERVAL_MS |
2000 |
Minimum gap between requests (rate limiting). |
LIQUIPEDIA_TIMEOUT_MS |
12000 |
Per-request timeout. |
LIQUIPEDIA_RETRIES |
1 |
Retries on timeout / 429. |
LOG_LEVEL |
info |
silent/error/warn/info/debug (logs go to stderr). |
Run
The server speaks MCP over stdio — an MCP client launches it as a subprocess.
pnpm start # node src/index.js
pnpm run inspect # open the MCP Inspector UI
node scripts/smoke.mjs # end-to-end check: lists tools + runs a real query
Add to an MCP client
Claude Desktop / Cursor (claude_desktop_config.json or .cursor/mcp.json):
{
"mcpServers": {
"liquipedia": {
"command": "node",
"args": ["/absolute/path/to/LiqMcp/src/index.js"],
"env": {
"LIQUIPEDIA_API_KEY": "your-own-key-here",
"LIQUIPEDIA_USER_AGENT": "MyApp/1.0 (you@example.com)"
}
}
}
}
Or run it straight from GitHub without cloning (Node ≥20):
{
"mcpServers": {
"liquipedia": {
"command": "npx",
"args": ["-y", "github:Archers007/LiqMcp"],
"env": { "LIQUIPEDIA_API_KEY": "your-own-key-here" }
}
}
}
If you leave LIQUIPEDIA_API_KEY out of env, the server reads it from a
.env in the working directory. The key is always supplied by you — none
is bundled with the server.
Example prompts
- "Use liquipedia to list Shopify Rebellion Gold's upcoming valorant matches."
- "What tournaments are on the counterstrike wiki with the biggest prize pools?"
- "Get Sentinels' team info from the valorant wiki (name, region, logo)."
- "Fetch the wikitext infobox (section 0) for the 'TenZ' page on the valorant wiki."
How it works
MCP client ──stdio──> src/index.js (McpServer, 7 tools)
│
▼
src/client.js ── serialized + rate-limited ──> Liquipedia v3 API
│ (Apikey auth)
└───────────────────────────────────────> MediaWiki action API
(wikitext, no key)
src/config.js— env-driven config (key, UA, timeouts, rate limit).src/client.js—LiquipediaClient: query builder, single-flight rate limiter, timeout + retry, 429 handling.src/index.js— MCP server: tool schemas (zod), condition builder, error mapping.
Notes
- The Liquipedia API is unofficial/unstable and rate-limited — requests are serialized with a minimum interval; heavy use may still be throttled (429).
- Data is CC-BY-SA; attribute Liquipedia on anything you render from it.
- Not affiliated with or endorsed by Liquipedia / Team Liquid.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。