Training Platform MCP G2
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Training Platform MCP G2
¿Qué hace este proyecto?
Este repositorio contiene un servidor MCP (Model Context Protocol) en Python para registrar y consultar el progreso de cursos de usuarios autenticados. El servidor expone herramientas para:
obtener el progreso actual de un usuario (
get_course_progress)guardar el avance de curso y etapa (
save_course_progress)
La aplicación valida tokens de acceso y persiste los datos en SQL Server.
Related MCP server: sqlserver-mcp-colossal
Estructura principal
main.py: punto de entrada del servidor MCP.mcp.yaml: configuración del servidor y namespace.db.py: conexión y operaciones con SQL Server para el MCP de progreso de cursos.db_init.sql: script SQL para crear la estructura de base de datos.init_db.py: script de inicialización local de la base de datos.docker-compose.yml: configuración de desarrollo con Docker Compose.namespaces/training_platform_mcp_g2/handlers.py: tools, recurso y prompt del namespace.namespaces/training_platform_mcp_g2/auth.py: extracción y validación del token.namespaces/training_platform_mcp_g2/config.py: definición del namespace.tests/: pruebas automáticas que validan la configuración del namespace y que el proyecto no acumule código ajeno a su alcance.
Requisitos
Python 3.10+
Docker y Docker Compose (opcional)
SQL Server (local o remoto)
Variables de entorno correctamente configuradas
Configuración rápida
Copia
.env.examplea.env:
copy .env.example .envAjusta las variables:
DB_HOST=<host_sql_server>
DB_PORT=1433
DB_USER=<usuario_sql>
DB_PASSWORD=<password_sql>
DB_NAME=HistorialCursos
SA_PASSWORD=<password_sql_server>
GO_BASE_PATH=<go_base_path>
SERVER_HOST=0.0.0.0
SERVER_PORT=8000Instala las dependencias:
pip install -r requirements.txtInicia el servidor directamente:
python main.pyO usa Docker Compose:
docker compose up --buildDocker Compose cargará las variables desde el archivo .env.
Variables de entorno importantes
DB_HOST: host del servidor SQL ServerDB_PORT: puerto de SQL ServerDB_USER: usuario de SQL ServerDB_PASSWORD: contraseña de SQL ServerDB_NAME: nombre de la base de datosSA_PASSWORD: contraseña del usuariosapara SQL Server (solo Docker Compose)GO_BASE_PATH: URL base para validar tokensSERVER_HOST: host del servidor MCPSERVER_PORT: puerto del servidor MCP
Inicialización de la base de datos
El proyecto incluye el script db_init.sql para crear la base de datos y las tablas necesarias.
Opción 1: usar Docker Compose
Si levantás el stack con Docker Compose, el contenedor de SQL Server se inicializa con el script incluido y queda listo para el servidor MCP.
Opción 2: inicializarla manualmente
Si ya tenés SQL Server corriendo, podés ejecutar el script desde una herramienta como sqlcmd o desde tu cliente SQL Server:
sqlcmd -S <host> -U <usuario> -P <password> -i db_init.sqlEl script crea:
courses: catálogo de cursosstages: etapas del flujo de aprendizajestudent_progress: registro del progreso de cada usuario
Uso básico
get_course_progress
Recupera el curso y la etapa actuales del usuario autenticado.
save_course_progress
Guarda o actualiza el progreso de un usuario autenticado.
get_user_email
Devuelve el email del usuario autenticado a partir del token de acceso.
Tests
El proyecto incluye pruebas automáticas en tests/ que verifican:
que
config.pydeclare correctamente las tools del namespace;que
db.pyno acumule código fuera del alcance del training platform (progreso de cursos);que no aparezcan restos de otras funcionalidades en ningún archivo del repo.
Para correrlas:
pip install pytest
pytest tests/ -vBuenas prácticas para revisión
No subir archivos de configuración local ni secretos.
Mantener
pip.conf,.envyvenv/fuera del repositorio.Usar
.env.examplecomo plantilla de configuración.Documentar los endpoints o tools disponibles.
Notas de seguridad
Este proyecto ya está configurado para leer la conexión a la base de datos desde variables de entorno en lugar de valores hardcodeados.
Notas de compatibilidad
El servidor está pensado para ejecutarse con el framework interno ffmcp y el patrón de autenticación go-token. Por eso, si se quiere levantar fuera del contexto de Finnegans, puede requerir ajustes adicionales de infraestructura o dependencias.
No debes subir nunca:
.envpip.confpip.configvenv/o.venv/archivos con contraseñas, certificados o claves privadas
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP server for Product Management
MCP server for managing FormDesigner forms, fields, logic rules, themes, and entries
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server for tracking student learning via a knowledge graph, with spaced repetition scheduling and intelligent queries to identify gaps, misconceptions, and optimal next steps.723 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for SQL Server database operations, enabling CRUD operations, schema exploration, and stored procedure execution through natural language.3 npmMIT
- FlicenseNot gradedqualityBmaintenanceMCP server for student management with CRUD operations, supporting user authentication and student record management.-
- FlicenseNot gradedqualityDmaintenanceMCP server for querying student information, validating result data, and analyzing student results from a local database.-