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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A JSON-RPC 2.0 compliant server that enables interaction with HDF5 data files and Slurm job scheduling through standardized API endpoints.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A FastAPI-based server that provides tools for local file management and Databricks operations, enabling users to create/edit files locally and interact with Databricks clusters, jobs, and DLT pipelines.
    -
  • F
    license
    B
    quality
    D
    maintenance
    A demonstration server that implements JSON-RPC 2.0 methods for basic arithmetic using FastAPI. It provides integration examples for the Model Context Protocol (MCP) using FastMCP to connect with Claude Desktop.
    1
    -