Skip to main content
Glama
CesarRL23

Students Architecture MCP Server

by CesarRL23

Students Architecture

Beispielprojekt, das eine REST-API und eine MCP-Schnittstelle zur Verwaltung von Studenten implementiert.

Autor: MsC Felipe Buitrago Carmona

Zugehörigkeit: Abteilung für Systeme und Informatik, Fakultät für Künstliche Intelligenz und Ingenieurwesen, Universität von Caldas

Beschreibung:

  • Schichtenarchitektur: presentation (REST + MCP), business (Service), data (Repositories), models (DTOs und Entitäten).

  • Unterstützt Persistenz in JSON und SQLite sowie dynamische Auswahl über .env.

Anforderungen

  • Python 3.12+ (virtuelle Umgebung empfohlen)

  • Abhängigkeiten aufgeführt in requirements.txt.

Schnellinstallation

  1. Erstellen und aktivieren Sie ein virtualenv:

python -m venv venv
& venv\Scripts\Activate.ps1
  1. Abhängigkeiten installieren:

pip install -r requirements.txt

Konfiguration (.env)

  • Kopieren oder erstellen Sie eine .env-Datei im Stammverzeichnis mit Werten wie:

FASTMCP_STATELESS_HTTP=true
REPO_TYPE=json      # o sqlite
JSON_PATH=students.json
SQLITE_PATH=students.db
API_PORT=5000
MCP_PORT=9000

Das Ändern von REPO_TYPE zwischen json und sqlite wählt die Persistenzimplementierung aus.

Hinweis: Starten Sie den Server nach dem Ändern der .env-Datei neu, damit die Repository-Factory sie einliest.

REST-API ausführen (Entwicklung)

venv\Scripts\python.exe -m uvicorn main_api_rest_server:app --reload --port 5000

MCP-Server ausführen

venv\Scripts\python.exe main_mcp_server.py

Hauptrouten (REST)

  • GET /students — Studenten auflisten

  • POST /students — Student erstellen

  • GET /students/{id} — Student abrufen

  • PUT /students/{id} — aktualisieren

  • DELETE /students/{id} — löschen

curl-Beispiel zum Erstellen eines Studenten:

curl -X POST http://localhost:5000/students -H "Content-Type: application/json" -d '{"name":"Ana","email":"ana@example.com","age":21,"career":"Ingenieria","semester":4}'

Nützliche Hinweise

  • Wenn Sie einen Debugger (z. B. PyCharm) verwenden und einen TypeError im Zusammenhang mit loop_factory sehen, enthält der Startvorgang eine Kompatibilität für asyncio.run in main_api_rest_server.py.

  • Pydantic zeigt eine Warnung an, wenn Sie orm_mode mit v2 verwenden; es wird empfohlen, bei der Migration auf Pydantic v2 from_attributes zu verwenden.

Claude Desktop Konfiguration Installieren Sie Claude Desktop, gehen Sie dann unten links zum Benutzernamen, dann zum Bereich Einstellungen, dann zum Bereich Entwickler, Konfiguration bearbeiten und fügen Sie das folgende JSON ein.

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

Kontakt MsC Felipe Buitrago Carmona felipe.buitrago@ucaldas.edu.co Abteilung für Systeme und Informatik Universität von Caldas

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CesarRL23/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server