Training Platform MCP G2
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Training Platform MCP G2Get my current course progress"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
This server cannot be deployed
Maintenance
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.79 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for SQL Server database operations, enabling CRUD operations, schema exploration, and stored procedure execution through natural language.6 npmMIT
- FlicenseNot gradedqualityBmaintenanceMCP server for student management with CRUD operations, supporting user authentication and student record management.-
- FlicenseNot gradedqualityCmaintenanceMCP server for querying student information, validating result data, and analyzing student results from a local database.-