contest_standings

Pack: codeforces · Endpoint: https://gateway.pipeworx.io/codeforces/mcp

Codeforces competitive-programming API — the final scoreboard of one Codeforces round: every participant’s rank, handle, total points, penalty, hack counts and per-problem results, plus the contest metadata and its problem list with difficulty ratings and tags. Answers who won a Codeforces contest, where a given handle placed, and which problems the round contained.

Parameters

NameTypeRequiredDescription
contest_idnumberyesNon-gym contest id, e.g. 1000. Gym contests need an authenticated Codeforces API key, which this keyless pack does not hold.
handlesarraynoKeep only rows containing these handles. Applied by this pack after fetching, because Codeforces rejects the upstream filter on public standings.
itemsstringno
fromnumberno1-based rank to start at (default 1)
countnumberno1-1000 rows to return (default 100)

Example call

Arguments

{
  "contest_id": 1900
}

curl

curl -X POST https://gateway.pipeworx.io/codeforces/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"contest_standings","arguments":{"contest_id":1900}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('contest_standings', {
  "contest_id": 1900
});

More examples

{
  "contest_id": 1900,
  "handles": [
    "HimenoTowa"
  ],
  "count": 50
}

Response shape

Always returns: status

FieldTypeDescription
statusstringResponse status (OK or FAILED)
resultobjectContest standings result
commentstringError comment (if status is FAILED)
Full JSON Schema
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Response status (OK or FAILED)"
    },
    "result": {
      "type": "object",
      "description": "Contest standings result",
      "properties": {
        "contest": {
          "type": "object",
          "description": "Contest information"
        },
        "problems": {
          "type": "array",
          "description": "Array of problems in contest",
          "items": {
            "type": "object",
            "properties": {
              "contestId": {
                "type": "number",
                "description": "Contest ID"
              },
              "index": {
                "type": "string",
                "description": "Problem index (A, B, C, etc.)"
              },
              "name": {
                "type": "string",
                "description": "Problem name"
              },
              "type": {
                "type": "string",
                "description": "Problem type (PROGRAMMING, QUESTION)"
              },
              "points": {
                "type": "number",
                "description": "Maximum points"
              },
              "rating": {
                "type": "number",
                "description": "Problem difficulty rating"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Problem tags"
              }
            }
          }
        },
        "rows": {
          "type": "array",
          "description": "Standings rows (participants)",
          "items": {
            "type": "object",
            "properties": {
              "party": {
                "type": "object",
                "description": "Participant party info"
              },
              "rank": {
                "type": "number",
                "description": "Final rank"
              },
              "points": {
                "type": "number",
                "description": "Total points scored"
              },
              "penalty": {
                "type": "number",
                "description": "Penalty in seconds"
              },
              "successfulHackCount": {
                "type": "number",
                "description": "Successful hacks"
              },
              "unsuccessfulHackCount": {
                "type": "number",
                "description": "Unsuccessful hacks"
              },
              "problemResults": {
                "type": "array",
                "description": "Results per problem",
                "items": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "comment": {
      "type": "string",
      "description": "Error comment (if status is FAILED)"
    }
  },
  "required": [
    "status"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "codeforces": {
      "url": "https://gateway.pipeworx.io/codeforces/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 10, 2026