Design
foil.tools
Search, retrieve, and rank airfoils and their aerodynamic polars from the foil.tools database to support aerodynamic design and airfoil selection.
ENDPOINT 1
https://foil.tools/api/mcp
MCP server metadata
- Name
- foil.tools
- Version
- 1.0.0
foil.tools — aerodynamic design tools for airfoils and wings, used for RC aircraft, UAVs, hydrofoils, sailboards and small experimental aircraft. Use this server for anything involving airfoil or wing sections, lift and drag, or foil geometry. Free tools: search_airfoils, get_airfoil, get_polar (stored XFOIL lift/drag curves), search_by_operating_point, find_airfoil (weighted multi-point selector), and analyze_airfoil (NeuralFoil 2D polars for any section, rate-limited rather than credit-metered). search and fetch cover the same library for general research and return readable airfoil records. Credit-metered tools, against the signed-in account: optimize_airfoil (gradient shape optimization, 3 credits, up to ~85s) and analyze_wing (3D AeroBuildup or VLM, 1-3 credits, VLM can take minutes). Each has a monthly free allowance first; purchase_credits returns a Stripe Checkout URL when it runs out. The signed-in account is readable as well as writable. save_airfoil, save_wing_design and save_wing_analysis put work into it; list_saved_airfoils, list_wing_designs and list_wing_analyses say what is already there, and get_saved_airfoil, get_wing_design and get_wing_analysis fetch one back in full. Check the lists before designing or analysing something the user may already own — a wing saved in an earlier conversation is invisible to you until you look, and a wing analysis they already paid for costs nothing to read. Airfoil names are fuzzy-matched on case, spaces and dashes — "NACA 2412", "naca2412" and "ag35" all resolve. analyze_airfoil takes an optional trailing-edge flap: pass the CLEAN section and let the flap argument carry the deflection, and note that CM is not corrected under the default flap_mode. Need the actual shape — to plot a section, hand it to another tool, or compare geometry? Call get_airfoil with include_coordinates for Selig-ordered x,y points, plus the CST parameters it always returns. Do not send a user to the website for coordinates; every section in the library is available through this server. To *draw* a section, use the svg_path and svg_view_box that come with those coordinates — already scaled 1:1 and y-flipped — rather than deriving a plot from the raw points. analyze_wing answers the same way: its geometry block carries the analysed stations and a ready-made planform path, and its chart block names the axes and the rows to drop. Docs: https://foil.tools/api-docs
Known tools 20
search_airfoilsSearch the foil.tools library of ~1,600 airfoils by name substring, family, thickness and camber range.
Inferred read-onlyget_airfoilGet one airfoil by name: family, source, geometry summary (thickness/camber and their chordwise locations, TE thickness) and CST parameters.
Inferred read-onlyget_polarGet stored aerodynamic polars (lift/drag/moment curves) for an airfoil from the foil.tools database.
Inferred read-onlysearch_by_operating_pointRank database airfoils by drag at a single operating point (CL, Re), interpolating each stored polar at the target CL.
Inferred read-onlyfind_airfoilMulti-point airfoil selector: scores every database airfoil against a weighted set of operating points (Re, CL pairs) and returns the top 10, with per-point matched drag/alpha/moment.
Inferred read-onlyanalyze_airfoilRun NeuralFoil 2D analysis to generate fresh polars (alpha, CL, CD, CM) for an airfoil at given Reynolds numbers.
Inferred read-onlyoptimize_airfoilIPOPT/scipy gradient optimization of an airfoil’s CST parameters to minimize weighted drag across one or more operating points (Re, CL), with optional geometric constraints.
Inferred read-onlyanalyze_wingAnalyze a 3D wing (AeroSandbox AeroBuildup strip theory, or VLM) defined by spanwise stations.
Inferred read-onlypurchase_creditsCreate a Stripe Checkout URL to buy a credit pack for the account this session is authenticated as.
Potential side effectssearchSearch the foil.tools airfoil library by name, family, or free text and return matching airfoils with their identifiers and links.
Inferred read-onlyfetchRetrieve the full record for one airfoil by the identifier returned from the search tool: geometry, stored aerodynamic polar summary, and a link to its page on foil.tools.
Inferred read-onlysave_airfoilSave an airfoil to the signed-in foil.tools account so it appears under Dashboard → Foils and can be opened, plotted and exported later.
Inferred read-onlysave_wing_designSave a wing design to the signed-in foil.tools account so it appears under Dashboard → Wings and opens in the wing designer.
Inferred read-onlysave_wing_analysisSave the results of an analyze_wing run to the signed-in foil.tools account, so it appears under Dashboard → Wing Analyses.
Inferred read-onlylist_saved_airfoilsList the airfoils saved on the signed-in foil.tools account (Dashboard → Foils), newest first.
Inferred read-onlyget_saved_airfoilGet one airfoil saved on the signed-in account by its id, with the geometry it was stored with — CST parameters for a kulfan foil, coordinates for a dat one.
Inferred read-onlylist_wing_designsList the wing designs saved on the signed-in foil.tools account (Dashboard → Wings), newest first.
Inferred read-onlyget_wing_designGet one wing design saved on the signed-in account by its id, as the full designer document — the parametric planform plus the spline channels that carry a curved or elliptical shape.
Inferred read-onlylist_wing_analysesList the wing analyses saved on the signed-in foil.tools account (Dashboard → Wing Analyses), newest first.
Inferred read-onlyget_wing_analysisGet one wing analysis saved on the signed-in account by its id, with the full stored results — the polar, the spanwise loading, whatever the run produced.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.foil-tools]
url = "https://foil.tools/api/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"foil-tools": {
"type": "http",
"url": "https://foil.tools/api/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: foil-tools
Remote MCP URL: https://foil.tools/api/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"foil-tools": {
"url": "https://foil.tools/api/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"foil-tools": {
"type": "http",
"url": "https://foil.tools/api/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "foil-tools",
"transport": "streamable-http",
"url": "https://foil.tools/api/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.