Connect Claude Desktop to Aras Innovator PLM through the Model Context Protocol (MCP)
This MCP server lets Claude Desktop securely interact with Aras Innovator using either Aras InnovatorEdge or Configurable Web Services (CWS). It exposes a set of structured tools that allow Claude to query PLM data, explore metadata, create items, call methods, and moreβall through natural language.
- π Authenticate securely using API keyβbased access
- π Query PLM data over REST/OData
- π§ Explore your schema via
$metadatadiscovery - βοΈ Create Items (Part, Document, custom ItemTypes, etc.)
- π§ Call Aras server methods
- π Automatically resolve ItemTypes using fuzzy matching
- π‘οΈ Edge-first design with full compatibility for CWS
- Windows/macOS/Linux supported
- Download from https://claude.ai/download
- No subscription required
This agent supports:
- Aras InnovatorEdge (API-key access)
- Aras Innovator REST via CWS (standard /Server/OData endpoint)
Both backends use the same config pattern.
git clone https://github.com/ArasLabs/aras-claude-agent.git
cd aras-claude-agent
pip install -r requirements.txtCreate a .env file in the project root.
API_BACKEND=EDGE
AUTH_MODE=API_KEY
EDGE_API_KEY=your_edge_api_key
API_URL=https://yourserver.com/InnovatorServer
# Optional
ITEMTYPE_ALIASES=Problem:PR;Doc:Document;Part:PartUses the same API-key auth pattern for compatibility.
API_BACKEND=ARAS
AUTH_MODE=API_KEY
EDGE_API_KEY=your_cws_api_key # Works for CWS even though named EDGE_API_KEY
API_URL=https://yourserver.com/InnovatorServer
ITEMTYPE_ALIASES=Problem:PR;Doc:Document;Part:PartNotes:
- You do not need to manually append
/Server/Odata; this is handled internally. - The server normalizes URLs and applies the correct request pattern for Edge or CWS automatically.
Edit:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"aras-api": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/absolute/path/to/aras-claude-agent"
}
}
}Restart Claude Desktop.
python -m src.serverIf it starts and waits silently, your environment is correct. Claude will launch it automatically when needed.
| Tool | Description | Example prompt |
|---|---|---|
test_api_connection |
Confirm connectivity + auth | βTest my API connection.β |
api_get_items |
Query any ItemType via OData | βGet all Parts.β |
api_create_item |
Create a new Aras item | βCreate a new Document named TestDoc.β |
api_call_method |
Invoke Aras server methods | βCall GetItemsInBOM.β |
api_get_list |
Fetch list values | βShow Part classifications.β |
api_get_metadata |
Download and inspect $metadata |
βShow me all ItemTypes.β |
api_resolve_itemtype |
Map friendly names β real ItemTypes | βWhat ItemType is βDocβ?β |
api_list_itemtypes |
List ItemTypes discovered from CSDL | βList available ItemTypes.β |
This project uses a simple API-key model compatible with:
- Direct API key header
- Same API key header style
- Server automatically adapts request format to CWS/Innovator REST
No OAuth 2.0 configuration is required for the CWS or Edge flows described above.
You: "Test my API connection."
Claude: β Successfully authenticated. Ready for API calls.
You: "Create 10 Parts numbered ROBOT-001 to ROBOT-010."
Claude: Created 10 Part items.
You: "Get all Problem Reports assigned to me."
Claude: Retrieved 12 PR items.
Claude Desktop
β JSON-RPC MCP
Python MCP Server
β Edge or CWS REST API
Aras Innovator
β OData / metadata / methods
PLM Database
| Feature | InnovatorEdge | CWS |
|---|---|---|
| API key auth | β | β |
| OData metadata discovery | β | β |
| Item creation | β | β |
| Method calls | β | β |
| Automatic URL normalization | β | β |
| Name β ItemType resolution | β | β |
| Schema-aware test data creation | β | β |
Both backends provide the same toolset to Claudeβno prompt changes required.
- Authentication errors β check
API_BACKEND,API_URL, andEDGE_API_KEY - Claude not seeing tools β restart Claude Desktop
- Metadata not loading β confirm
/Server/ODatais reachable (CWS) or API-key access is enabled (Edge)
Issues and pull requests are welcome!
MIT License β see LICENSE.