MCP.Market

FERS — structural FEM MCP server

online · 100% uptime
by ferscloud.com·com.ferscloud/fers·v2.82.0·2 stars

Structural FEM for AI agents: frames, plates, buckling, seismic and Eurocode checks, solved locally.

A98/100grade A
What users say
No reviews yet
Be the first
Safety scan
A98/100

not scanned yet

Adoption
Growing

2 stars23 downloads/wk

Reviews

Write one

Nobody has reviewed FERS — structural FEM yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

FERS — structural FEM tools

Tool list not cached yet. `describe` through the gateway fetches it live.

Not scanned yet. New listings are scanned within a day or two of arriving.

How FERS — structural FEM compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
98/100
higher than 99% of 48,255 servers
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
576 ms
faster than 25% of 30,031 servers
GitHub stars
2
more than 75% of 28,688 servers
Downloads a week
23
more than 9% of 12,191 servers with a package

Release history: 6 versions in the registry since 2026-10-21, latest 2026-11-03, typically one every 2 days.

Install FERS — structural FEM in Claude Code, Cursor or VS Code

claude mcp add --transport http fers https://ferscloud.com/api/mcp
Add to Cursor

What the publisher says

From the FERS — structural FEM repository's README, as published. We do not edit it. Read it on GitHub

FERS: structural analysis in Python

FERS: structural finite-element analysis (3D frames, trusses, plates, Eurocode 3 checks) for engineers and AI agents. This is its Python SDK and the fers command. The solver is a compiled engine that runs on your machine, with no account and no network call: free for non-commercial use up to 100 members.

pip install FERS
from fers_core import check_beam

# IPE200 in S235, simply supported over 6 m, 10 kN/m. SI units: m, N, Pa.
# check_beam adds an EN 1993-1-1 member check on a ULS combination of 1.35 x the load.
model = check_beam(6.0, "IPE200", udl=10_000.0)
model.settings.analysis_options.include_member_deflected_shape = True
model.run_analysis()

beam = model.resultsbundle.loadcases["Q"].member_results["1"]
x_frac, (_, dy, _) = beam.member_displacement_peak
ec3 = model.unity_check_results()[0]
print(f"M {beam.local_minimums.mz / 1e3:.1f} kNm, sag {dy * 1e3:.1f} mm at x/L {x_frac:.2f}")
print(f"EC3 utilization {ec3['max_utilization']:.2f}")
M -45.0 kNm, sag -41.8 mm at x/L 0.50
EC3 utilization 2.85

The sag is 41.3 mm of bending (5wL⁴/384EI) plus 0.4 mm of shear deformation, which the engine includes. The beam fails: the ULS moment of 60.75 kNm exceeds its bending resistance of 51.9 kNm, and with nothing restraining its compression flange, lateral-torsional buckling takes the utilization to 2.85.

model JSON file, print one line (or --json) and say in their exit code whether the numbers can be used; see From the terminal and from coding agents. fers skill --install . gives a coding agent the FERS skill, and MCP clients can use the FERS MCP server. In Claude Code, both come as one plugin: /plugin install fers --marketplace Jeroen124/FERS_core.

  • Agents and scripts: fers solve, fers check and fers validate take a

your own dimensions ("FERS[sections]") and DXF import ("FERS[dxf]"); "FERS[all]" installs everything 0.1.x did. Catalogue sections (IPE200, HEB300, UB 457x191x67, W14X30, ...) need no extra.

  • Extras: plots (pip install "FERS[plot]"), section properties meshed from

non-commercial use (Licence).

  • Licence: the SDK is BSD-3-Clause; the engine it installs is free for

Solving a model

Building a model by hand, create the FERS object first, then its nodes, members and loads. Creating a FERS restarts the id counters, so a node made before it would share an id with one made after it, and the solver refuses node ids that do not run from 1 without gaps.

Reading results

run_analysis() puts the results on model.resultsbundle. Load cases and load combinations are keyed by name. Within each, nodes and members are keyed by their id as a string, because results round-trip through JSON.

case = model.resultsbundle.loadcases["Load"]    # or .loadcombinations["ULS 1"]

case.displacement_nodes["5"].dy                  # dx dy dz rx ry rz warp
case.reaction_nodes["1"].nodal_forces.fy         # fx fy fz mx my mz bw
beam = case.member_results["4"]
beam.local_maximums.mz, beam.local_minimums.mz   # envelope along the member
beam.local_start_forces.fy                       # end forces, member axes

Since 0.1.98, memberresults and displacementnodes are read-only tables rather than dicts of objects. That is what keeps a large result small in memory. They read like dicts: [], get, in, len, .items(), and iteration in the solver's order. Each lookup builds a fresh object, and nothing in it can be changed:

beam.local_maximums.mz = 0.0                     # AttributeError: read-only
editable = case.member_results.copy()            # a plain dict of editable objects
editable["4"].local_maximums.mz = 0.0            # fine

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

FERS — structural FEM: common questions

Is FERS — structural FEM MCP server safe?
Yes, by our scan: it is graded A (98/100). Read the FERS — structural FEM safety report
How do I install FERS — structural FEM?
It runs remotely at ferscloud.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does FERS — structural FEM need an API key?
Yes. The registry entry asks for FERS_API_KEY.
Is FERS — structural FEM maintained?
The last commit was 12 days ago (2026-10-23). The latest release is v2.82.0.
Is FERS — structural FEM up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does FERS — structural FEM compare with other MCP servers?
safety score 98/100 (higher than 99% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 576 ms (faster than 25% of 30,031 servers). Full comparison.