Skip to main content
Glama
README.md
# cf-mcp-orange 🚀

[![PyPI version](https://img.shields.io/pypi/v/cf-mcp-orange)](https://pypi.org/project/cf-mcp-orange/)

A **complete, all-in-one MCP (Model Context Protocol) server** for Codeforces. 
Designed to supercharge AI coding assistants like **Cline** and **Claude Desktop**.

---

## ✨ Features (9 Powerful Tools)

1. **`get_user`** – Fetch a detailed profile (rating, max rating, last 5 contests, problem stats by difficulty, top 10 categories).
2. **`compare_user`** – Side-by-side comparison of two Codeforces users.
3. **`get_problemlist`** – Search the entire problemset by rating range, topic tags (`AND`/`OR`), and sorting.
4. **`get_problem`** – Retrieve the full problem statement, rating, and tags for any specific contest/problem ID.
5. **`get_practiceproblems`** – Identify a user's weakest core topics and recommend 3 targeted problems within `+300` rating.
6. **`get_random_practice`** – A completely random problem within `+/- 300` of a user's current rating.
7. **`get_upsolve`** – Analyzes a user's last 10 contests and recommends unsolved problems within their rating range.
8. **`get_status`** – Summarizes the last 1000 submissions (AC/WA/TLE counts) and the 20 most recent attempts.

---

## 📦 Changelog

### v1.0.6 (2026-07-04)
- 🐛 **Fixed**: `ModuleNotFoundError` when running the server — changed absolute import to relative import in `get_problem.py`
- ✅ **Verified**: All 8 tools tested and working (get_user, compare_user, get_problemlist, get_problem, get_practiceproblems, get_random_practice, get_upsolve, get_status)

---

## 🛠️ Installation & Configuration (No Keys Required!)

You don't need to clone or manually install anything! Just add this to your `cline_mcp_settings.json` or `mcp.json`:

```json
{
  "mcpServers": {
    "cf-mcp-orange": {
      "command": "uvx",
      "args": ["cf-mcp-orange"]
    }
  }
}

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: user comparison, profile retrieval, submission history, problem details, problem search, and three distinct practice recommendation strategies (weakness-based, random, contest-upsolve). Descriptions are detailed enough to prevent confusion.

Naming Consistency4/5

All tools follow verb_noun pattern in snake_case, with seven starting with 'get_' and one starting with 'compare_'. This slight inconsistency is minor but noticeable.

Tool Count5/5

Eight tools cover the core needs for a Codeforces practice assistant without being overwhelming. Each tool serves a necessary function, and the count feels well-scoped.

Completeness4/5

The set covers user profiles, submissions, problem search, and multiple practice recommendations. Missing features like contest listing or editorial access are minor omissions given the focus on individual practice.

Maintenance

ActivityStale
ResponsivenessNo issues