Search Luogu problems, fetch statements, explore problem sets and get practice recommendations.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
A small MCP server for searching Luogu problems, reading statements and training sets, and finding related practice. It can run locally through npm or as a hosted Streamable HTTP server.
Use the hosted read-only server without installing anything:
To keep the server on your machine, use the published luogu-mcp-server package:
Then ask:
| Tool | Purpose |
|---|---|
luogu_search_problems | Search Luogu problems by keyword, topic, title fragment, problem id, and optional Luogu tag ids. |
luogu_fetch_problem | Fetch one Luogu problem statement, formats, samples, tags, difficulty, and URL by pid. |
luogu_resolve_problem | Resolve a Luogu URL, problem id, or title fragment, then fetch the problem. |
luogu_find_related_problems | Mix topic/pain-point recommendations with live keyword search to find related practice. |
luogu_list_algorithm_topics | List canonical algorithm topics, aliases, and known tag ids. |
luogu_find_topic_problems | Find topic practice problems using aliases, tag ids, deduplication, and match reasons. |
luogu_search_problem_sets | Search Luogu training/problem sets by keyword. Supports `type: "all" |
luogu_fetch_problem_set | Fetch one Luogu training/problem set and problem summaries by id. |
luogu_recommend_problems | Return seed recommendations from a topic or student pain point. |
luogu_get_user_profile | Fetch public Luogu user profile data by uid. |
luogu_get_capabilities | Report which LeetCode-style route features are available, auth-required, or planned. |
All tools are read-only.
https://luogu-mcp-server.lantangtang54.workers.dev/mcphttps://luogu-mcp-server.lantangtang54.workers.dev/healthio.github.Kaiserunix/luogu-mcp-server, described by server.jsonFrom source:
Use node directly from a source checkout:
Search problems:
Search problems with a Luogu tag filter:
Fetch a problem:
Recommend from a pain point:
Resolve a pasted URL:
Find related practice:
Find topic practice with alias expansion:
Fetch a public user profile:
Search training/problem sets:
type: "all" is the default. It combines title-filtered official sets with selected user-shared set search. Use type: "official" for the public official index, or type: "select" for selected user-shared sets.
This project mirrors the useful shape of richer LeetCode MCP servers while respecting what Luogu exposes publicly:
This package also includes a stateless Streamable HTTP MCP entrypoint for Cloudflare Workers.
The Worker exposes the same read-only tools at /mcp, with a health endpoint at / or /health.
Verify a deployed Worker:
For private deployments, set LUOGU_MCP_TOKEN with wrangler secret put and configure your MCP client to send an Authorization: Bearer <token> header where supported. Browser Origin requests are rejected by default; set LUOGU_MCP_ALLOWED_ORIGINS to a comma-separated origin list if browser access is needed.
See docs/cloudflare-deployment.md for the full release checklist.
Run broad live checks against Luogu's current website responses:
The live smoke starts the MCP server through a real stdio client, then compares problem fetches, problem searches, training searches, training fetches, URL/id resolution, related recommendations, public user profiles, and route capabilities against Luogu content-only page responses. It is intentionally separate from unit tests because it depends on Luogu network availability and current site behavior.
Run the 100-topic algorithm coverage smoke:
The topic smoke starts the real MCP server and probes 100 algorithm categories across high-level topic search and training-set search. It fails if fewer than 98 topic searches return Luogu results.
Download one representative problem per catalog topic into a local ignored folder:
Test a MiMo agent loop that asks the model to choose MCP tools, then executes those calls through the local stdio MCP server:
smoke:mimo reads MIMO_API_KEY from the environment, or from C:\Users\qwerf\.continue\.env on this machine.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/luogu-mcp-server)<a href="https://allmcps.com/mcp/luogu-mcp-server"><img src="https://allmcps.com/api/badge/luogu-mcp-server?style=directory" alt="Luogu MCP Server on AllMCPs" /></a>