Model Coupling Platform Server
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. 설치 지침
가상 환경 생성
uv venv -p python3.10 .venv\Scripts\activate # Unix의 경우: source .venv/bin/activate
종속성 설치
자외선 동기화 자외선 잠금
환경 구성 이 프로젝트는 종속성 관리를 위해 pyproject.toml을 사용합니다. 주요 종속성은 다음과 같습니다.
패스트API
유비콘
피단틱
팬더
맷플롯립
파이테스트
파이테스트-아신시오
MCP 서버 실행
서버를 시작합니다 cd src uvicorn server:app --reload
서버는 다음 위치에서 사용할 수 있습니다.
API 엔드포인트: http://localhost:8000/mcp 상태 점검: http://localhost:8000/health
III 테스트
모든 테스트를 실행합니다.
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
예제 요청 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 구현 노트
모의 구현:
-HDF5 파일 목록은 시뮬레이션된 디렉토리 구조를 사용합니다. -Slurm 작업 제출은 모의 작업 ID를 생성합니다. -CPU 코어 보고는 os.cpu_count()를 사용합니다.
CSV 시각화:
plots_results 디렉토리에 플롯을 생성합니다. - 지정하지 않으면 처음 두 열을 기본값으로 사용합니다. - 생성된 PNG 파일의 경로를 반환합니다.
오류 처리:
적절한 JSON-RPC 2.0 오류 응답 - 모든 매개변수에 대한 입력 검증 - 누락된 파일/잘못된 경로에 대한 우아한 처리
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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