
Codeforces MCP server
online · 100% uptimeCodeforces MCP — public read API.
not scanned yet
0 stars
Reviews
Write oneNobody has reviewed Codeforces yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Codeforces tools
Tool list not cached yet. `describe` through the gateway fetches it live.
How Codeforces compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 87/100
- higher than 73% of 48,255 servers
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 155 ms
- faster than 72% of 30,031 servers
Release history: 7 versions in the registry since 2026-05-13, latest 2026-10-31, typically one every 5 days.
Install Codeforces in Claude Code, Cursor or VS Code
claude mcp add --transport http codeforces https://gateway.pipeworx.io/codeforces/mcp
What the publisher says
From the Codeforces repository's README, as published. We do not edit it. Read it on GitHub
@pipeworx/codeforces
Codeforces public read API MCP — competitive programming users, contests, problems, submissions. Keyless.
Part of Pipeworx — an MCP gateway connecting AI agents to 1679+ live data sources.
Tools
- user(handles[]) — profile(s) by handle (up to 10k)
- user_rating(handle) — full rating history for a user
- user_status(handle, count?) — recent submissions for a user
- contest_list(gym?) — all contests (regular or gym)
- conteststandings(contestid, handles?, from?, count?) — final scoreboard + problem list for one contest
- problemset(tags?, problemset_name?) — problemset + recent submissions stats
- recentactions(maxcount?) — recent global actions feed
- blogentryview(blog_id) — full blog entry by id
Standings paging is done here, not upstream
Codeforces rejects from, count and handles on public standings — it answers HTTP 400 with "Non-gym contest standings for non-admin users are available only via anonymous GET requests with no extra parameters". The only request it accepts is the bare ?contestId=, which returns the entire scoreboard (2.7 MB for contest 1000, 14 MB for contest 2000).
So contest_standings streams that response and slices it here: from/count page the rows and handles filters them, with the same meaning they had before. Nothing is held in memory beyond the window you asked for. Two consequences worth knowing:
response carries hasmore: true instead of totalrows — the participant count is genuinely unknown at that point. Ask for a window past the end of the scoreboard, or pass handles, and you get total_rows.
- Without a handles filter the read stops as soon as your window is full, so the
authenticated Codeforces account and this pack is keyless, so it returns {found: false, reason: "gymcontestrequirescodeforcesaccount"} rather than an error.
- Gym contests are not available at all. Codeforces serves gym standings only to an
Data source
https://codeforces.com/api/
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"codeforces": {
"url": "https://gateway.pipeworx.io/codeforces/mcp"
}
}
}What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/codeforces/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — askpipeworx, discovertools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}Both URLs reach the same gateway and the same 1679+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.
No MCP client? Call it over HTTP
curl -X POST https://gateway.pipeworx.io/v1/tools/codeforces_user \
-H 'Content-Type: application/json' \
-d '{"handles":["tourist"]}'Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Codeforces: common questions
- Is Codeforces MCP server safe?
- Yes, by our scan: it is graded A (87/100). Read the Codeforces safety report
- How do I install Codeforces?
- It runs remotely at gateway.pipeworx.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Codeforces need an API key?
- Yes. The registry entry asks for
PIPEWORX_API_KEY. - Is Codeforces maintained?
- The last commit was 40 days ago (2026-09-24). The latest release is v0.2.1.
- Is Codeforces up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Codeforces compare with other MCP servers?
- safety score 87/100 (higher than 73% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 155 ms (faster than 72% of 30,031 servers). Full comparison.