Skip to main content
Glama
CesarRL23

Students Architecture MCP Server

by CesarRL23

Архитектура студентов

Пример проекта, реализующего REST API и интерфейс MCP для управления студентами.

Автор: Магистр Фелипе Буйтраго Кармона

Аффилиация: Департамент систем и информатики, Факультет искусственного интеллекта и инженерии, Университет Кальдас

Описание:

  • Многоуровневая архитектура: presentation (REST + MCP), business (сервис), data (репозитории), models (DTO и сущности).

  • Поддержка сохранения данных в JSON и SQLite с динамическим выбором через .env.

Требования

  • Python 3.12+ (рекомендуется виртуальное окружение)

  • Зависимости, перечисленные в requirements.txt.

Быстрая установка

  1. Создать и активировать виртуальное окружение:

python -m venv venv
& venv\Scripts\Activate.ps1
  1. Установить зависимости:

pip install -r requirements.txt

Конфигурация (.env)

  • Скопировать или создать файл .env в корневой директории со следующими значениями:

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

Изменение REPO_TYPE между json и sqlite выбирает реализацию сохранения данных.

Примечание: после изменения .env перезапустите сервер, чтобы фабрика репозиториев применила настройки.

Запуск REST API (разработка)

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

Запуск сервера MCP

venv\Scripts\python.exe main_mcp_server.py

Основные маршруты (REST)

  • GET /students — список студентов

  • POST /students — создать студента

  • GET /students/{id} — получить студента

  • PUT /students/{id} — обновить

  • DELETE /students/{id} — удалить

Пример curl для создания студента:

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

Полезные заметки

  • Если вы используете отладчик (например, PyCharm) и видите TypeError, связанный с loop_factory, запуск содержит совместимость для asyncio.run в main_api_rest_server.py.

  • Pydantic выдает предупреждение при использовании orm_mode в версии v2; рекомендуется использовать from_attributes при миграции на Pydantic v2.

Конфигурация Claude Desktop Установите Claude Desktop, затем перейдите в левый нижний угол, где отображается имя пользователя, затем в раздел Настройки, далее в раздел Разработчик, Редактировать конфигурацию и вставьте следующий 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
  }
}

Контакты Магистр Фелипе Буйтраго Кармона felipe.buitrago@ucaldas.edu.co Департамент систем и информатики Университет Кальдас

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