# ExCadmpeg v0.1.0 - Table of Contents > An Elixir wrapper of github.com/cadmpeg/cadmpeg to bring native CAD files onto the BEAM: SolidWorks, CATIA, Inventor, Creo, NX, Fusion, FreeCAD, Rhino, IGES, STEP read into one format-neutral CAD document, written back out. Wrapped via rustler; this build compiles in the STEP codec. ## Pages - [ex_cadmpeg](readme.md) - [The document in the middle](ir.md) ## Modules - The document - [Cadmpeg](Cadmpeg.md): Native CAD files on the BEAM. - [Cadmpeg.Document](Cadmpeg.Document.md): A CAD document, parsed once: cadmpeg's format-neutral CAD IR behind a handle. - Refusals - [Cadmpeg.Error](Cadmpeg.Error.md): A refusal from the engine, with the code a caller can branch on. - Model Context Protocol - [Cadmpeg.Mcp](Cadmpeg.Mcp.md): A Model Context Protocol server over stdio: a CAD file, for an assistant. - [Cadmpeg.Mcp.Tools](Cadmpeg.Mcp.Tools.md): The tools the MCP server offers, and the one place a name becomes a function. - The engine - [Cadmpeg.Native](Cadmpeg.Native.md): The Rust engine, one function per operation it has. ## Mix Tasks - [mix cadmpeg.mcp](Mix.Tasks.Cadmpeg.Mcp.md): Runs the Model Context Protocol server: one JSON-RPC message per line on stdin, one answer per line on stdout, until stdin closes.