Token导航 LogoToken导航TokenDH.com
kRPC docs MCP logo
文档知识stdio官方级别未说明来源级核验

kRPC docs MCP

MCP Server

GeePT MCP是一个将Kerbal Space Program游戏转变为AI代理和人类操作员的远程控制平台的技术协议,通过kRPC Python脚本执行、飞船蓝图分析、KSP Wiki和kRPC文档搜索等功能,实现自主飞行控制。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Python文档处理知识管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

G4ertner

提供方

G4ertner

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run -m mcp_server.main

详细介绍

GeePT MCP——Kerbal任务指挥协议

Kerbal mission chaos

引言

“电脑,把我送到轨道!”

  • a克尔巴尔的遗言

你一直梦想着让一个特工自主控制你的宇宙飞船?不再需要像轨道插入或会合这样无聊的标准机动飞行了吗?让AI来做吧!

GeePT MCP(Kerbal任务指挥协议) 将Kerbal太空计划转变为人工智能代理和人类操作员的远程控制游乐场。通过组合 kRPC 借助一套丰富的任务工具,它可以让你的LLM:

  • 在您的实时KSP游戏中编写和执行kRPC Python脚本,有效地控制您的飞行\*。
  • 检查你的船的蓝图、零件树、舞台和引擎,以了解你正在飞行的是哪种弯曲的鸟。
  • 方便地从KSP Wiki以及官方kRPC文档和kRPC社区代码片段中搜索和检索页面,以获取最佳实践。
  • 访问剧本和指南,教特工如何阅读蓝图和计划安全的分期和烧伤。

\*无法保证飞行成功

快速启动

  1. 安装依赖项

这个项目需要Python 3.10+和 紫外线 用于运行脚本和管理依赖关系。

   # Clone the repository
   git clone https://github.com/G4ertner/geept_mcp.git
   cd geept_mcp

   # Use uv to run the MCP server
   curl -LsSf https://astral.sh/uv/install.sh | sh  # install uv
   uv pip install -e .[krpc]  # install dependencies with krpc extras
  1. 启动MCP服务器

在一个终端中,启动Kerbal Space Program并启用kRPC服务器(TCP上的Protobuf)。请注意kRPC窗口中显示的地址和端口。在另一个终端中,运行:

   # from the repo root
   uv run -m mcp_server.main

服务器将通过stdio监听传入请求(用于Codex集成),并处理脚本执行和工具调用。

  1. 在Codex CLI注册(可选)

如果你使用 Codex CLI,添加MCP服务器,以便按需启动:

   codex mcp add geept_mcp -- uv run -m mcp_server.main --transport stdio --with krpc 
  1. 连接到您的游戏

当调用与游戏交互的工具(执行脚本、获取蓝图等)时,请提供正在运行的KSP实例的地址和端口。例如:

   Use krpc_docs to execute_script with code "print('hello'); print('SUMMARY: done')" and address "192.168.1.10" rpc_port 50000 stream_port 50001

数据构建器(kRPC文档和代码段库)

运行时MCP服务器现在与以下两个独立的构建器项目一起存在 krpc_MCP_data_builders/:

  • krpc_docs/ 包含爬虫(scripts/scrape_krpc_docs.py)并搜索CLI以重新生成 data/krpc_python_docs.jsonl.安装 pip install -e .[scrape] 在该文件夹中,运行提供的控制台脚本。将得到的JSONL复制回 ./data/ 刷新数据集时。

每个建设者都有自己的 pyproject.toml、README和复制的辅助模块,以便在将其移动到单独的存储库之前可以独立运行。

MCP服务器布局

  • mcp_server/main.py -连接FastMCP服务器并导入所有工具/资源表面。
  • mcp_server/executor_tools/ -execute_script实现、后台作业和工件助手(通过 mcp_server/executor_tools.py).
  • mcp_server/libraries/ + mcp_server/libraries.py -kRPC文档搜索、KSP wiki访问和带有公共MCP入口点的代码片段工具。
  • mcp_server/general_tools.py -按类别分组的工具入口点;实施在 mcp_server/general_tools_impl/.
  • mcp_server/playbooks/ + mcp_server/playbooks.py -降价剧本是MCP的资源。
  • mcp_server/utils/ -共享助手(krpc_utils, helper_utils, physics_utils等等)跨服务器包使用。

工具运行时行为(超时)

  • 同步工具现在在具有60秒硬上限的工作线程中运行事件循环,以避免在kRPC挂起时冻结服务器。
  • 长期工作的新手(start_part_tree_job, start_stage_plan_job, start_execute_script_job)以及 execute_script 豁免;他们依靠自己的监督者。
  • 如果一个工具可能超过60秒(例如,零件树/阶段计划),则更喜欢start\_\*作业变体来流式传输日志并保持响应。

核心能力

🛰️ 实时脚本执行

execute_script 该工具允许您的LLM针对您正在运行的游戏运行kRPC Python代码。通过预先设置,您无需担心LLM会成功连接到您的游戏。MCP服务器自动注入有用的全局变量:

  • conn:您的实时kRPC连接
  • vessel:活动血管(或 None 如果你不在飞机上)
  • time, math, sleep, deadlinecheck_time() 助手
  • 预配置的 logging 模块和a log(msg) 便利功能
  • 成功执行或灾难性故障后飞行变量的状态摘要

此外,游戏将在执行每个脚本后自动暂停,确保在LLM继续规划下一步的过程中不会发生任何意外。对于需要超过~60的烧伤 监督、使用 start_execute_script_job 相反:它将stdout/stderr流式传输到 get_job_status,允许您将这些民意调查与 get_status_overview/get_flight_snapshot,并且可以通过以下方式立即中止 cancel_job(job_id) 如果遥测技术出现偏差。如果火箭在作业运行时解体或恢复,跑步者现在会注意到丢失的 active_vessel,立即中止,然后返回 ok=false 所以你可以把这次撞车当作一次失败,而不是永远旋转。

🛠️ 船舶蓝图和图表

需要你的法学硕士来检查你的飞船吗?蓝图工具揭示了:

  • get_vessel_blueprint:返回一个包含元数据、阶段、引擎和部件的JSON蓝图。
  • get_part_tree:返回具有父/子关系、模块和资源的所有部分的分层列表。
  • get_blueprint_ascii:生成容器的LLM可读的各阶段摘要。
  • get_stage_plan:提供类似股票的阶段计划(推力、Isp、Δv)。
  • get_staging_info:每个阶段的回报Δv/TWR估计值。
  • export_blueprint_diagram:生成船舶分段和结构的图表(SVG或PNG)。

这些工具让你的LLM了解飞船的结构、计划分段和燃料使用情况,以生成特定于飞船的飞行计划和任务剖面

📚 KSP Wiki、kRPC文档搜索和社区示例片段搜索

MCP服务器包装MediaWiki API和本地索引的kRPC文档。工具包括:

  • search_ksp_wiki(query, limit), get_ksp_wiki_page(title, max_chars)get_ksp_wiki_section(title, heading, max_chars) 用于查找游戏概念(例如delta‑v、机动节点、ISRU)。非常适合需要领域知识的代理。
  • search_krpc_docs(query, k)get_krpc_doc(url, max_chars) 用于在不离开聊天的情况下搜索和检索kRPC Python API引用。
  • snippets_search, snippets_get, snippets_resolve,以及 snippets_search_and_resolve 允许您的LLM从11个最流行的kRPC公共仓库中获取kRPC代码的最佳示例。

📖 剧本和指南

该服务器附带了几个剧本,让你的法学硕士在如何使用MCP的工具和执行常见操作方面有一个初步的了解:

get_maneuver_node_playbook-(resource://playbooks/maneuver-node) get_blueprint_usage_playbook-(resource://playbooks/vessel-blueprint-usage) get_light_control_playbook-(resource://playbooks/flight-control) get_rendezvous_spivel-(resource://playbooks/rendezvous-docking) get_launch_ascent_circ_playbook-(resource://playbooks/launch-ascent-circularize) get_state_checkpoint_playbook-(resource://playbooks/state-checkpoint-rollback) get_orbital_return_playbook-(resource://playbooks/orbital-return-playbook) get_scribe_master_prompt_resource-(resource://prompts/scribe-master) get_latest_staging-(resource://staging/latest) get_latest_vesselblueprint-(resource://vessel-blueprint/latest) get_last_svg-(resource://blueprints/last-diagram.svg) get_last_png-(resource://blueprints/last-diagram.png) get_snippets_usage--(resource://snippets/usage)

其他工具

除此之外,MCP服务器还附带了一整套硬编码工具,LLM可以轻松调用这些工具与游戏进行交互。这避免了LLM必须为简单的命令编写代码。

用户注入消息

  • 当您想通过HTTP接受注入消息时,以流式HTTP模式启动服务器: uv run -m mcp_server.main --transport streamable-http --host 0.0.0.0 --port 8000.
  • 将消息发布到 POST /runs//inject 使用类似JSON的主体 { "message": "Warn me if TWR drops" }。该运行的下一个工具响应将附加 User injection message: ... 一次。流式HTTP客户端可以重用其 mcp-session-id 标题为 run_id;stdio用例可以针对默认运行id default.
  • 辅助用户界面可在 uv run -m mcp_server.injection_ui --run-id [--server-url http://127.0.0.1:8000] 用于快速打字和发送消息。在Streamable HTTP模式下,您可以简单地传递 --run-id default;如果没有特定于会话的消息排队,则默认队列将应用于任何会话的下一个工具调用。

🧭 连接和保存管理

  • krpc_get_status --检查与kRPC的连接并报告版本。
  • save_llm_checkpoint --创建命名空间保存(非快速保存)。
  • load_llm_checkpoint --加载命名保存(默认前缀为LLM)。
  • quicksave, quickload, revert_to_launch --管理航班和恢复状态。

🚀 发射和船只

  • launch_vessel --在现场从VAB/SPH发射一艘飞船。
  • list_launchable_vessels -列出VAB/SPH中可用的工艺。
  • list_launch_sites -列出可用的发射场。
  • list_vessels -列出保存中的船只。

🧠 脚本作业和控制

  • start_execute_script_job -将execute_script作为具有实时日志流的可取消作业运行;将getjob_status与血管状态检查交替使用,以监测烧伤情况。
  • get_job_status -轮询任何后台作业(零件树、阶段计划、脚本等)以获取实时日志和result_resource URI。
  • cancel_job -在恢复/加载检查点之前,中止正在运行的作业(在执行过程中终止脚本)。

脚本作业工作流: 开始作业,循环 get_job_status(job_id) 要读取日志,请使用情景工具将这些民意调查交织在一起(get_status_overview, get_flight_snapshot等),如果遥测看起来错误呼叫 cancel_job(job_id) 立即恢复/加载,然后再继续。

🌍 车身和航点

  • list_bodies --列出具有关键元数据的天体。
  • list_waypoints --列出带有位置和距离/方位的航路点。

🧾 状态和时间

  • get_status_overview --船只/游戏状态的组合快照。
  • get_vessel_info --船舶基本信息(名称、质量、油门、状况)。
  • get_time_status --通用时间和任务时间。

🌡️ 环境与地表

  • get_environment_info --身体/环境数据,包括重力和大气。
  • get_surface_info --地表坐标、地形高度、坡度、地面速度。

🛩️ 飞行与控制

  • get_flight_snapshot --飞行参数(高度、速度、AoA、姿态)。
  • get_attitude_status --SAS/RCS/油门、SAS模式和自动驾驶仪目标。
  • set_sas_mode --启用SAS并选择导航球保持模式(前进/后退等)。
  • get_action_groups_status --动作组切换。
  • get_camera_status --相机模式和参数。
  • get_screenshot --捕获PNG屏幕截图(仅限本地主机),将其保存在 artifacts/screenshots/,并返回base64+可重用资源URI(或 resource://screenshots/latest).

🌬️ 空气动力学和发动机

  • get_aero_status --动压、马赫数、密度、阻力/升力。
  • get_engine_status --根据发动机推力、Isp、油门、熄火。

⚡ 电力与资源

  • get_power_status --EC总量、生产/消费、注释。
  • get_resource_breakdown --船舶和舞台资源总计。

🧱 蓝图、零件和分期

  • get_vessel_blueprint --理想化的工艺蓝图(舞台、发动机、零件)。
  • get_blueprint_ascii --带Δv/TWR的紧凑ASCII阶段摘要。
  • get_part_tree --具有资源的分层零件树。
  • get_stage_plan --类似股票的阶段计划(推力、Isp、Δv)。
  • get_staging_info --每阶段Δv/TWR估计值。
  • export_blueprint_diagram --导出二维蓝图图(SVG/PNG)。
  • start_part_tree_job / start_stage_plan_job -启动后台作业,在不触发工具超时的情况下生成相同的JSON工件。
  • get_job_status -轮询作业状态/日志并公开 result_resource 一旦工件准备就绪,就使用URI。

后台作业工作流(长时间运行的工具)

  1. 使用常用的kRPC地址/端口调用start\_\*\_job工具;它以{job_id,status,note}作为响应。
  2. 轮询get_job_status(job_id),直到状态变为“成功”(或“失败”进行故障排除)。作业运行时日志会累积。
  3. 作业成功后,对报告的内容调用read_resource result_resource (例如。, resource://jobs/.json)下载工件。
  4. 在计划循环中使用工件。如果作业失败,请读取日志/错误,修复潜在问题,然后重新启动作业。

🪐 轨道和导航信息

  • get_orbit_info --轨道元素和周期。
  • get_navigation_info --相对于目标的导航上下文。
  • get_targeting_info --当前目标摘要。

🎯 目标控制

  • set_target_body --设置目标身体。
  • set_target_vessel --按名称设置目标船只。
  • clear_target --清除当前目标。

🔭 机动节点

  • list_maneuver_nodes --列出基本机动节点。
  • list_maneuver_nodes_detailed --详细的节点向量和燃烧估计。
  • set_maneuver_node --使用向量在UT处创建节点。
  • update_maneuver_node --编辑现有节点。
  • delete_maneuver_nodes --删除所有机动节点。
  • warp_to --通过可选的交付周期扭曲到UT。

🧠 计划助手(烧伤和转移)

  • compute_burn_time --估算Δv的燃烧时间。
  • compute_circularize_node --建议在Ap/Pe进行循环。
  • compute_raise_lower_node --建议将Ap/Pe更改为目标高度。
  • compute_transfer_window_to_body --计算霍曼转移窗口。
  • compute_ejection_node_to_body --从停放轨道上粗略喷射燃烧。
  • compute_plane_change_nodes --飞机转换在AN/DN时燃烧。
  • compute_rendezvous_phase_node --定阶段轨道进行交会。

⚓ 对接

  • list_docking_ports --列出停靠端口和状态。

______________________________________________________________________

🥪 实验性:该项目正在积极开发中。使用风险由您自行承担,如果您遇到问题或有建议,请随时打开问题或PR。

目录标签

目录标签

Python文档处理知识管理游戏AI控制本地部署航天模拟Python脚本执行飞船蓝图分析KSPWiki搜索

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP