项目简介
STK-MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当大型语言模型 (LLM) 或其他 MCP 客户端与 Ansys/AGI STK (Systems Tool Kit) 软件之间的桥梁。STK 是一款领先的数字任务工程软件,而 STK-MCP 允许用户通过标准化的 MCP 协议,利用 LLM 等工具远程控制 STK Desktop 的功能,实现自动化仿真和分析。
主要功能点
- MCP 服务器实现: 使用 'FastMCP' 框架构建,符合 MCP 协议规范。
- STK 桌面集成: 能够连接到正在运行的 STK 桌面实例或自动启动新的 STK 桌面。
- 工具化操作: 将 STK 的功能封装为 MCP 工具,例如:
- 'setup_scenario': 创建和配置 STK 场景,包括设置场景名称、起始时间和持续时间。
- 'create_satellite': 在当前场景中创建卫星对象,并设置其轨道参数(近地点高度、远地点高度、RAAN、轨道倾角)。
- 会话管理: 通过 MCP 生命周期管理 STK 应用程序的启动和关闭。
- 可扩展性: 代码结构模块化,易于扩展新的 STK 功能工具。
安装步骤
- 克隆仓库:
git clone https://github.com/alti3/stk-mcp cd stk-mcp - 安装必备软件:
- 操作系统: Windows (由于 STK Desktop 和 'win32com' 依赖)。
- Python: 3.12 或更高版本。
- Ansys/AGI STK Desktop: 12.x 版本。
- STK Python API: 需要手动安装与你的 STK 版本匹配的 'agi.stk12' Python wheel 文件。该文件通常位于 STK 安装目录下的 'CodeSamples\Automation\Python' 文件夹中。
pip install path/to/agi.stk12-py3-none-any.whl
- 安装项目依赖:
pip install .
服务器配置
MCP 客户端需要配置以下信息以连接到 STK-MCP 服务器:
{ "servers": [ { "name": "STK Control", "command": "python", "args": [ "-m", "mcp", "dev", "src/stk_mcp/server.py" ] } ] }
配置参数说明:
- '"name"': 服务器名称,设置为 "STK Control"。
- '"command"': 启动服务器的命令,这里使用 'python'。
- '"args"': 命令参数列表:
- '"-m", "mcp"': 以模块方式运行 'mcp' 命令 (FastMCP 库提供的命令行工具)。
- '"dev"': 使用开发模式启动 MCP 服务器。
- '"src/stk_mcp/server.py"': MCP 服务器入口文件路径。
注意: 请确保 MCP 客户端能够访问到 'stk-mcp' 仓库的根目录,或者将 'src/stk_mcp/server.py' 的路径修改为相对于客户端工作目录的正确路径。
基本使用方法
-
启动服务器: 在 'stk-mcp' 仓库根目录下,运行以下命令启动 MCP 服务器 (开发模式):
python scripts/run_dev.py或
mcp dev src/stk_mcp/server.py服务器启动后,会尝试连接或启动 STK Desktop,并在终端输出日志信息。STK Desktop 界面应该会显示出来。
-
使用 MCP 客户端连接: 配置 MCP 客户端,例如 MCP Inspector 或其他 LLM 应用,连接到运行中的 STK-MCP 服务器。
-
调用 MCP 工具: 在 MCP 客户端中,可以找到 "STK Control" 服务器,并使用其提供的工具:
- 'setup_scenario': 用于创建和配置 STK 场景。
- 'create_satellite': 用于在当前场景中创建卫星。
根据工具的参数定义,在客户端界面输入相应的参数值,即可调用 STK 功能。例如,使用 'setup_scenario' 创建一个名为 "MyScenario" 的场景,然后使用 'create_satellite' 在该场景中创建一个卫星。
-
停止服务器: 在运行服务器的终端窗口中按 'Ctrl+C' 即可停止服务器。服务器会尝试关闭 STK Desktop 应用程序。
信息
分类
桌面与硬件