PBS MCP服务器
通过封装现有的PBS调度器,将PBS调度器与Claude Desktop等模型上下文协议(MCP)客户端连接起来 pbs-python-api FastMCP服务器中的模块。
入门指南
- 初始化子模块并安装要求:
git submodule update --init --recursive
pip install -r requirements.txt- 安装PBS MCP服务器包本身,以便
python -m pbs_mcp.server可以解析模块:
pip install -e .- 导出服务器所需的环境变量(如果
PBS_ACCOUNT如果省略,则默认为datascience,以及PBS_ROLE默认为user用于特权感知工具):
export PBS_SERVER="aurora-pbs-0001.host"
export PBS_ACCOUNT="datascience"
export PBS_ROLE="user" # or operator/administrator- 通过stdio传输运行服务器:
python -m pbs_mcp.server运行OpenAI Bridge演示
查看此服务器运行情况的最快方法是运行OpenAI桥接脚本。此脚本:
- 在本地启动PBS MCP服务器。
- 将其连接到OpenAI的API(使用您的密钥)。
- 提示模型提交(
examples/hello_world_script.sh)并代表您监控工作。
先决条件
pip install openaiexport OPENAI_API_KEY=sk-...
运行演示
python examples/openai_mcp_bridge.py --prompt "Submit a job to PBS using this submit script: $PWD/examples/hello_world_script.sh. Using 'home' for the filesystems input."项目布局
pbs-mcp-demo/
├── src/pbs_mcp/ # Package exposing server, tools, resources, prompts
├── tests/ # pytest-based unit and integration scaffolding
├── examples/ # Small runnable snippets demonstrating future workflows
├── config/ # Sample MCP client configuration files
├── pyproject.toml # Modern Python package configuration
├── setup.py # Legacy entry point for editable installs
├── requirements.txt # Runtime dependencies (PBS API added locally)
发展
- 使用安装dev-extra
pip install -e .[dev]. - 使用以下命令运行测试
pytest. - 使用示例Claude Desktop配置(
config/claude_desktop_config.json)将服务器连接到MCP客户端。
资源
MCP服务器现在公开以下资源:
pbs://job/{job_id}–详细的工作细分pbs://queue/{queue}–队列配置快照pbs://system/status–服务器、调度程序、队列和作业摘要pbs://user/jobs–当前用户的工作pbs://system/privileges–当前特权角色和所需级别
提示
提示模板为常见工作流提供了可重用的指导:
submit_job_guide(job_type=\"python\", queue=\"debug\")–使用脚本模板片段定制提交清单。diagnose_job_failure(job_id)–使用MCP工具/资源调查失败作业的对话脚手架。optimize_resources(workload_description)–合理调整资源请求规模的结构化计划。
当前代码包含占位符,因此在结构、打包和测试脚手架准备就绪时,实现可以安全地迭代。
