Skip to main content
Glama

codeforces_search_problems

Read-onlyIdempotent

Search Codeforces problems by rating range and tags, optionally excluding ones a handle has already solved to find fresh practice targets.

Instructions

Find Codeforces problems by rating band and tags, easiest first.

Set exclude_solved_by to a handle to hide problems that handle has already solved. The Codeforces website cannot express that filter, which is the main reason to reach for this tool: it turns "problems tagged dp rated 1300-1500" into "problems I could actually still practise".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoCodeforces tags, e.g. ['dp','greedy']. Empty means any.
limitNoMaximum problems to return
offsetNoProblems to skip, for pagination
max_ratingNoHighest problem rating, inclusive
min_ratingNoLowest problem rating, inclusive
tags_matchNo'any' = at least one tag, 'all' = every tagany
response_formatNo'markdown' for a readable table, 'json' for structured datamarkdown
exclude_solved_byNoHide problems this handle already solved, e.g. '3.141f'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds behavioral value: the 'easiest first' ordering and the semantic of exclude_solved_by. It does not contradict annotations and adds useful context beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise paragraphs, the first stating the core purpose and the second adding the key differentiator. Every sentence earns its place, and the critical filter is highlighted up front. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with an output schema, the description covers all essential behavior: rating band, tags, ordering, and the unique exclude filter. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents every parameter. The description adds meaning beyond the schema for exclude_solved_by, explaining its practical significance and why it's the main reason to use this tool. That lifts it above the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource statement: 'Find Codeforces problems by rating band and tags, easiest first.' It specifies the criteria and ordering, and its function is immediately distinguishable from the sibling tools (which cover performance, submissions, profiles, history, and contests).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to reach for this tool by highlighting the unique value of the exclude_solved_by filter that 'the Codeforces website cannot express.' This gives a concrete use case, but it does not explicitly contrast with sibling tools or state exclusions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Faysal-star/codeforces-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server