飞机设计优化服务

Aviary MCP服务器通过流式HTTP提供NASA的Aviary飞机设计优化工具,支持AI代理或任何MCP客户端探索设计空间、修改飞机参数、运行基于梯度的轨迹优化并检索结果。

  • by cmudrc
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Jezemba/Aviary

使用说明

Aviary MCP服务器

MCP服务器暴露了NASA的 鸟舍 通过流式HTTP将飞机设计优化器作为9个工具。AI代理(或任何MCP客户端)可以探索设计空间,修改飞机参数,运行基于梯度的轨迹优化,并检索结果——所有这些都是通过标准的MCP调用完成的。

相关存储库

  • MAS航空 --多代理LLM框架,使用此MCP服务器作为飞机设计优化的后端。MAS Aviary协调专业代理(探索、修改、模拟、分析),通过调用此处公开的工具进行协作,以找到燃料最优的飞机配置。

快速开始

1.创建conda环境

Aviary 0.9.10需要特定版本的OpenMDAO和Dymos。较新的版本引入了一个单元兼容性错误,破坏了轨迹优化。下面的固定版本是已知唯一有效的组合。

conda create -n aviary python=3.11 -y
conda activate aviary
pip install -r requirements.txt

requirements.txt 引脚:

包 版本 为什么
鸟舍 0.9.10 NASA飞机设计/优化
openmdao 3.36.0 MDO框架--3.41+中断鸟舍单元处理
dynos 1.13.1 轨迹优化——1.15+中断鸟舍单元处理
fastmcp >=3.0.0 MCP服务器框架
pytest 最新 测试运行器

2.启动服务器

conda activate aviary
python aviary_mcp_server.py

服务器正在监听 http://localhost:8600/mcp (流式HTTP传输)。

3.连接客户端

将任何兼容MCP的客户端指向 http://localhost:8600/mcp服务器公开了遵循基于会话的生命周期的9个工具。

MAS Aviary集成: 这 MAS航空 多代理框架会自动连接到此端点。看 MAS Aviary快速入门指南 有关运行完整多代理优化管道的说明。

get_design_space  →  create_session  →  set_aircraft_parameters  →  configure_mission
                                              ↓
                     check_constraints  ←  get_results / get_trajectory  ←  run_simulation
                                              ↑
                                     validate_parameters (optional pre-check)

4.验证安装

# Unit tests (no server required)
python -m pytest tests/test_aviary_mcp_tools.py -v -m "not slow"

# End-to-end connection test (server must be running)
python test_aviary_mcp_connection.py

工具

# 工具 说明
1 get_design_space 列出10个可修改的飞机参数,包括默认值、单位和界限
2 create_session 开始新的会话(装载737/A320级基线飞机)
3 set_aircraft_parameters 通过验证修改机翼、机身或发动机参数
4 configure_mission 设置航程、乘客、巡航马赫数、高度、优化器迭代次数(默认值:1500海里,162人,0.785马赫,FL350)
5 validate_parameters 静态检查+快速模型评估(~6-9s),无需运行优化器
6 run_simulation 运行SLSQP轨迹优化(默认200次迭代,~40-60s)
7 get_results 读取燃油燃烧、GTOW、机翼质量、储备燃油、零燃油重量
8 get_trajectory 提取时间序列数组:高度、马赫数、质量、油门、阻力、距离与时间
9 check_constraints 根据用户定义的限制(<=、>=、==)评估通过/失败

设计参数

参数 默认值 单位 范围
飞机。翅膀。方面比率 11.22 -- 7-14
飞机。翅膀。面积 124.6 平方米 100-160
飞机。翅膀。跨度 37.35 m 28-48(推导: span = √(AR × area))
飞机。翅膀。膨胀度 25.0 度 15-40
飞机。翅膀。锥度比 0.278 -- 0.15-0.45
飞机。机身。长度 37.79 米 28-50
飞机。机身。最大高度 4.06 m 3–5.5
飞机。机身。最大直径 3.76 m 3–5.5
飞机。发动机。SCALED_SLS_THRUST 28928 lbf 20k-45k(只读,从SCALE_FACTOR导出)
飞机。发动机。SCALE_FACTOR 1.0 -- 0.8-1.5

机翼面积、跨度和展弦比是耦合的: AR = span² / area. Span是一个派生参数 --它是根据纵横比和面积计算的,不应该直接设置。如果显式设置span,则如果违反耦合约束超过5%,服务器将发出警告。集 ASPECT_RATIO 和 AREA 相反,span将自动导出。 SCALED_SLS_THRUST 类似地衍生自 SCALE_FACTOR.

任务默认值

参数 默认值
范围 1500海里
乘客 162
巡航马赫数 0.785
巡航高度 FL350(35000英尺)
优化器迭代 200(SLSQP)

项目结构

aviary_mcp_server.py        MCP server — 9 tool definitions
aviary_runner.py             Aviary Level 2 API wrapper
session_manager.py           Session lifecycle, 30-min idle timeout
design_space.py              Parameter metadata and validation
requirements.txt             Pinned dependencies
start_aviary_server.py       Convenience start script
tests/                       pytest suite (25 unit + 31 integration)
test_aviary_mcp_connection.py  End-to-end smoke test
run_reference_benchmark.py   Standalone benchmark (~7,001 kg fuel baseline)
CHANGELOG.md                 Version history
RESULTS.md                   Batch evaluation of 8 agent configurations
docs/index.html              Project landing page
figures/                     Generated plots

故障排除

unitless 对比 1 优化过程中的单位错误: 您安装了较新版本的openmdao或dynos。降级到固定版本:

pip install openmdao==3.36.0 dymos==1.13.1

build_model() 未找到: Aviary 0.9.10中不存在此方法。服务器在内部使用正确的调用序列——如果你看到这个错误,你的鸟舍版本就错了。

模拟挂起或超时: run_simulation 接受a timeout_seconds 参数(默认值为300)。复杂的配置可能需要更多时间。检查优化器迭代计数(configure_mission → optimizer_max_iter)这是合理的。

引用

如果您在研究中使用此MCP服务器,请引用:

@inproceedings{ezemba2026structure,
  title={Structure Shapes Coordination: An Empirical Evaluation of Organizational
         Design Principles in Multi-Agent Engineering Design},
  author={Ezemba, Jessica and McComb, Christopher and Tucker, Conrad},
  booktitle={ASME 2026 International Design Engineering Technical Conferences
             and Computers and Information in Engineering Conference (IDETC/CIE2026)},
  address={Houston, TX},
  month={August 23--26},
  year={2026}
}

该服务器封装了NASA的 OpenMDAO/鸟舍:

@software{aviary,
  title={Aviary: A Multidisciplinary Design, Analysis, and Optimization Tool
         for Aircraft},
  author={{NASA Glenn Research Center}},
  url={https://github.com/OpenMDAO/Aviary},
  year={2024}
}