Skip to main content
Glama

🚀 DevAssist MCP Server

Готовый к продакшену Python MCP-сервер для GitHub и спортивного программирования

Python MCP Render License Docker


🌐 Живое облачное развертывание: DevAssist MCP Server развернут и работает на 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 Server — это производственный асинхронный сервер Model Context Protocol (MCP), созданный для подключения ИИ-ассистентов, таких как Claude Desktop, Cursor и VS Code Copilot, к рабочим процессам разработчика в реальном времени, аналитике GitHub-репозиториев и аналитике спортивного программирования.

🎯 Назначение и основные возможности

Современные ИИ-агенты для программирования часто не имеют прямого доступа к внешним платформам разработчика и метрикам спортивного программирования. DevAssist MCP решает эту проблему, предоставляя два специализированных инструмента через стандартные интерфейсы протокола MCP (STDIO и Server-Sent Events / SSE):

  1. 🐙 github_assistant: обеспечивает полную интеграцию с GitHub, включая поиск профилей пользователей, метаданные репозиториев, историю коммитов, разбивку по языкам кода, активные pull requests, отслеживание issues, метрики контрибьюторов и примечания к релизам.

  2. 🏆 cp_assistant: интегрируется с Codeforces для получения рейтингов пользователей на контестах, истории производительности отправленных решений, отслеживания точности по темам, выявления слабых мест в алгоритмах и персональных рекомендаций тренировочных задач на основе уровня рейтинга и слабых тем.

Будь то локальное развертывание или доступ через живой облачный эндпоинт Render.com (https://devassist-mcp-server.onrender.com/sse), DevAssist MCP позволяет LLM динамически анализировать живые данные разработчика.

✨ Ключевые возможности

Возможность

Описание

🌐 Облачное развертывание

Живой хостинг на Render.com с полной поддержкой Server-Sent Events (SSE)

🐙 Интеграция с GitHub

Профили пользователей, информация о репозиториях, коммиты, PR, issues, статистика

🏆 Интеграция с Codeforces

Профили, история контестов, отслеживание рейтинга, отправленные решения

🧠 Анализ слабых тем

Выявление слабых областей в спортивном программировании с помощью ИИ

💡 Умные рекомендации

Персональные предложения задач на основе пробелов в навыках

Асинхронная архитектура

Неблокирующий ввод-вывод с httpx для максимальной производительности

🔒 Готовность к продакшену

Логирование, обработка ошибок, типобезопасность, комплексные тесты


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)

Чтобы использовать этот MCP-сервер в Claude Desktop, откройте или создайте файл 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 (рекомендуется)

Подключитесь напрямую к облачному серверу на Render.com с помощью моста mcp-remote:

{
  "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

Добавьте в настройки MCP вашего Cursor (.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

Получить pull requests

get_issues

Получить 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. Тип сервиса: Web Service

  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. Создайте feature-ветку: git checkout -b feature/amazing-feature

  3. Зафиксируйте изменения: git commit -m 'Add amazing feature'

  4. Отправьте изменения в ветку: git push origin feature/amazing-feature

  5. Откройте Pull Request

Качество кода

# 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