Skip to main content
Glama

BOJ MCP Server

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables AI assistants to access solved.ac user profiles and search Baekjoon Online Judge problems by difficulty, tags, and keywords through the solved.ac API.

  1. BOJ를 위한 Model Context Protocol (MCP) 서버입니다.
    1. pytest status
      1. solved.ac 사이트의 MCP 저장소
        1. 특징 (Features)
          1. 설치 (Installation)
            1. Smithery를 통한 설치
          2. 사용법 (Usage)
            1. 라이브러리로 사용하기
          3. 사용 가능한 도구 (Available Tools)
            1. 사용 가능한 리소스 (Available Resources)
              1. 사용 가능한 프롬프트 (Available Prompts)
                1. 로컬 개발 (Local Development)
                  1. 개발 서버 실행
                  2. Smithery 플레이그라운드 실행
                2. 관련 프로젝트 (Related Projects)
                  1. 감사 인사 (Acknowledgements)

                    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