loading…
Search for a command to run...
loading…
Enables CRUD operations on student records via REST API and MCP interface, with configurable JSON or SQLite persistence.
Enables CRUD operations on student records via REST API and MCP interface, with configurable JSON or SQLite persistence.
Students Architecture
Proyecto de ejemplo que implementa una API REST y una interfaz MCP para gestionar estudiantes.
Autor: MsC Felipe Buitrago Carmona
Afiliación: Departamento de sistemas e informática, Facultad de Inteligencia Artificial e Ingeniería, Universidad de Caldas
Descripción:
presentation (REST + MCP), business (servicio), data (repositorios), models (DTOs y entidades)..env.Requisitos
requirements.txt.Instalación rápida
python -m venv venv
& venv\Scripts\Activate.ps1
pip install -r requirements.txt
Configuración (.env)
.env en la raíz con valores como:FASTMCP_STATELESS_HTTP=true
REPO_TYPE=json # o sqlite
JSON_PATH=students.json
SQLITE_PATH=students.db
API_PORT=5000
MCP_PORT=9000
Cambiar REPO_TYPE entre json y sqlite selecciona la implementación de persistencia.
Nota: después de cambiar .env reiniciar el servidor para que la fábrica de repositorios lo lea.
Ejecutar API REST (desarrollo)
venv\Scripts\python.exe -m uvicorn main_api_rest_server:app --reload --port 5000
Ejecutar servidor MCP
venv\Scripts\python.exe main_mcp_server.py
Rutas principales (REST)
GET /students — listar estudiantesPOST /students — crear estudianteGET /students/{id} — obtener estudiantePUT /students/{id} — actualizarDELETE /students/{id} — eliminarEjemplo curl para crear un estudiante:
curl -X POST http://localhost:5000/students -H "Content-Type: application/json" -d '{"name":"Ana","email":"[email protected]","age":21,"career":"Ingenieria","semester":4}'
Notas útiles
TypeError relacionado con loop_factory, el arranque contiene una compatibilidad para asyncio.run en main_api_rest_server.py.orm_mode con v2; se recomienda usar from_attributes cuando se migre a Pydantic v2.Configuración Claude Desktop
Instalar Claude Desktop, luego ir a la parte inferior izquierda, donde aparece el nombre de usuario, luego sección Configuración, luego sección Desarrollador, Editar Configuración, y pegar el siguiente JSON.
{
"mcpServers": {
"students_architecture": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:9000/mcp",
"--allow-http"
],
"env": {
"MCP_TRANSPORT_STRATEGY": "http-only"
}
}
},
"preferences": {
"coworkScheduledTasksEnabled": false,
"sidebarMode": "chat",
"coworkWebSearchEnabled": true,
"ccdScheduledTasksEnabled": false
}
}
Contacto MsC Felipe Buitrago Carmona [email protected] Departamento de sistemas e informática Universidad de Caldas
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"students-architecture-mcp-server": {
"command": "npx",
"args": []
}
}
}