Run the CalculiX solver on an existing Fem::FemAnalysis container and return summary results. Prerequisites in the document: - A Part-derived solid (e.g. Part::Box, PartDesign::Body) acting as the geometry. - A Fem::AnalysisPython container created via create_object. - A Fem::MaterialCommon assig...
AI agents invoke run_fem_analysis to trigger actions in Freecad mcp. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
The tool triggers execution of the CalculiX solver, an external computational engine, which performs complex simulations whose results depend on document inputs (geometry, mesh, materials, constraints). This is Execute rather than Read because it actively runs a solver process with side effects (CPU usage, file generation, memory consumption) and produces computed results rather than merely retrieving existing data.
From the tool's definition "Run the CalculiX solver on an existing Fem::FemAnalysis container" - this tool executes an external finite element analysis solver with computational side effects that depend on the document state and constraints provided.
Documented attack patterns abuse exactly the kind of access run_fem_analysis gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Freecad mcp, and nothing reaches the server without passing your rules. This is the rule we recommend for run_fem_analysis:
{
"version": "1",
"default": "deny",
"tools": {
"run_fem_analysis": {
"limits": [
{
"counter": "run_fem_analysis_rate",
"window": "minute",
"max": 10,
"scope": "grant"
}
]
}
}
} run_fem_analysis stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Run the CalculiX solver on an existing Fem::FemAnalysis container and return summary results. Prerequisites in the document: - A Part-derived solid (e.g. Part::Box, PartDesign::Body) acting as the geometry. - A Fem::AnalysisPython container created via create_object. - A Fem::MaterialCommon assigned to the geometry, added to the analysis. - A Fem::FemMeshGmsh referencing the geometry, added to the analysis (the mesh is generated automatically when created via create_object). - At least one Fem::ConstraintFixed and one Fem::ConstraintForce (or ConstraintPressure) bound to faces of the geometry, added to the analysis. A SolverCcxTools is auto-created if the analysis has none. The solver runs synchronously on the FreeCAD GUI thread and blocks all other RPC calls for its duration; do not fan out parallel requests. Returns max von Mises stress (MPa), max/min displacement (mm), node count, and the working directory CalculiX wrote to. On failure, returns the prerequisite-check or solver error along with the working directory for triage. Args: doc_name: Name of the FreeCAD document. analysis_name: Name of the Fem::AnalysisPython object. timeout: Seconds to wait for the solver (default 600). It is categorised as a Execute tool in the Freecad mcp MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Freecad MCP server in PolicyLayer and add a rule for run_fem_analysis: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Freecad mcp. Nothing to install.
run_fem_analysis is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the run_fem_analysis rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for run_fem_analysis. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
run_fem_analysis is provided by the Freecad MCP server (neka-nat/freecad-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Freecad mcp, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
14 Freecad mcp tools catalogued and risk-classified — across an index of 43,000+ MCP servers.