boj-mcp
## BOJ-MCP
[](https://www.npmjs.com/package/boj-mcp)
[](https://opensource.org/licenses/MIT)
[](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
Scored across 10 tools
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).
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.
With 10 tools, the server is well-scoped for its domain (BOJ), covering tags, contests, problems, and user stats without unnecessary bloat or redundancy.
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.