article
README
🚀 STK-MCP 服务器
STK-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,用于控制和自动化 Lockheed Martin 的 STK(Satellite ToolKit)桌面应用程序。通过 MCP 协议,该服务器可与 STK 进行交互,执行如创建场景、添加卫星等任务。
🚀 快速开始
STK-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,用于控制和自动化 Lockheed Martin 的 STK(Satellite ToolKit)桌面应用程序。该服务器允许通过 MCP 协议与 STK 进行交互,执行任务如创建场景、添加卫星等。
✨ 主要特性
- 自动化控制:通过 MCP 接口远程控制 STK 桌面版。
- 情景设置:创建和配置新的 STK 情景,支持指定起始时间和持续时长。
- 卫星管理:添加具有特定轨道参数的卫星,包括近地点、远地点、升交点和倾角等。
📦 安装指南
先决条件
- 安装 Python 3.12 或更高版本。
- 下载并安装 STK 桌面版(需许可证)。
- 确保系统上已安装
pywin32库(在 Windows 上自动处理)。
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/stk-mcp.git cd stk-mcp - 安装依赖项:
pip install -r requirements.txt - 启动服务器:
python server.py
💻 使用示例
MCP 工具
setup_scenario
- 描述:创建或配置 STK 情景,关闭任何现有情景。
- 参数:
scenario_name(str):情景名称,默认为 "MCP_STK_Scenario"。start_time(str):开始时间,默认为 "20 Jan 2020 17:00:00.000"。duration_hours(float):持续时间(小时),默认为 48.0。
create_satellite
- 描述:创建或修改 STK 卫星,假设有一个活动情景。
- 参数:
name(str):卫星名称。apogee_alt_km(float):远地点高度(公里)。perigee_alt_km(float):近地点高度(公里)。raan_deg(float):升交点经度(度)。inclination_deg(float):倾角(度)。
示例
- 启动服务器后,打开 MCP 检查器 URL(例如:
http://127.0.0.1:8765)。 - 找到 "STK Control" 服务器。
- 在工具部分执行
setup_scenario和create_satellite。
📚 详细文档
未来开发
- 添加地面位置:增加 MCP 工具以添加设施或地点对象。
- 资源端点:添加 MCP 资源(例如
get_scenario_details、list_objects)以查询 STK 状态。 - 增强卫星定义:提供更全面的卫星配置选项。
- 分析工具访问:实现计算和报告对象间访问的功能。
- 错误处理:提升错误报告到 MCP 客户端的能力。
依赖项
agi.stk12:用于与 STK 桌面版交互(需从 STK 手动安装)。mcp[cli]>=1.6.0:Model Context Protocol 库。pywin32:在 Windows 上自动安装,用于 COM 交互。
局限性
- 仅限 Windows:严重依赖于 STK 桌面版的 COM 自动化。
- 需要 STK 桌面版:当前不支持 STK 引擎。
- 基本功能:目前仅限于情景设置和基础卫星创建。
- 单情景焦点:假设与
setup_scenario工具管理的单个活动情景交互。
🤝 贡献
欢迎贡献!请参阅 CONTRIBUTING.md 以获取指南。
微信扫一扫