RCAC MCP服务器
普渡RCAC MCP服务器:支持使用HPC集群和存储服务进行代理开发。
快速入门(桌面客户端)
对于启用MCP的桌面应用程序,如Claude desktop、Cursor或Warp,添加此服务器 使用指向集群的SSH主机连接到MCP配置:
{
"mcpServers": {
"rcac": {
"command": "uvx",
"args": ["git+https://github.com/purduercac/rcac-mcp", "--ssh-host", "cluster.rcac.purdue.edu"]
}
}
}这将在本地运行服务器 stdio 模式,通过SSH在集群上执行命令 使用您现有的 ~/.ssh/config 和钥匙。
或者,设置 RCAC_SSH_HOST 在您的环境中省略 --ssh-host 从args。
执行模式
服务器支持三种执行模式:
ssh(stdio的默认设置)--通过SSH在远程HPC集群上执行命令。local--通过以下方式在本地执行命令$SHELL仅用于开发/测试。delegate--多用户模式;以特权进程运行,并将命令委托给
经过身份验证的用户 sudo。需要JWT或OIDC身份验证。
看 安全.md 了解详细的架构和配置。
托管HTTP服务器
对于具有身份验证的共享托管实例:
基本HTTP服务器
rcac-mcp -t http --ssh-host cluster.rcac.purdue.edu使用JWT身份验证
export JWT_SECRET="your-secret-key-at-least-32-characters"
rcac-mcp -t http -a jwt -e delegate
# Generate a token for clients
rcac-mcp --generate-token --lifetime 86400Docker使用TLS编写
对于使用HTTPS的类似生产部署:
# Install mkcert if needed
brew install mkcert
mkcert -install
# Generate certificates
mkdir -p certs
mkcert -cert-file certs/cert.pem -key-file certs/key.pem mcp.rcac.dev localhost 127.0.0.1
# Add to /etc/hosts
echo "127.0.0.1 mcp.rcac.dev" | sudo tee -a /etc/hosts
# Run
docker compose up服务器将在以下时间可用 https://mcp.rcac.dev:8443.
文档搜索索引
服务器包括RCAC文档(用户指南, 软件目录、数据集、博客文章、研讨会)。代理商使用 doc_search 和 doc_load 在建议用户之前,请咨询权威文档。
从本地克隆构建索引 RCAC文件 回购:
rcac-mcp --index-docs --docs-path /path/to/RCAC-Docs数据库存储在 ~/.config/rcac-mcp/docs.db 默认情况下(用覆盖 --docs-output 或 RCAC_DOCS_DB 环境变量)。重新运行命令 执行增量更新——只重新处理更改的文件。
可用工具
壳牌和文件系统
run_command(command, cwd, timeout)--在远程系统上执行shell命令list_directory(path, show_hidden)--列出目录的内容read_file(path, encoding, max_size)--读取文件内容write_file(path, content, append, create_dirs)--将内容写入文件upload_file(local_path, remote_path)--将文件上传到远程系统download_file(remote_path, local_path)--从远程系统下载文件
RCAC集群
myquota()--显示存储使用情况和配额限制storage_paths()--获取家庭、划痕和仓库的解决路径jobinfo(job_id)--详细的工作信息jobcmd(job_id)--已提交作业命令jobenv(job_id)--作业的环境变量jobscript(job_id)--作业的完整提交脚本showpartitions()--可用分区及其状态average_wait(partition, account)--队列等待时间统计
斯隆
sbatch(...)--提交批处理作业(从脚本路径或内联内容)squeue(...)--查看作业队列scancel(...)--取消作业sacct(...)--查询作业会计历史记录sinfo(...)--集群和分区状态scontrol_show_job(job_id)--Slurm职位详细信息scontrol_show_node(node)--详细节点信息slist()--Slurm帐户和使用情况(RCAC特定)sfeatures()--节点硬件特征和约束(RCAC特定)
文档
doc_search(query, category)--RCAC文档全文搜索doc_load(path)--加载文档页面的全部内容
发展
uv sync
rcac-mcp -e local运行测试套件:
pytest许可证
麻省理工学院
