Skip to main content
Glama
EstebanIIT

Model Coupling Platform Server

by EstebanIIT

Implementación del servidor MCP

Nombre: Esteban Nicolas ID de estudiante: A20593170

I. Capacidades MCP implementadas

1 Recursos de datos 1.1 Listado de archivos HDF5

  • Enumera archivos HDF5 simulados en una estructura de directorio

  • Parámetros: path_pattern (patrón de ruta de archivo opcional)

2 Herramientas 2.1 Envío de trabajos de Slurm

  • Simula el envío de un trabajo a un programador Slurm

  • Parámetros: script_path (obligatorio), cores (opcional, valor predeterminado=1)

2.2 Informes de núcleos de CPU

  • Informa el número de núcleos de CPU disponibles en el sistema

  • No se requieren parámetros

2.3 Visualización CSV

  • Traza dos columnas de un archivo CSV (el valor predeterminado son las dos primeras columnas)

  • Parámetros: csv_path (obligatorio), column x , column y (ambas opcionales)

II. Instrucciones de configuración

  1. Crear entorno virtual

uv venv -p python3.10 .venv\Scripts\activate # En Unix: source .venv/bin/activate

  1. Instalar dependencias

sincronización UV bloqueo UV

  1. Configuración del entorno: El proyecto utiliza pyproject.toml para la gestión de dependencias. Las dependencias clave incluyen:

API rápida

Uvicornio

Pydantic

Pandas

Matplotlib

Pytest

Pytest-ascyncio

  1. Ejecución del servidor MCP

Iniciar el servidor cd src uvicorn server:app --reload

El servidor estará disponible en:

Punto final de la API: http://localhost:8000/mcp Comprobación del estado: http://localhost:8000/health

III Pruebas

  1. Ejecutar todas las pruebas:

pruebas de pytest/Ejecutar archivo de prueba específico:

pruebas de pytest/test_capabilities_plot_vis.py pruebas de pytest/test_capabilities_hdf5.py pruebas de pytest/test_capabilities_cpu_core.py pruebas de pytest/test_capabilities_slurm.py pruebas de pytest/test_mcp_handler.py

  1. Solicitudes de ejemplo 2.1 Lista de recursos disponibles

curl -X POST http://localhost:8000/mcp
-H "Tipo de contenido: aplicación/json"
-d '{"jsonrpc":"2.0","método":"mcp/listResources","id":1}'

2.2 Lista de archivos HDF5

curl -X POST http://localhost:8000/mcp
-H "Tipo de contenido: aplicación/json"
-d '{"jsonrpc":"2.0","método":"mcp/callTool","parámetros":{"herramienta":"lista_de_archivos_hdf5","patrón_de_ruta":"/data/sim_run_123"},"id":2}'

2.3 Enviar trabajo de Slurm

curl -X POST http://localhost:8000/mcp
-H "Tipo de contenido: aplicación/json"
-d '{"jsonrpc":"2.0","método":"mcp/callTool","parámetros":{"herramienta":"slurm_job_submission","ruta_de_script":"/jobs/analysis.sh","núcleos":4},"id":3}'

2.4 Trazar columnas CSV

curl -X POST http://localhost:8000/mcp
-H "Tipo de contenido: aplicación/json"
-d '{"jsonrpc":"2.0","método":"mcp/callTool","parámetros":{"herramienta":"plot_vis_columns","csv_path":"data.csv","columna x":"tiempo","columna y":"temperatura"},"id":4}'

IV Notas de implementación

  1. Implementaciones simuladas:

-El listado de archivos HDF5 utiliza una estructura de directorio simulada -El envío de trabajos de Slurm genera identificadores de trabajos simulados -Los informes de núcleos de CPU utilizan os.cpu_count()

  1. Visualización CSV:

-Crea gráficos en un directorio plots_results -El valor predeterminado son las dos primeras columnas si no se especifica ninguna -Devuelve la ruta al archivo PNG generado

  1. Manejo de errores:

-Respuestas de error JSON-RPC 2.0 adecuadas -Validación de entrada para todos los parámetros -Manejo elegante de archivos faltantes/rutas no válidas

GITHUB: https://github.com/EstebanIIT/cs550\_MCP.git

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/EstebanIIT/CS550_MCP'

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