DevAssist MCP Server
🚀 DevAssist MCP Server
Un servidor MCP de Python listo para producción para GitHub y programación competitiva
🌐 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/ssePuedes 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):
🐙
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.🏆
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 |
🔒 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.jsonLinux:
~/.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.pypor la ruta absoluta aserver.pyen 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.txtOpció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
Copia la plantilla de entorno:
cp .env.example .envEdita
.envcon 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.pyModo 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 |
| Obtener perfil de usuario de GitHub | ❌ |
| Listar todos los repositorios públicos de un usuario | ❌ |
| Obtener actividad reciente del usuario (commits, PRs, estrellas) | ❌ |
| Obtener detalles del repositorio | ✅ |
| Obtener commits recientes | ✅ |
| Obtener estadísticas del repositorio | ✅ |
| Desglose detallado del porcentaje de lenguajes de programación | ✅ |
| Principales contribuidores de código de un repositorio | ✅ |
| Última versión publicada y notas de la versión | ✅ |
| Obtener pull requests | ✅ |
| 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 |
| Obtener el rating y el rango de Codeforces |
| Participación en concursos anteriores |
| Envíos recientes de problemas |
| Cambios de rating a lo largo del tiempo |
| Identificar áreas débiles de problemas |
| 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:
Tipo de servicio: Web Service
Comando de compilación:
pip install -r requirements.txtComando de inicio:
python server.py --sseVariables de entorno:
TRANSPORT:ssePORT:10000(o el valor predeterminado de Render)GITHUB_TOKEN:ghp_your_github_token
URL en vivo:
https://devassist-mcp-server.onrender.com
🤝 Contribución
Haz un fork del repositorio
Crea una rama de funcionalidad:
git checkout -b feature/amazing-featureHaz commit de los cambios:
git commit -m 'Add amazing feature'Haz push a la rama:
git push origin feature/amazing-featureAbre un Pull Request
Calidad del código
# Format code
black .
# Lint
ruff check .
# Type check
mypy .Construido con ❤️ usando Python, FastMCP y httpx
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceEnables AI assistants to access and analyze GitHub profile data, providing insights on repositories, commit history, coding patterns, and generating portfolio summaries for developers and recruiters.82MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repositories, including fetching repository details, searching, and retrieving README content.4542ISC
- FlicenseAqualityDmaintenanceEnables AI agents to query a GitHub user's public profile, repositories, language breakdowns, and README content61
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query GitHub data directly through natural language, including user profiles, repositories, issues, and search.
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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