Skip to main content
Glama

🚀 DevAssist MCP Server

Un servidor MCP de Python listo para producción para GitHub y programación competitiva

Python MCP Render License Docker


🌐 Despliegue en la nube en vivo: ¡DevAssist MCP Server está desplegado y activo en Render.com!

  • URL base y comprobación de estado: https://devassist-mcp-server.onrender.com/

  • Endpoint SSE: https://devassist-mcp-server.onrender.com/sse

Puedes conectar tu cliente de Claude Desktop, Cursor o VS Code directamente al servidor de Render alojado sin ejecutar código localmente, o ejecutarlo localmente en tu propia máquina.


📖 Resumen y descripción del proyecto

DevAssist MCP Server es un servidor del Model Context Protocol (MCP) asíncrono y de nivel de producción, diseñado para conectar asistentes de IA—como Claude Desktop, Cursor y VS Code Copilot—con flujos de trabajo de desarrollo en tiempo real, inteligencia de repositorios de GitHub y analíticas de programación competitiva.

🎯 Propósito y capacidades principales

Los agentes modernos de codificación con IA a menudo carecen de acceso directo a plataformas externas de desarrolladores y a métricas de programación competitiva. DevAssist MCP aborda este problema proporcionando dos herramientas específicas a través de interfaces estándar del protocolo MCP (STDIO y Server-Sent Events / SSE):

  1. 🐙 github_assistant: Proporciona una integración completa de GitHub que incluye consultas de perfiles de usuario, metadatos de repositorios, historiales de commits, desgloses de la composición de lenguajes de código, pull requests activas, seguimiento de issues, métricas de contribuidores y notas de versiones.

  2. 🏆 cp_assistant: Se integra con Codeforces para obtener el rating de los usuarios en concursos, el historial de rendimiento de envíos, el seguimiento de precisión por temas, la identificación de puntos débiles algorítmicos y recomendaciones personalizadas de problemas de práctica basadas en el nivel de rating y las etiquetas débiles.

Ya sea desplegado localmente o accedido a través de su endpoint en la nube en vivo de Render.com (https://devassist-mcp-server.onrender.com/sse), DevAssist MCP permite a los LLM razonar dinámicamente sobre datos de desarrollo en tiempo real.

✨ Características principales

Característica

Descripción

🌐 Desplegado en la nube

Alojamiento en vivo en Render.com con soporte completo de Server-Sent Events (SSE)

🐙 Integración con GitHub

Perfiles de usuario, información de repos, commits, PRs, issues, estadísticas

🏆 Integración con Codeforces

Perfiles, historial de concursos, seguimiento de rating, envíos

🧠 Análisis de temas débiles

Identificación impulsada por IA de áreas débiles en programación competitiva

💡 Recomendaciones inteligentes

Sugerencias personalizadas de problemas basadas en carencias de habilidades

Arquitectura asíncrona

E/S sin bloqueo con httpx para un rendimiento máximo

🔒 Listo para producción

Registro de eventos, manejo de errores, seguridad de tipos, pruebas exhaustivas


Related MCP server: GitBridge

🏗️ Arquitectura

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

🔌 Conexión con Claude Desktop (claude_desktop_config.json)

Para usar este servidor MCP en Claude Desktop, abre o crea tu archivo claude_desktop_config.json.

📍 Ubicaciones de los archivos:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json (p. ej., 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


Opción A: Usar el despliegue en vivo de Render (recomendado)

Conéctate directamente al servidor alojado en la nube de Render.com usando el puente mcp-remote:

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

O si tu versión de Claude Desktop admite configuración SSE nativa:

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

Opción B: Usar la ejecución en máquina local

Si prefieres ejecutar el servidor MCP localmente en tu propia máquina:

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

Nota: Reemplaza C:/path/to/devassist-mcp/server.py por la ruta absoluta a server.py en tu máquina.


💻 Otras configuraciones de IDE

Cursor

Añade a tu configuración de MCP de Cursor (.cursor/mcp.json):

Usando el endpoint de la nube de Render:

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

Usando el script de Python local:

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

VS Code (con Copilot)

Añade a tu configuración de VS Code:

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

📋 Requisitos previos y configuración local

Requisitos previos

  • Python 3.12+

  • Token de acceso personal de GitHub (Generar aquí) — para límites de tasa más altos

  • Gestor de paquetes pip o uv

Opción 1: Usar uv (recomendado)

# 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

Opción 2: Usar 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

⚙️ Configuración local

  1. Copia la plantilla de entorno:

    cp .env.example .env
  2. Edita .env con tus ajustes:

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

Nota: El token de GitHub es opcional, pero recomendado. Sin él, las solicitudes se limitan a 60 llamadas a la API por hora. Con un token, el límite aumenta a 5.000 solicitudes por hora.


🚀 Ejecución local independiente

Modo STDIO (predeterminado)

python server.py

Modo de transporte SSE

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

🛠️ Documentación de herramientas

Herramienta 1: github_assistant

Acción

Descripción

Requiere repository

get_user_profile

Obtener perfil de usuario de GitHub

get_user_repos

Listar todos los repositorios públicos de un usuario

get_user_activity

Obtener actividad reciente del usuario (commits, PRs, estrellas)

get_repo_info

Obtener detalles del repositorio

get_latest_commits

Obtener commits recientes

get_repo_stats

Obtener estadísticas del repositorio

get_repo_languages

Desglose detallado del porcentaje de lenguajes de programación

get_repo_contributors

Principales contribuidores de código de un repositorio

get_latest_release

Última versión publicada y notas de la versión

get_pull_requests

Obtener pull requests

get_issues

Obtener issues del repositorio

Ejemplo — Obtener perfil de usuario:

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

Ejemplo — Obtener estadísticas del repositorio:

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

Herramienta 2: cp_assistant

Acción

Descripción

get_user_profile

Obtener el rating y el rango de Codeforces

get_contest_history

Participación en concursos anteriores

get_recent_submissions

Envíos recientes de problemas

get_rating_history

Cambios de rating a lo largo del tiempo

analyze_weak_topics

Identificar áreas débiles de problemas

recommend_problems

Sugerencias personalizadas de problemas

Ejemplo — Analizar temas débiles:

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

Ejemplo — Obtener recomendaciones:

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

🧪 Pruebas

# 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

📁 Estructura del proyecto

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)

🐳 Guía de despliegue

Despliegue en Render (producción en vivo)

Este proyecto está desplegado en vivo en Render.com como un Web Service que se ejecuta en modo de transporte SSE:

  1. Tipo de servicio: Web Service

  2. Comando de compilación: pip install -r requirements.txt

  3. Comando de inicio: python server.py --sse

  4. Variables de entorno:

    • TRANSPORT: sse

    • PORT: 10000 (o el valor predeterminado de Render)

    • GITHUB_TOKEN: ghp_your_github_token

  5. URL en vivo: https://devassist-mcp-server.onrender.com


🤝 Contribución

  1. Haz un fork del repositorio

  2. Crea una rama de funcionalidad: git checkout -b feature/amazing-feature

  3. Haz commit de los cambios: git commit -m 'Add amazing feature'

  4. Haz push a la rama: git push origin feature/amazing-feature

  5. Abre un Pull Request

Calidad del código

# Format code
black .

# Lint
ruff check .

# Type check
mypy .

Construido con ❤️ usando Python, FastMCP y 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