关于 Uiuc Airfoils
Uiuc Airfoils 提供可检索的 UIUC 翼型坐标数据,供空气动力学研究与设计使用。它按请求获取坐标,并计算最大厚度和弯度。
主要功能
- 01按翼型名称或系列检索
- 02按需获取坐标文件
- 03计算最大厚度和弯度
- 04可选返回翼面坐标
适用场景
- 01按系列或设计者查找翼型
- 02检查翼型坐标几何形状
- 03比较最大厚度和弯度
MCP 相关
该 MCP 服务提供 `uiuc_airfoil_search` 和 `uiuc_airfoil_geometry` 工具。可通过 stdio 本地运行,也可经 Pipeworx 网关连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/uiuc-airfoils/mcpclaude mcp add --transport http pipeworx-io-uiuc-airfoils https://gateway.pipeworx.io/uiuc-airfoils/mcp{"mcpServers":{"pipeworx-io-uiuc-airfoils":{"type":"http","url":"https://gateway.pipeworx.io/uiuc-airfoils/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-uiuc-airfoils":{"type":"http","url":"https://gateway.pipeworx.io/uiuc-airfoils/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-uiuc-airfoils":{"type":"http","url":"https://gateway.pipeworx.io/uiuc-airfoils/mcp"}}}{"mcpServers":{"pipeworx-io-uiuc-airfoils":{"serverUrl":"https://gateway.pipeworx.io/uiuc-airfoils/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/uiuc-airfoils
约 1,600 种翼型(NACA、Eppler、Selig、Wortmann、Goettingen、Drela AG、Clark Y、Wright Brothers,以及许多以设计者命名的独立翼型)的形状坐标,可按名称或系列搜索,并根据原始坐标实时计算最大厚度和弯度。
Pipeworx 的一部分:Pipeworx 是一个 MCP 网关,可将 AI Agent 连接到 1851+ 个实时数据源。这是独立、非官方的集成,与上游提供方无关联,未获其认可,也并非由其发布。
工具
uiuc_airfoil_search(query?, family?, limit?)— 按名称、关键词或精确系列搜索(例如"naca"、"eppler"、"goe"、"2412"、family: "Wortmann")。不设筛选条件时,返回目录中的项目总数和已知系列列表。始终先返回匹配总数;无匹配结果时,会说明尝试过的筛选条件。uiuc_airfoil_geometry(name, include_coordinates?)— 实时获取一个 翼型的坐标文件,并返回其点数、坐标格式、最大厚度和最大弯度(均为相对于弦长的比例,并附上对应的弦向位置),以及计算方法。传入include_coordinates: true,还会返回原始的上、下表面点数组。
身份验证
无需密钥。
数据来源
- 伊利诺伊大学厄巴纳-香槟分校应用空气动力学组(UIUC)翼型坐标数据库——翼型形状坐标及其单行描述。此处不包含任何路由或文件名——请参阅
src/index.ts和scripts/bake-index.mjs获取路由;根据 CLAUDE.md 第 9b 步,这些内容不会出现在已发布的文案中。
许可 — 构建前已核查,发现不明确之处会标明而非自行假定
在编写任何代码之前,我检查了数据库列表页、其上级页面和网站的 robots.txt(返回 404——其中也没有注明任何限制),以确认是否有明确的许可或再分发政策。均未找到。网站上唯一与版权相关的文字,是通用的全站页脚(“© 1994 - 2026 UIUC Applied Aerodynamics Group”),没有附带任何针对坐标数据本身的授权或禁止条款。
根据既定规则(按请求代理公开且无需密钥的上游数据不需要明确授权;构建数据集属于再分发,需要授权;条款未作说明时,继续构建并标明,而非暂停):
- 实际坐标值不会被预先打包。
uiuc_airfoil_geometry每次调用都会实时获取相应翼型的.dat文件——即针对单个文件进行直接的逐请求代理。 uiuc_airfoil_search会读取一个预先打包的小型表格,其中包含名称、单行描述和粗略的系列分类(src/uiuc-index-data.ts,约 1,587 行,由scripts/bake-index.mjs重新生成)——不包含坐标。这部分依据的是规则中“条款未作说明,继续构建并标明”的处理方式,而非明确授权。- **请下一位审核者注意:**如果 UIUC 之后发布了针对坐标数据的明确再分发条款,请重新核查这个名称/描述/系列索引是否也符合该条款。
坐标格式与厚度/弯度计算方法
UIUC 的 .dat 文件有两种布局,src/index.ts 中的解析器均可处理:
- Selig 格式 — 一个连续的点环:从上表面的后缘开始,向前延伸至前缘,再沿下表面返回后缘。没有头部计数;解析器会在 x 最小点(前缘)处分割点环。
- Lednicer 格式 — 一行头部信息,给出
(upperCount, lowerCount),随后是从前缘到后缘的上表面,空行之后是从前缘到后缘的下表面。
解析器会逐个文件检测格式(Lednicer 头部是在第一条数据行中包含两个看起来像小整数的值;其他情况均视为 Selig 格式)。将数据分为上表面和下表面后,会对两者进行线性插值,并映射到弦长范围内共用的 101 个余弦间距站点网格(x 范围为 0..1——UIUC 的坐标已按弦长归一化)。根据该网格计算:
thickness(x) = upper(x) - lower(x)camber(x) = (upper(x) + lower(x)) / 2
最大厚度和最大(带符号)弯度是该网格上的最大值,报告为弦长的比例,并附上对应的 x 站点——这与 NACA 自身的 4 位命名所编码的惯例相同。使用 NACA 2412 本身进行验证:工具返回的最大厚度为 12.0%,位于 30% 弦长处;最大弯度为 2.0%,位于约 40% 弦长处。这与 “2-4-12” 的含义完全一致(40% 弦长处的弯度为 2%,厚度为 12%),也与 NACA 4 位系列按设计将最大厚度置于 30% 弦长处完全吻合——这是强有力的正确性验证,而非巧合。
已知不足
- 系列分类只是基于文件名/描述的粗略启发式判断(规则位于
scripts/bake-index.mjs),并非 UIUC 发布的权威分类体系——不符合已知设计者/系列关键词的翼型会归入"Other"(目前约占目录的 1/3);这是预期情况,并非缺陷。 - 网站上有少数
.dat文件使用了非标准空格格式或尾随注释,解析器无法处理;此时uiuc_airfoil_geometry会返回geometry_error,并附上原始解析失败信息,而不会捏造数值。 - 烘焙后的名称索引仅在手动重新运行
scripts/bake-index.mjs时刷新(UIUC 每一两年会通过自己的“Update Directory”版块新增少量翼型);目前尚无自动刷新机制。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"uiuc-airfoils": {
"url": "https://gateway.pipeworx.io/uiuc-airfoils/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/uiuc-airfoils/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享的元工具——ask_pipeworx、discover_tools、search_within、remember/recall,以及网关范围内的其他工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点除了列出该工具包自身的工具,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是当天情况的权威答案。
这是有意为之,并非意外的多路复用。这些元工具可以让受限连接回答本工具包未涵盖的问题——通过 ask_pipeworx 路由到整个目录——而无需添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的架构定义所占用的上下文多于路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的所有工具,而不仅仅是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
这两个 URL 都连接到同一个网关和相同的 1851+ 个数据源。唯一的区别是哪些工具包的工具会被直接列出;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/uiuc_airfoil_search \
-H 'Content-Type: application/json' \
-d '{"query":"naca24"}'
首次调用无需账号。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/uiuc_airfoil_search。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账号)
此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账号,也无需经过网关:
{
"mcpServers": {
"uiuc-airfoils": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-uiuc-airfoils"]
}
}
}
也可以直接运行,以确认它能正常启动:
npx -y @pipeworx/mcp-uiuc-airfoils
它通过标准输入/标准输出使用 MCP,并响应 initialize/tools/list/tools/call,但仅支持此软件包的工具,不包含上述网关连接额外提供的共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗的英语提问,而不是直接调用工具——此功能既适用于上述软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Uiuc Airfoils data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。