AgentFEM

Build, run, inspect, and verify finite-element simulations with AgentFEM.

OtherPythonv0.1.0

AgentFEM MCP

CI PyPI MCP Registry AgentFEM MCP server

One finite-element platform. Any compatible agent. Evidence intact.

AgentFEM MCP gives Codex, Claude, and other MCP-compatible agents a small, stable tool surface for building and running inspectable finite-element projects. AgentFEM remains the deterministic scientific engine; the agent interprets intent and explains evidence.

Install from PyPI · Discover in the official MCP Registry · Read the AgentFEM agent guide

For a supported desktop client on macOS or Linux, download the tiny AgentFEM-0.1.0.mcpb connection bundle from the 0.1.0 release. It installs only the interface; the AgentFEM scientific runtime remains the single source of solver capabilities, upgrades, and results.

It exposes seven tools—not hundreds of solver internals:

ToolPurpose
describe_systemInspect the installed runtime and a compact capability map
create_projectStart from a version-matched AgentFEM template
validate_projectReport process success and scientific acceptance separately
inspect_projectRead project and recent-run identity
submit_runLaunch an isolated serial or MPI process
get_run_statusObserve a durable background job
get_result_summaryRead a compact result and trust state; request full evidence only when needed

Bring it to life

Want to see the underlying workflow before installing?

AgentFEM must already be installed. With uvx, Codex needs one command and the adapter remains isolated from the numerical environment:

codex mcp add agentfem \
  --env AGENTFEM_MCP_ROOTS=/absolute/path/to/AgentFEMProjects \
  -- uvx --from agentfem-mcp agentfem-mcp

Or install the lightweight adapter in the active environment:

python -m pip install agentfem-mcp

The 0.1.0 lifecycle is acceptance-tested with the public AgentFEM 0.3.3 CLI contracts and the current 0.3.7 development line.

Give your agent a project root, not your whole home directory.

Codex

Codex officially supports local stdio MCP servers. Confirm the connection with codex mcp list, then begin with:

Use AgentFEM to create, validate, run, verify, and briefly explain a 2D cantilever. Keep the project and result paths visible.

Claude Desktop and compatible clients

On macOS or Linux, open the release's .mcpb file in a supporting desktop client and choose the one project folder the connection may access. AgentFEM must already be installed. Windows support currently uses the explicit WSL2 configuration from the AgentFEM guide rather than claiming a native bridge.

Claude Code:

claude mcp add agentfem --scope user \
  --env AGENTFEM_MCP_ROOTS=/absolute/path/to/AgentFEMProjects \
  -- uvx --from agentfem-mcp agentfem-mcp

Claude Desktop configuration:

{
  "mcpServers": {
    "agentfem": {
      "command": "agentfem-mcp",
      "env": {
        "AGENTFEM_MCP_ROOTS": "/absolute/path/to/AgentFEMProjects"
      }
    }
  }
}

If a desktop app cannot see the activated conda environment, set AGENTFEM_COMMAND to the absolute agentfem executable. The official macOS runtime, AgentFEM WSL2 runtime, and common agentfem-env/fenicsx-env layouts are also detected automatically.

VS Code and other models

VS Code can place the same local server in .vscode/mcp.json:

{
  "servers": {
    "agentfem": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "agentfem-mcp", "agentfem-mcp"],
      "env": {
        "AGENTFEM_MCP_ROOTS": "${workspaceFolder}"
      }
    }
  }
}

The server is model-neutral. A DeepSeek or other model can use it through any host that implements local MCP tools. ChatGPT connectors require a public HTTPS server; AgentFEM will add that route only with a real authenticated compute and artifact boundary, rather than silently uploading local models through this adapter.

Directory health image

The repository's minimal, unprivileged Dockerfile exists for MCP directory startup and tool-introspection checks. It intentionally contains the public MCP adapter, not a second AgentFEM solver distribution. Real simulations should use the installed AgentFEM runtime and an explicit local project root.

Local Codex plugin

This repository contains a portable AgentFEM workflow skill and a local Codex marketplace under .agents/plugins/. It combines scientific operating guidance with the same MCP server; it does not create a second solver interface.

The contract

AI agent
   │  seven typed MCP tools
   ▼
AgentFEM MCP ── process + path boundary
   │  versioned JSON contracts
   ▼
AgentFEM CLI → Study → Model → Step → SimulationResult
   ▼
FEniCSx / PETSc / MPI
  • No language model or API key is embedded in AgentFEM MCP.
  • No shell command or arbitrary Python string is accepted from a tool call.
  • All project paths must remain under explicitly approved roots.
  • Numerical runs occur in child processes, isolating PETSc/MPI lifetime from the MCP server.
  • completed, verified, and validated remain different scientific states.
  • Compact system discovery preserves AgentFEM's website, repository, citation, and its consent-first, once-per-release-series community invitation. The MCP server never performs an account action for the user.

Environment controls

VariableMeaning
AGENTFEM_MCP_ROOTSApproved project roots separated by the platform path separator
AGENTFEM_COMMANDAbsolute path to a specific agentfem executable

With no root configured, the server restricts access to its working directory. The default maximum is 16 MPI ranks and can only be changed by the server operator, not by an agent tool call.

Development

python -m pip install -e '.[test]'
ruff check .
pytest
python -m build

See SECURITY.md for the trust boundary and CONTRIBUTING.md for contribution expectations. The first release evidence records protocol, package, and real-solver acceptance separately.

AgentFEM MCP is Apache-2.0 licensed and maintained as an official companion to AgentFEM.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx agentfem-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-haoming-luo-agentfem": {
      "command": "uvx",
      "args": [
        "agentfem-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

agentfem-mcppypi

Compatible MCP Clients

AgentFEM works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More