About Anvil
Anvil is a local physics and chemistry workbench for agents, aimed at users who want to model designs, check simulation metrics, and export geometry. Its tools perform deterministic computation in-process without a network call or an embedded LLM.
Key features
- 01Build domain-specific blueprints from plain-language intent
- 02Simulate across 12 science and engineering domains
- 03Return snapshots with proof metrics and tolerances
- 04Export geometry as ASCII STL or OBJ
- 05Run locally without network calls
Use cases
- 01Test a CMOS ring oscillator design against metrics
- 02Simulate mechanical or chemical systems
- 03Export modeled geometry for 3D printing or CAD
MCP support
Exposes four tools to MCP clients: `anvil.domains`, `anvil.forge`, `anvil.solve`, and `anvil.export`. They provide domain information, blueprint creation, simulation, and geometry export.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEanvil-mcp
Anvil — a full workbench for your agent.
No cloud. No Bridge. No API key. No LLM inside — the tools are pure computation; your agent host brings the thinking.
Plain words in — your agent forges the design, tests it against proof metrics, iterates until it passes, and hands you the file. You never touch a tool.
30 seconds
you: "I need a 5-stage CMOS ring oscillator at 7nm — prove it works
before I print anything."
agent: anvil.forge → blueprint: silicon · 8 nodes · "5-stage ring at 7 nm, VDD 0.75 V."
anvil.solve → [pass] Joule power · [pass] junction temp · [warn] EM margin thin
anvil.forge → widens the vias, re-forges
anvil.solve → all metrics pass
anvil.export → 532 triangles of ASCII STL
you get: the printable file, plus the proof it works.
Install
Requires Node ≥ 20. No build step needed for use:
npx github:The-Warl0ck/anvil-mcp
Or clone and run:
git clone https://github.com/The-Warl0ck/anvil-mcp
cd anvil-mcp
npm install
npm run build
npm start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"anvil": {
"command": "npx",
"args": ["github:The-Warl0ck/anvil-mcp"]
}
}
}
Tools
| Tool | Input | Output |
|---|---|---|
anvil.domains | {} | The 12 domains and what each simulates |
anvil.forge | { intent, domain? } | Blueprint JSON + rationale (offline — no LLM in the tool itself) |
anvil.solve | { blueprint, steps? } | SimSnapshot + ProofMetric[] with real numbers |
anvil.export | { blueprint, format } | STL (ASCII) or OBJ text for 3D printing / CAD |
The 12 domains
silicon (nets, delay, heat, electromigration) · cellular (membranes, ions, morphogens) · quantum (wells, tunneling, decoherence) · neural (spikes, region flows) · mechanical (stress, modes, yield) · chemistry (mass-action kinetics, ΔH, equilibrium) · architecture (plans, interiors, circulation) · metallurgy (alloys, CE, melt, print window) · robotics (arms, torque, reach, payload) · machines (engines, gears, printable parts) · optics (geometry, gnomon, shadows, sundials) · sky (sun position / ephemeris)
How it works
anvil.forge—readIntentscores your words against per-domain keyword sets, picks a domain, andforgeOfflinebuilds a schematic graph (nodes, edges, physical params) from templates plus your numbers (e.g. "7nm", "5-stage", "0.75 V"). Pure local compute.anvil.solve—createSolverdispatches to the domain solver (Kirchhoff MNA for silicon, Euler–Bernoulli for mechanical, mass-action for chemistry, …), steps it, and returns a snapshot plus proof metrics — checks with real tolerances and statuses.anvil.export— blueprint geometry meshed to ASCII STL or OBJ text.
Everything runs in-process. There is no network call anywhere in the default path.
Config
Optional — nothing is required to run:
ANVIL_HOME=~/.anvil # where saved designs / assets / exports live (default ~/.anvil)
Notes
- Any OpenAI-compatible "mouth" (LM Studio, etc.) is a future opt-in, not part of v1. The kernel speaks blueprints, not prose, and that's the point.
anvil.solvereturns a deterministic snapshot after N steps of the solver's recommended dt — no wall-clock randomness.- Apache-2.0. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.