Skip to main content
Glama

MCP Server for BOJ

BOJ를 위한 Model Context Protocol (MCP) 서버입니다.

AI 어시스턴트가 solved.ac의 사용자 정보와 문제 데이터를 조회할 수 있도록 해줍니다.


pytest status

FastMCP CI Tests


solved.ac 사이트의 MCP 저장소

smithery badge


특징 (Features)

  • Solved.ac API에 빠르게 접근

  • 사용자 프로필 조회 (레이팅, 티어, 푼 문제 수)

  • 난이도, 태그, 키워드로 문제 검색


설치 (Installation)

Smithery를 통한 설치

Smithery를 이용해 Claude Desktop 등에 mcp-server를 자동 설치할 수 있습니다.

npx -y @smithery/cli install @Junwoo-Seo-1998/boj-mcp-server --client claude

사용법 (Usage)

라이브러리로 사용하기

server.py의 핵심 함수들을 직접 호출하여 파이썬 코드 내에서 사용할 수 있습니다.

import asyncio from solvedac_server.server import create_server, lifespan # 테스트용으로 노출된 코어 함수 임포트 from solvedac_server.server import ( get_user_info_for_test as get_user_info, search_problems_for_test as search_problems, search_workflow_prompt_for_test, ) async def main(): app = create_server() async with lifespan(app): # 1. 유저 정보 조회 user = await get_user_info("kyungbaee") print("USER:", user.model_dump()) # 2. 문제 검색 (limit 파라미터 없이 기본 50개) res_all = await search_problems(query="tier:s5..g5 tag:dp", page=1) print("SEARCH COUNT (Full):", res_all.count) # 3. 프롬프트 메시지 생성 msgs = search_workflow_prompt_for_test( natural_request="실버~골드 사이 DP 5문제, 그리디 제외", page=1, ) print("=== Prompt messages ===") for m in msgs: print(f"ROLE: {m.role}\n{m.content.text}\n") if __name__ == "__main__": asyncio.run(main())

사용 가능한 도구 (Available Tools)

도구 이름 (Tool Name)

설명 (Description)

파라미터 (Parameters)

solvedac_get_user_info

solved.ac 사용자의 레이팅/티어/푼 문제 수 조회

handle (string, required)

: 사용자 핸들

solvedac_search_problems

난이도/태그/키워드 쿼리로 문제 검색

query (string, required)

: 검색 쿼리 (예:

tier:g5..p5 tag:dfs

)

page (int, default 1)

: 페이지(1부터)

limit (int, default 5)

: 결과를 상위 N개로 제한 (1~20)


사용 가능한 리소스 (Available Resources)

리소스 경로

설명

solvedac://users/{handle}

특정 solved.ac 사용자의 기본 정보(레이팅, 티어, 푼 문제 수)를 조회

solvedac://problems/search/{stub}

난이도, 태그, 키워드 등으로 solved.ac 문제 검색

쿼리 파라미터:

query (string)

,

page (int)

(경로의

{stub}

값은 무시됩니다.)


사용 가능한 프롬프트 (Available Prompts)

프롬프트 이름 (Prompt Name)

설명 (Description)

파라미터 (Parameters)

solvedac.search-workflow

자연어 조건을 solved.ac 검색 쿼리로 변환하고, 해당 쿼리로 문제 후보를 검토

natural_request (string)

: 예:

"실버~골드 사이 DP 5문제"

page (int, default 1)

: 검색 페이지


로컬 개발 (Local Development)

저장소를 클론하고 의존성을 설치합니다.

git clone https://github.com/Junwoo-Seo-1998/boj-mcp-server.git cd boj-mcp-server # (가상 환경 사용 권장) pip install -e .

개발 서버 실행

smithery dev

Smithery 플레이그라운드 실행

smithery playground

관련 프로젝트 (Related Projects)


감사 인사 (Acknowledgements)

이 프로젝트는 solved.ac API를 기반으로 합니다.

-
security - not tested
F
license - not found
-
quality - not tested

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/Junwoo-Seo-1998/boj-mcp-server'

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