Skip to main content
Glama

🚀 DevAssist MCP 서버

GitHub 및 경쟁 프로그래밍을 위한 프로덕션 준비 완료 Python MCP 서버

Python MCP Render License Docker


🌐 라이브 클라우드 배포: DevAssist MCP 서버는 Render.com에 배포되어 운영 중입니다!

  • 기본 URL 및 상태 확인: https://devassist-mcp-server.onrender.com/

  • SSE 엔드포인트: https://devassist-mcp-server.onrender.com/sse

로컬에서 코드를 실행하지 않고도 Claude Desktop, Cursor 또는 VS Code 클라이언트를 호스팅된 Render 서버에 직접 연결하거나, 자신의 머신에서 로컬로 실행할 수 있습니다.


📖 개요 및 프로젝트 설명

DevAssist MCP 서버는 AI 어시스턴트(Claude Desktop, Cursor, VS Code Copilot 등)를 실시간 개발자 워크플로우, GitHub 저장소 인텔리전스, 경쟁 프로그래밍 분석과 연결하도록 설계된 프로덕션 등급의 비동기 Model Context Protocol (MCP) 서버입니다.

🎯 목적 및 핵심 기능

현대 AI 코딩 에이전트는 외부 개발자 플랫폼 및 경쟁 프로그래밍 지표에 직접 접근할 수 없는 경우가 많습니다. DevAssist MCP는 표준 MCP 프로토콜 인터페이스(STDIO 및 Server-Sent Events / SSE)를 통해 두 가지 전용 도구를 제공하여 이 문제를 해결합니다:

  1. 🐙 github_assistant: 사용자 프로필 조회, 저장소 메타데이터, 커밋 기록, 코드 언어 구성 분석, 활성 풀 리퀘스트, 이슈 추적, 기여자 지표, 릴리스 노트를 포함한 포괄적인 GitHub 통합을 제공합니다.

  2. 🏆 cp_assistant: Codeforces와 통합하여 사용자 콘테스트 레이팅, 제출 성과 기록, 주제별 정확도 추적, 알고리즘 약점 식별, 레이팅 수준 및 약한 태그에 기반한 맞춤형 연습 문제 추천을 제공합니다.

로컬로 배포하거나 라이브 Render.com 클라우드 엔드포인트(https://devassist-mcp-server.onrender.com/sse)를 통해 접근하든, DevAssist MCP는 LLM이 실시간 개발자 데이터를 동적으로 추론할 수 있게 합니다.

✨ 주요 기능

기능

설명

🌐 클라우드 배포

Render.com에서 라이브 호스팅, 완전한 Server-Sent Events (SSE) 지원

🐙 GitHub 통합

사용자 프로필, 저장소 정보, 커밋, PR, 이슈, 통계

🏆 Codeforces 통합

프로필, 콘테스트 기록, 레이팅 추적, 제출

🧠 약한 주제 분석

경쟁 프로그래밍 약점 영역 식별을 위한 AI 기반 분석

💡 스마트 추천

기술 격차에 기반한 맞춤형 문제 제안

비동기 아키텍처

최대 성능을 위한 httpx 기반 논블로킹 I/O

🔒 프로덕션 준비 완료

로깅, 오류 처리, 타입 안전성, 포괄적인 테스트


Related MCP server: GitBridge

🏗️ 아키텍처

graph TD
    A["🤖 AI Agent<br/>(Claude / Cursor / VS Code)"] -->|MCP Protocol / SSE| B["🌐 Live Render MCP Server / Local Server"]
    B --> C["🐙 github_assistant"]
    B --> D["🏆 cp_assistant"]
    C --> E["GitHub Service Layer"]
    D --> F["Codeforces Service Layer"]
    E -->|httpx async| G["GitHub REST API v3"]
    F -->|httpx async| H["Codeforces API"]
    
    style A fill:#4A90D9,stroke:#2C5F99,color:#fff
    style B fill:#6C3483,stroke:#4A235A,color:#fff
    style C fill:#27AE60,stroke:#1E8449,color:#fff
    style D fill:#E67E22,stroke:#CA6F1E,color:#fff

🔌 Claude Desktop에 연결하기 (claude_desktop_config.json)

Claude Desktop에서 이 MCP 서버를 사용하려면 claude_desktop_config.json 파일을 열거나 생성하세요.

📍 파일 위치:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json (예: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json)

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json


옵션 A: 라이브 Render 배포 사용 (권장)

mcp-remote 브리지를 사용하여 Render.com의 클라우드 호스팅 서버에 직접 연결하세요:

{
  "mcpServers": {
    "devassist-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://devassist-mcp-server.onrender.com/sse"
      ]
    }
  }
}

또는 Claude Desktop 버전이 기본 SSE 구성을 지원하는 경우:

{
  "mcpServers": {
    "devassist-mcp": {
      "url": "https://devassist-mcp-server.onrender.com/sse"
    }
  }
}

옵션 B: 로컬 머신 실행 사용

자신의 머신에서 MCP 서버를 로컬로 실행하려면:

{
  "mcpServers": {
    "devassist-mcp": {
      "command": "python",
      "args": ["C:/path/to/devassist-mcp/server.py"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

참고: C:/path/to/devassist-mcp/server.py를 사용자 머신의 server.py 절대 경로로 바꾸세요.


💻 기타 IDE 구성

Cursor

Cursor MCP 설정(.cursor/mcp.json)에 추가하세요:

Render 클라우드 엔드포인트 사용:

{
  "mcpServers": {
    "devassist-mcp": {
      "url": "https://devassist-mcp-server.onrender.com/sse"
    }
  }
}

로컬 Python 스크립트 사용:

{
  "mcpServers": {
    "devassist-mcp": {
      "command": "python",
      "args": ["C:/path/to/devassist-mcp/server.py"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

VS Code (Copilot 포함)

VS Code 설정에 추가하세요:

{
  "mcp": {
    "servers": {
      "devassist-mcp": {
        "command": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "https://devassist-mcp-server.onrender.com/sse"
        ]
      }
    }
  }
}

📋 사전 요구 사항 및 로컬 설정

사전 요구 사항

  • Python 3.12+

  • GitHub Personal Access Token (여기서 생성) — 더 높은 요청 한도용

  • pip 또는 uv 패키지 관리자

옵션 1: uv 사용 (권장)

# Clone the repository
git clone https://github.com/Champion-2006/DevAssist-MCP-Server.git
cd DevAssist-MCP-Server

# Create virtual environment and install dependencies
uv venv
uv pip install -r requirements.txt

옵션 2: pip 사용

# Clone the repository
git clone https://github.com/Champion-2006/DevAssist-MCP-Server.git
cd DevAssist-MCP-Server

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

⚙️ 로컬 구성

  1. 환경 템플릿 복사:

    cp .env.example .env
  2. .env를 설정으로 편집:

    GITHUB_TOKEN=ghp_your_personal_access_token_here
    LOG_LEVEL=INFO
    TRANSPORT=stdio
    PORT=8000

참고: GitHub 토큰은 선택 사항이지만 권장됩니다. 토큰이 없으면 요청이 시간당 60회 API 호출로 제한됩니다. 토큰이 있으면 시간당 5,000회 요청으로 증가합니다.


🚀 로컬 독립 실행

STDIO 모드 (기본)

python server.py

SSE 전송 모드

python server.py --sse
# or
TRANSPORT=sse PORT=8000 python server.py

🛠️ 도구 문서

도구 1: github_assistant

작업

설명

repository 필요

get_user_profile

GitHub 사용자 프로필 가져오기

get_user_repos

사용자가 소유한 모든 공개 저장소 나열

get_user_activity

최근 사용자 활동 가져오기 (커밋, PR, 스타)

get_repo_info

저장소 세부 정보 가져오기

get_latest_commits

최근 커밋 가져오기

get_repo_stats

저장소 통계 가져오기

get_repo_languages

상세 프로그래밍 언어 비율 분석

get_repo_contributors

저장소에 대한 주요 코드 기여자

get_latest_release

최신 릴리스 버전 및 릴리스 노트

get_pull_requests

풀 리퀘스트 가져오기

get_issues

저장소 이슈 가져오기

예시 — 사용자 프로필 가져오기:

"Show me the GitHub profile of octocat"
{
  "login": "octocat",
  "name": "The Octocat",
  "public_repos": 42,
  "followers": 20000,
  "location": "San Francisco"
}

예시 — 저장소 통계 가져오기:

"What are the stats for octocat/Hello-World?"
{
  "repository": "octocat/Hello-World",
  "stars": 2500,
  "forks": 450,
  "language": "Python",
  "open_issues": 12
}

도구 2: cp_assistant

작업

설명

get_user_profile

Codeforces 레이팅 및 랭크 가져오기

get_contest_history

과거 콘테스트 참가 기록

get_recent_submissions

최근 문제 제출

get_rating_history

시간에 따른 레이팅 변화

analyze_weak_topics

약한 문제 영역 식별

recommend_problems

맞춤형 문제 추천

예시 — 약한 주제 분석:

"Analyze the weak topics for Codeforces user tourist"
[
  {
    "tag": "geometry",
    "total_attempts": 15,
    "successful": 5,
    "failed": 10,
    "success_rate": 33.3
  }
]

예시 — 추천 받기:

"Recommend practice problems for my Codeforces handle"
[
  {
    "name": "Theatre Square",
    "rating": 1000,
    "tags": ["math"],
    "url": "https://codeforces.com/problemset/problem/1/A"
  }
]

🧪 테스트

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ -v --cov=. --cov-report=term-missing

# Run specific test file
pytest tests/test_github_service.py -v

# Run specific test
pytest tests/test_codeforces_service.py::test_analyze_weak_topics -v

📁 프로젝트 구조

devassist-mcp/
├── server.py                          # MCP server entry point (STDIO & SSE)
├── config.py                          # Pydantic settings
├── .env.example                       # Environment template
├── requirements.txt                   # Dependencies
├── pyproject.toml                     # Project metadata & tool configs
├── Dockerfile                         # Multi-stage Docker build
├── .dockerignore                      # Docker build exclusions
├── .gitignore                         # Git exclusions
├── README.md                          # Comprehensive documentation
├── tools/
│   ├── github.py                      # GitHub MCP tool
│   └── cp.py                          # Codeforces MCP tool
├── services/
│   ├── github_service.py              # GitHub API client
│   └── codeforces_service.py          # Codeforces API client
├── models/
│   ├── github_models.py               # GitHub Pydantic models
│   └── cp_models.py                   # Codeforces Pydantic models
├── utils/
│   ├── logger.py                      # Structured logging
│   └── exceptions.py                  # Custom exception hierarchy
├── tests/
│   ├── conftest.py                    # Shared test fixtures
│   ├── test_github_service.py         # GitHub service tests
│   ├── test_codeforces_service.py     # Codeforces service tests
│   ├── test_github_tool.py            # GitHub tool tests
│   └── test_cp_tool.py               # Codeforces tool tests
└── logs/                              # Log files (auto-created)

🐳 배포 가이드

Render 배포 (라이브 프로덕션)

이 프로젝트는 Render.com에서 SSE 전송 모드로 실행되는 웹 서비스로 라이브 배포되어 있습니다:

  1. 서비스 유형: 웹 서비스

  2. 빌드 명령: pip install -r requirements.txt

  3. 시작 명령: python server.py --sse

  4. 환경 변수:

    • TRANSPORT: sse

    • PORT: 10000 (또는 Render 기본값)

    • GITHUB_TOKEN: ghp_your_github_token

  5. 라이브 URL: https://devassist-mcp-server.onrender.com


🤝 기여

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성하세요: git checkout -b feature/amazing-feature

  3. 변경 사항을 커밋하세요: git commit -m 'Add amazing feature'

  4. 브랜치에 푸시하세요: git push origin feature/amazing-feature

  5. 풀 리퀘스트를 여세요

코드 품질

# Format code
black .

# Lint
ruff check .

# Type check
mypy .

Python, FastMCP, httpx를 사용하여 ❤️로 제작되었습니다

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Git-backed platform for skills, tools, and context for AI agents

View all MCP Connectors

Latest Blog Posts

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/Aditya1335/DevAssist-MCP-Server'

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