BM

balejosg/mcp-server-ra2-jdbc

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

2 stars 10 forks 质量 48 趋势 8

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 directas
  • Class.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:

  1. El ciclo completo de JDBC desde cero
  2. Cómo funcionan las conexiones realmente
  3. La importancia del cierre manual de recursos
  4. 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]
在 GitHub 查看完整 README

安装

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" } } }