Skip to main content
Glama
README.md
## BOJ-MCP

[![npm version](https://img.shields.io/npm/v/boj-mcp.svg)](https://www.npmjs.com/package/boj-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Release to NPM](https://github.com/csh1668/boj-mcp/actions/workflows/release-to-npm.yml/badge.svg)](https://github.com/csh1668/boj-mcp/actions/workflows/release-to-npm.yml)

백준에 있는 문제를 검색하는 기능을 제공하는 **비공식** MCP입니다.

BOJ-MCP지만, solved.ac의 비공식 API를 사용합니다.

한창 개발 중입니다.

### 설치 방법

#### 1) npm 사용 (권장)

컴퓨터에 [`node.js`](https://nodejs.org/ko/download)가 설치되어 있어야 합니다. 

##### Claude Desktop

Windows: `%APPDATA%\Claude\claude_desktop_config.json`

MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

해당 위치에 파일이 없으면 생성합니다.

```json
{
  "mcpServers": {
    "boj-mcp": {
      "command": "npx",
      "args": ["-y", "boj-mcp", "--handle=your-handle"]
    }
  }
}
```

위 내용을 추가하고 Claude Desktop을 종료 후 다시 시작합니다.

<img width="427" height="446" alt="image" src="https://github.com/user-attachments/assets/e6cd0273-52fe-42a9-93a4-40917c48598b" />

정상적으로 설치가 되었다면 위와 같이 표시됩니다.


##### Claude Code
```bash
claude mcp add boj-mcp -- npx -y boj-mcp
# OR
claude mcp add boj-mcp -- npx -y boj-mcp --handle=your-handle
```

##### Codex
```bash
codex mcp add boj-mcp -- npx -y boj-mcp
# OR
codex mcp add boj-mcp -- npx -y boj-mcp --handle=your-handle
```

##### Gemini Cli
```bash
gemini mcp add boj-mcp npx -y boj-mcp
# OR
gemini mcp add boj-mcp npx -y boj-mcp --handle=your-handle
```

##### Cursor

`Ctrl + Shift + P`를 누르고 `Open MCP Settings`를 찾아 들어갑니다.
`New MCP Server`를 클릭하고 다음 내용을 붙여넣습니다.

```json
{
  "mcpServers": {
    "boj-mcp": {
      "command": "npx",
      "args": ["-y", "boj-mcp", "--handle=your-handle"]
    }
  }
}
```

#### 2) 로컬 빌드 후 실행

```bash
git clone https://github.com/csh1668/boj-mcp
cd boj-mcp
pnpm i
pnpm start
```

그리고 Cursor 설정에 다음처럼 추가합니다.

```json
{
  "mcpServers": {
    "boj-mcp": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}
```

### 사용 방법

설치가 완료되면 AI에게 다음과 같이 질문하여 백준 문제를 검색하거나 추천받을 수 있습니다.

#### 1. 문제 검색
- "골드 5 난이도의 DP 문제 찾아줘"
- "다익스트라 문제 중 푼 사람이 10명 이하인 문제 찾아줘"

#### 2. 문제 추천
- "코딩 테스트 준비를 위해 실버 난이도의 구현 문제 5개 추천해줘"
- "ICPC 예선 대비를 위한 문제 세트 추천해줘"

#### 3. 대회 및 태그 정보
- "UCPC 2023 대회의 출제 경향을 분석해줘"
- "비트마스킹 태그가 붙은 문제들은 어떤 게 있어?"

---

### 개발자 가이드

프로젝트에 기여하거나 새로운 도구를 추가하고 싶다면 [Developer Guide](./DEVELOPER_GUIDE.md)를 참조하세요.

- 프로젝트 구조 및 아키텍처
- 새로운 도구 추가 방법
- 코드 스타일 가이드
- 빌드 및 배포 방법

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: tags, contests, problems, and user statistics. Even the two contest guide tools (analyze-contest and recommend-contest-problems) are differentiated by their specific goals (analysis vs. recommendation).

Naming Consistency4/5

Most tools follow a hyphenated verb_noun pattern (list-, search-, analyze-, recommend-), but the three user-* tools (user-top100-problems, user-stat, user-stat-tag) deviate by using a noun prefix. The hyphenation convention is consistent, making the deviation minor.

Tool Count5/5

With 10 tools, the server is well-scoped for its domain (BOJ), covering tags, contests, problems, and user stats without unnecessary bloat or redundancy.

Completeness4/5

Core operations for searching and listing resources are present, but there are minor gaps such as no direct problem-detail fetch or contest-detail fetch. Additionally, two tools are meta-guides rather than direct data operations, slightly limiting direct functionality.

Maintenance

ActivityNo data
ResponsivenessNo issues