
Servidor educacional MCP (Model Context Protocol) para enseñanza de JDBC vanilla en el módulo de Acceso a Datos de 2º DAM.
概览
Servidor educacional MCP (Model Context Protocol) para enseñanza de JDBC vanilla en el módulo de Acceso a Datos de 2º DAM. Proyecto educativo que proporciona un donde los estudiantes implementan operaciones de base de datos usando JDBC vanilla (sin JPA/Hibernate/Spring DataSource). El proyecto expone 13 herramientas MCP que los estudiantes deben completar. ✅ - DriverManager.getConnection() - Conexiones directas - Class.forName() - Carga explícita del driver - Gestión manual de conexiones - Try-with-resources obligatorio ❌ - Spring DataSource (inyección de dependencias) - Spring JdbcTemplate - Connection pools automáticos de Spring - Inicialización automática de BD por Spring Los estudiantes aprenden: 1. El ciclo completo de JDBC desde cero 2. Cómo funcionan las conexiones realmente 3. La importancia del cierre manual de recursos 4.
README
以下为原文 README 节选,完整内容请查看原文。
MCP Server RA2 - Acceso a Datos mediante JDBC PURO
Servidor educacional MCP (Model Context Protocol) para enseñanza de JDBC vanilla en el módulo de Acceso a Datos de 2º DAM.
📋 Descripción
Proyecto educativo que proporciona un esqueleto de aplicación JDBC PURO donde los estudiantes implementan operaciones de base de datos usando JDBC vanilla (sin JPA/Hibernate/Spring DataSource). El proyecto expone 13 herramientas MCP que los estudiantes deben completar.
⚡ IMPORTANTE: JDBC Puro vs Spring DataSource
Este proyecto usa JDBC VANILLA deliberadamente para máximo aprendizaje:
✅ SÍ usamos:
DriverManager.getConnection()- Conexiones directasClass.forName()- Carga explícita del driver- Gestión manual de conexiones
- Try-with-resources obligatorio
❌ NO usamos:
- Spring
DataSource(inyección de dependencias) - Spring
JdbcTemplate - Connection pools automáticos de Spring
- Inicialización automática de BD por Spring
¿Por qué? Los estudiantes aprenden:
- El ciclo completo de JDBC desde cero
- Cómo funcionan las conexiones realmente
- La importancia del cierre manual de recursos
- Los fundamentos antes de usar abstracciones
Estado actual:
- ✅ 5 métodos EJEMPLOS implementados (para aprender el patrón)
- ⚠️ 8 métodos TODO (para que estudiantes implementen)
🎯 Resultado de Aprendizaje
RA2: Desarrolla aplicaciones que gestionan información almacenada mediante conectores
Criterios de Evaluación
| CE | Descripción | Métodos |
|---|---|---|
| CE2.a | Gestión de conexiones a bases de datos | testConnection() |
| CE2.b | Operaciones CRUD con JDBC | createUser(), findUserById(), updateUser(), deleteUser(), findAll() |
| CE2.c | Consultas avanzadas y paginación | findUsersByDepartment(), searchUsers() |
| CE2.d | Gestión de transacciones | transferData(), batchInsertUsers() |
| CE2.e | Metadatos de bases de datos | getDatabaseInfo(), getTableColumns() |
| CE2.f | Funciones de agregación | executeCountByDepartment() |
🏗️ Estructura del Proyecto
mcp-server-ra2-jdbc/
├── src/
│ ├── main/
│ │ ├── java/com/dam/accesodatos/
│ │ │ ├── McpAccesoDatosRa2Application.java [COMPLETO - Main Spring Boot]
│ │ │ ├── config/ [COMPLETO - Configuración]
│ │ │ ├── model/ [COMPLETO - User, DTOs]
│ │ │ └── ra2/ [IMPLEMENTACIÓN ESTUDIANTES]
│ │ │ ├── DatabaseUserService.java [COMPLETO - Interface con @Tool]
│ │ │ ├── DatabaseUserServiceImpl.java [5 EJEMPLOS + 8 TODOs]
│ │ │ └── package-info.java [COMPLETO - Documentación RA2]
│ │ └── resources/
│ │ ├── application.yml [COMPLETO - Config H2 + MCP]
│ │ ├── schema.sql [COMPLETO - CREATE TABLE users]
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"mcp-server-ra2-jdbc": {
"type": "stdio",
"command": "python3",
"args": ["/ruta/absoluta/mcp_adapter.py"],
"cwd": "/ruta/absoluta/del/proyecto",
"description": "Servidor MCP educacional para RA2 - Acceso a Datos mediante JDBC"
}
}
}