Skip to main content
Glama
jofongang

Arena MCP Extractor

by jofongang

Arena MCP Extractor

A read-only Model Context Protocol server that exposes Rockwell Automation Arena simulation models to an LLM client such as Claude Code.

The server asks Arena itself to open .doe files through its Windows COM object model. It never saves, runs, or edits a model. Extracted data is returned as a versioned, JSON-compatible intermediate representation (IR) suitable for driving a Python simulation translator.

Requirements

  • Windows (the server uses COM and the Windows registry)

  • A licensed local install of Rockwell Automation Arena, registered under the Arena.Application ProgID

  • Python 3.10+

Related MCP server: FlexSim MCP Server

Install

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

Run

As an MCP server over stdio (the normal mode):

python Arena_MCP_Extractor.py

Register it with Claude Code:

claude mcp add arena -- python C:\path\to\Arena_MCP_Extractor.py

CLI mode

The same file doubles as a command-line tool, which is handy for verifying your Arena install before wiring up an MCP client:

python Arena_MCP_Extractor.py --status
python Arena_MCP_Extractor.py --list-models
python Arena_MCP_Extractor.py --inspect  MyModel.doe
python Arena_MCP_Extractor.py --extract  MyModel.doe
python Arena_MCP_Extractor.py --audit    MyModel.doe

--audit accepts --include-vba-source, --include-siman-source, and --include-binary-payloads to widen what is captured.

Tools

All tools are annotated read-only.

Tool

Purpose

arena_status

Report whether Arena is installed and reachable over COM

list_arena_models

Discover .doe models in the usual document folders

inspect_arena_model

Summarize one model: modules, counts, metadata

list_arena_modules

Enumerate modules with their operand data

list_arena_connections

Enumerate the connection graph between modules

extract_arena_model

Produce the full neutral IR for translation

analyze_arena_model_compatibility

Classify modules as automatic / assisted / unsupported

audit_arena_model_data

Pre-translation coverage gate over every data source

inspect_arena_project_bar

Read the project bar panel structure

extract_arena_submodels

Walk submodel hierarchies

extract_arena_visual_model

Extract animation and layout geometry

extract_arena_material_handling

Extract conveyors, transporters, and networks

inspect_arena_compound_file

Inspect the raw OLE compound file streams

extract_arena_siman_source

Generate SIMAN source from a temporary copy

inspect_arena_results

Inspect an Arena results database

read_arena_results

Read statistics out of a results database

Suggested workflow

  1. arena_status — confirm Arena is reachable.

  2. audit_arena_model_data — the coverage gate; shows what the model contains and what the extractor cannot yet represent.

  3. extract_arena_model — obtain the neutral IR to translate.

Schema versions

  • IR schema: 0.3.0

  • Audit schema: 2.0.0

Both are reported in every response so downstream consumers can pin behaviour.

License

MIT — see LICENSE.

Disclaimer

Not affiliated with or endorsed by Rockwell Automation. "Arena" is their trademark. You need your own licensed Arena installation to use this.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jofongang/arena-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server