Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Contest Server

БесплатноНе проверен

MCP server for searching and retrieving Korean contest information. Provides tools to search contests by keyword/category, get details, list categories, and fin

GitHubEmbed

Описание

MCP server for searching and retrieving Korean contest information. Provides tools to search contests by keyword/category, get details, list categories, and find deadlines.

README

Agentic Player 10 (카카오 PlayMCP 공모전) 참가용으로 만든 MCP 서버입니다. 국내 공모전 정보를 검색/조회하는 4개의 도구(Tool)를 제공합니다.

제공 도구

도구 설명
search_contests(query, category) 키워드/분야로 공모전 검색
get_contest_detail(contest_id) 특정 공모전 상세 정보 조회
list_categories() 등록된 분야(카테고리) 목록 조회
list_deadline_soon(days) N일 이내 마감되는 공모전 조회

데이터는 data/contests.json에 있으며(2026-07-11 기준, 28건), 링커리어(linkareer.com) 등 공개 공모전 정보 사이트를 참고해 정리한 샘플 데이터입니다. 실제 서비스로 확장하려면 이 파일을 최신 데이터로 교체하거나, 크롤러/API 연동으로 대체하면 됩니다.

기술 스택

  • Python 3.11 + MCP Python SDK (FastMCP)
  • Transport: Streamable HTTP (PlayMCP in KC는 원격 MCP 서버만 지원하며 Streamable HTTP가 표준입니다 — 참고)
  • 엔드포인트: POST /mcp (FastMCP 기본 경로)

로컬 실행

pip install -r requirements.txt
python server.py
# http://localhost:8080/mcp 에서 Streamable HTTP MCP 서버가 뜹니다.

포트는 PORT 환경변수로 바꿀 수 있습니다 (기본 8080).

테스트 방법

1) MCP Inspector 사용 (권장)

npx @modelcontextprotocol/inspector

Inspector UI에서 Transport를 Streamable HTTP로 선택하고 URL에 http://localhost:8080/mcp 입력 후 연결 → Tools 탭에서 4개 도구 확인 및 호출 테스트.

2) Python 클라이언트로 직접 테스트

import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    async with streamablehttp_client("http://localhost:8080/mcp") as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            print(await session.list_tools())
            print(await session.call_tool("search_contests", {"query": "AI"}))

asyncio.run(main())

이 저장소는 위 방식으로 이미 로컬에서 initialize → tools/list → tools/call 전체 플로우를 검증했습니다.

Docker 빌드/실행 (선택)

docker build --platform linux/amd64 -t contest-mcp .
docker run --rm -p 8080:8080 contest-mcp

--platform linux/amd64는 Apple Silicon 등 arm64 환경에서 빌드할 때 필요합니다. (PlayMCP in KC는 컨테이너 이미지 등록 시 linux/amd64만 지원합니다.)

PlayMCP in KC 배포 (Git 소스 빌드 방식, 권장)

  1. 이 프로젝트를 GitHub 저장소로 push합니다 (루트에 Dockerfile 필수 — 이미 포함되어 있음).
  2. https://playmcp.kakaocloud.io 접속 → 카카오 계정 로그인 (PlayMCP 가입 계정이어야 함).
  3. "+ 새 MCP 서버 등록" → "Git 소스 빌드" 선택.
    • MCP 서버 이름 / 설명 입력
    • Git URL: 저장소 주소
    • 브랜치: main
    • Dockerfile 경로: Dockerfile (기본값)
    • PAT: 저장소가 private이면 GitHub PAT 입력, public이면 비워둠
  4. 등록 후 Status가 Active가 될 때까지 대기 → 상세 정보에서 Endpoint URL 복사.

PlayMCP 등록 및 공모전 접수

  1. https://playmcp.kakao.com 가입/로그인.
  2. 개발자 콘솔 → "새로운 MCP 서버 등록" → MCP Endpoint에 위에서 복사한 URL 입력 → "정보 불러오기" (성공해야 함).
  3. "임시 등록" 클릭 (등록 및 심사요청은 아직 누르지 않음).
  4. "MCP 상세 미리보기" → "도구함에 추가" → AI 채팅으로 충분히 테스트.
  5. 테스트 완료 후 "심사 요청" 클릭 → 승인되면 공개 상태를 "전체 공개"로 전환.
  6. 공개된 MCP 상세페이지 URL 복사.
  7. Agentic Player 10 공모전 페이지 → "Player 예선 참여" 버튼 → 비즈폼 접수 (MCP 서버 최대 2개 등록 가능).

예선 접수 기간: 2026년 6월 15일 ~ 7월 14일 — PlayMCP in KC의 MCP 서버 발급도 이 기간에만 가능하므로 여유 있게 진행하세요.

데이터 갱신

data/contests.json을 편집한 뒤 다시 배포(Git push → PlayMCP in KC가 재빌드, 또는 기존 서버 삭제 후 동일 이름으로 재등록 → PlayMCP에서 "정보 수정"으로 재조회)하면 됩니다.

프로젝트 구조

contest-mcp-server/
├── server.py           # MCP 서버 (FastMCP, Streamable HTTP)
├── data/
│   └── contests.json   # 공모전 데이터
├── requirements.txt
├── Dockerfile
└── README.md

from github.com/ugori2/contest-mcp-server

Установка Contest Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/ugori2/contest-mcp-server

FAQ

Contest Server MCP бесплатный?

Да, Contest Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Contest Server?

Нет, Contest Server работает без API-ключей и переменных окружения.

Contest Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Contest Server в Claude Desktop, Claude Code или Cursor?

Открой Contest Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Contest Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development