aero-bailian-mcp-demo 0.5.0 — REAL ASAero bridge
=================================================

本版本与 0.4.2 的区别
---------------------
0.4.2：Stage-1 mock，MCP 自己生成测试 CL/CD/L/D。
0.5.0：不再做 mock 计算；run_aero_calculation 会调用 Windows ASAero API：
        POST ${ASAERO_API_URL}/calculate
最终结果由 Windows 主机上的 ASAero.exe 产生。

重要：0.4.2 不会被覆盖。PyPI 同一项目可以同时保留 0.4.2 和 0.5.0。

一、在开发电脑构建
------------------
解压后进入本目录：

    cd aero_bailian_mcp_demo_v050_real_asaero

检查版本：
    py -3.12 -m pip show uv

构建：
    uv build

成功后应生成：
    dist\aero_bailian_mcp_demo-0.5.0-py3-none-any.whl
    dist\aero_bailian_mcp_demo-0.5.0.tar.gz

二、本地测试（发布前）
----------------------
Windows ASAero API 必须先运行，例如：
    http://127.0.0.1:8000

PowerShell：
    $env:ASAERO_API_URL="http://127.0.0.1:8000"
    py -3.12 -m aero_bailian_mcp_demo --host 127.0.0.1 --port 8080

如果你测试的是刚 build 的 wheel，建议用一个新的 venv 安装 wheel 后再启动。

MCP 健康检查：
    http://127.0.0.1:8080/health

注意：MCP 的 /mcp 是 POST JSON-RPC，不要用浏览器 GET 判断工具调用。

三、发布 PyPI
-------------
如果原 PyPI Token 仍有效，不需要重新创建 Token。

    uv publish

如果需要显式设置 token，请沿用你之前成功发布 0.4.2 的方式。
不要把 token 写进源码或提交到压缩包。

四、FC 配置
-----------
建议为了和 0.4.2 对比，新建第二个 FC Web 函数，而不是覆盖原函数。

新 FC bootstrap 安装：
    python3 -m pip install --no-cache-dir --index-url https://pypi.org/simple aero-bailian-mcp-demo==0.5.0

然后：
    exec python3 -m aero_bailian_mcp_demo --host 0.0.0.0 --port 8080

FC 环境变量必须配置：
    ASAERO_API_URL=https://<FC能够访问的Windows-ASAero-API地址>

如果 Windows API 后续增加 X-API-Key 鉴权，再配置：
    ASAERO_API_KEY=<密钥>

五、百炼
--------
建议新建：
    气动工程估算MCP-ASAero

HTTP / Streamable HTTP URL：
    https://<新FC公网地址>/mcp

这样可以同时保留：
    气动工程估算MCP-Stage1  -> 0.4.2 mock
    气动工程估算MCP-ASAero   -> 0.5.0 real ASAero

六、当前真实 ASAero 输入
------------------------
0.5.0 的 run_aero_calculation 暴露了你实际 demo.ain 中的 33 个输入字段。
只传入的字段才会覆盖 Windows API 的 demo.ain 模板；未传字段保留模板默认值。

注意：
你当前 Windows API v1 的“空参数基准运行”已经可用。
真正修改 Fuselage_Length、Amax 等字段前，需要确保 Windows API 的 ain_writer.py
已经按实际 demo.ain 的字段格式（例如 Fuselage_Length(m)）完成精确映射。
