Skip to main content
Glama

Model Coupling Platform Server

by EstebanIIT

MCP 서버 구현

이름: 에스테반 니콜라스 학번: A20593170

I. MCP 기능 구현

1 데이터 리소스 1.1 HDF5 파일 목록

  • 디렉토리 구조에 모의 HDF5 파일을 나열합니다.
  • 매개변수: path_pattern (선택적 파일 경로 패턴)

2 도구 2.1 Slurm 작업 제출

  • Slurm 스케줄러에 작업 제출을 시뮬레이션합니다.
  • 매개변수: script_path (필수), cores (선택 사항, 기본값=1)

2.2 CPU 코어 보고

  • 시스템에서 사용 가능한 CPU 코어 수를 보고합니다.
  • 매개변수가 필요하지 않습니다

2.3 CSV 시각화

  • CSV 파일에서 두 개의 열을 표시합니다(기본값은 처음 두 개의 열입니다)
  • 매개변수: csv_path (필수), column x , column y (둘 다 선택 사항)

II. 설치 지침

  1. 가상 환경 생성

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

  1. 종속성 설치

자외선 동기화 자외선 잠금

  1. 환경 구성 이 프로젝트는 종속성 관리를 위해 pyproject.toml을 사용합니다. 주요 종속성은 다음과 같습니다.

패스트API

유비콘

피단틱

팬더

맷플롯립

파이테스트

파이테스트-아신시오

  1. MCP 서버 실행

서버를 시작합니다 cd src uvicorn server --reload

서버는 다음 위치에서 사용할 수 있습니다.

API 엔드포인트: http://localhost:8000/mcp 상태 점검: http://localhost:8000/health

III 테스트

  1. 모든 테스트를 실행합니다.

pytest 테스트/ 특정 테스트 파일 실행:

pytest 테스트/test_capabilities_plot_vis.py pytest 테스트/test_capabilities_hdf5.py pytest 테스트/test_capabilities_cpu_core.py pytest 테스트/test_capabilities_slurm.py pytest 테스트/test_mcp_handler.py

  1. 예제 요청 2.1 사용 가능한 리소스 나열

curl -X POST http://localhost:8000/mcp
-H "콘텐츠 유형: application/json"
-d '{"jsonrpc":"2.0","메소드":"mcp/listResources","id":1}'

2.2 HDF5 파일 나열

curl -X POST http://localhost:8000/mcp
-H "콘텐츠 유형: application/json"
-d '{"jsonrpc":"2.0","메소드":"mcp/callTool","매개변수":{"도구":"hdf5_file_listing","경로_패턴":"/data/sim_run_123"},"id":2}'

2.3 Slurm 작업 제출

curl -X POST http://localhost:8000/mcp
-H "콘텐츠 유형: application/json"
-d '{"jsonrpc":"2.0","메소드":"mcp/callTool","매개변수":{"도구":"slurm_job_submission","스크립트_경로":"/jobs/analysis.sh","코어":4},"id":3}'

2.4 CSV 열 플롯

curl -X POST http://localhost:8000/mcp
-H "콘텐츠 유형: application/json"
-d '{"jsonrpc":"2.0","메소드":"mcp/callTool","매개변수":{"도구":"plot_vis_columns","csv_path":"data.csv","열 x":"시간","열 y":"온도"},"id":4}'

IV 구현 노트

  1. 모의 구현:

-HDF5 파일 목록은 시뮬레이션된 디렉토리 구조를 사용합니다. -Slurm 작업 제출은 모의 작업 ID를 생성합니다. -CPU 코어 보고는 os.cpu_count()를 사용합니다.

  1. CSV 시각화:
  • plots_results 디렉토리에 플롯을 생성합니다. - 지정하지 않으면 처음 두 열을 기본값으로 사용합니다. - 생성된 PNG 파일의 경로를 반환합니다.
  1. 오류 처리:
  • 적절한 JSON-RPC 2.0 오류 응답 - 모든 매개변수에 대한 입력 검증 - 누락된 파일/잘못된 경로에 대한 우아한 처리

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

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

사용자가 HDF5 파일 작업, Slurm 작업 제출, CPU 정보 검색, 표준화된 API 엔드포인트를 통한 CSV 데이터 시각화를 수행할 수 있도록 하는 FastAPI 기반 JSON-RPC 2.0 서버 구현입니다.

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A server implementing Model Coupling Protocol for HDF5 file operations, Slurm job management, hardware monitoring, and data compression.
    Last updated -
    Python
    MIT License
  • -
    security
    F
    license
    -
    quality
    A JSON-RPC 2.0 compliant server that enables interaction with HDF5 data files and Slurm job scheduling through standardized API endpoints.
    Last updated -
    Python
  • -
    security
    A
    license
    -
    quality
    A lightweight FastAPI server that allows remote execution of shell commands on Windows, with real-time output streaming and security features like API key authentication and rate limiting.
    Last updated -
    1
    Python
    MIT License

View all related MCP servers

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