使用说明
用于GitHub Copilot CLI的PSCAD MCP
pscad-mcp 是一个模型上下文协议(MCP)服务器,允许GitHub Copilot CLI通过 mhi.pscad 自动化API。
该服务器专为基于Windows的电力系统工作流程而设计,您希望Copilot做的不仅仅是解释代码:它可以连接到实时PSCAD会话、打开项目、编辑参数、构建案例、运行模拟、检查输出和操纵画布。
为什么存在此回购
PSCAD自动化功能强大,但原始API对对话式工作流并不特别友好。该项目将API打包到结构化MCP工具中,以便Copilot CLI能够:
- 附加到现有的PSCAD会话或启动一个
- 检查项目、模拟状态和输出消息
- 更新项目设置和零部件参数
- 在画布上创建、放置、连接、移动和删除组件
- 运行构建、仿真集和输出文件读取
- 当需要额外的上下文时,请阅读同步PSCAD API文档
工具覆盖范围
服务器当前公开了以下工具组:
- 应用程序生命周期和文档访问
- 项目加载、模拟控制和设置
- 组件搜索、参数读取和更新
- 画布创建和编辑
- 组件转换和端口检查
- 模拟集操作
- 项目创建、保存和构建任务
- 仿真输出捕获和文件解析
该实现是模块化的,每个工具系列都从其自己的模块中注册 pscad_mcp\tools.
需求
要实现PSCAD的完全自动化,您需要:
- 视窗
- Python 3.10+
- 已安装PSCAD
- PSCAD Python包,通常通过可选的
windows此回购中的额外内容 - GitHub Copilot命令行界面
您仍然可以在不安装PSCAD的情况下运行测试和文档相关任务。
安装GitHub Copilot命令行界面
使用GitHub支持的方法之一安装Copilot CLI。在Windows上,最直接的选项是:
winget install GitHub.Copilot
你也可以通过npm安装:
npm install -g @github/copilot
然后从以下内容开始:
copilot
如果需要,请使用以下命令从CLI内部登录 /login.
安装此MCP服务器
从存储库根目录:
py -3 -m pip install -e ".[windows]"
如果 python 在您的计算机上可用,这相当于:
python -m pip install -e ".[windows]"
对于非Windows开发任务,如测试或文档工作,仅安装基础依赖项:
py -3 -m pip install -e .
Copilot CLI的快速设置
最简单的路径是附带的安装程序:
py -3 mcp_installer.py
它安装包,尝试同步PSCAD文档,并打印您应该在Copilot CLI中输入的值。
您还可以手动配置服务器。
选项1:在Copilot CLI中以交互方式添加服务器
-
在此存储库中启动Copilot CLI:
copilot -
运行:
/mcp add -
填写服务器详细信息:
- 姓名:
pscad - 类型:
stdio - 命令:你的Python可执行文件
- Args:
-m pscad_mcp.main
- 姓名:
-
按
Ctrl+S为了拯救。
默认情况下,Copilot CLI将MCP定义存储在 ~/.copilot/mcp-config.json 在Windows上 %USERPROFILE%\.copilot\mcp-config.json.
选项2:编辑 mcp-config.json 直接
如果您更喜欢自己编辑配置文件,请添加这样的条目:
{
"mcpServers": {
"pscad": {
"type": "stdio",
"command": "C:\\Path\\To\\Python\\python.exe",
"args": ["-m", "pscad_mcp.main"],
"tools": ["*"]
}
}
}
替换 command 从以下环境到解释器的路径 pscad-mcp 已安装。
在Copilot CLI中尝试的第一个提示
服务器注册后,打开 copilot 在这个存储库中,尝试以下提示:
Connect to my local PSCAD instance and show me its status.List the projects currently loaded in PSCAD.Load C:\Projects\IEEE_9Bus.pscx and start the simulation.Find the component named MainTransformer and show its parameters.Read the PSCAD project documentation module and summarize the run_status API.Create a bus on the main canvas and connect it to the selected components.
直接运行服务器
要在没有安装程序的情况下启动MCP服务器:
py -3 -m pscad_mcp.main
还可以使用已安装的入口点:
pscad-mcp
开发工作流程
同步文档快照
此项目可以生成PSCAD API引用快照,这些快照更易于LLM使用:
py -3 -m pscad_mcp.utils.doc_manager
生成的文件将写入:
docs\raw用于原始提取输出docs\md为了丰富Markdown
运行测试
py -3 -m unittest discover tests
测试模拟PSCAD层,因此可以在不安装PSCAD的情况下运行。
项目结构
pscad_mcp\
core\
connection_manager.py
executor.py
tools\
app_tools.py
project_tools.py
data_tools.py
simset_tools.py
creation_tools.py
canvas_tools.py
component_tools.py
utils\
doc_manager.py
main.py
tests\
docs\
建筑说明
两个实施细节对可靠性很重要:
PSCADConnectionManager跟踪实时PSCAD句柄,并在重用前检查进程运行状况。RobustExecutor通过带有超时保护的单个工作执行器序列化PSCAD调用,以减少COM/RMI操作的挂起。
这些护栏很重要,因为PSCAD自动化实际上是单线程的,如果并发发出调用,则可能会变得不稳定。
故障排除
如果Copilot CLI可以看到服务器,但工具调用失败:
- 验证配置的Python可执行文件是否与以下环境匹配
pscad-mcp已安装 - 确认PSCAD已安装并获得许可
- 重播
py -3 mcp_installer.py - 跑
py -3 -m unittest discover tests验证Python包是否仍然健康
如果文档工具未返回任何模块,请再次运行文档同步命令。
许可证
麻省理工学院