Work Smarter & Safer with AI: Connecting Aras Innovator and Claude MCP
Have you ever thought, "It would be great if AI could look up this data in Aras Innovator," or "I wish there was an easier way to generate and load realistic test data for my project"? You’re in luck! We’re going to walk through how you can use a Model Context Protocol (MCP) server with Aras Innovator to streamline everyday tasks for developers and users. By the end of this blog, you’ll be able to give your AI assistant authenticated access to query your PLM data, inspect your schema, and create items through natural language commands. A Community Collaboration This blog post was inspired by community member Daan Theoden and his work integrating Claude Desktop and Aras Innovator. You can check out his videos about AI on LinkedIn and see the source code of his original project on GitHub. The project was later forked and extended by Aras Labs to support both Configurable Web Services (CWS) and Aras InnovatorEdge. This collaboration is an excellent example of how the Aras community drives innovation, and we appreciate Daan laying the groundwork for this tool. What is the MCP? The MCP is an open standard that defines how AI models interact with external data and systems. Without MCP, integrations need to be hard-coded for each individual AI application. With MCP, you can build a standardized server once. This server advertises a set of tools – such as "Get Item" or "Create Item" – and any MCP-compliant client can discover and utilize them. This provides a secure, predictable, and auditable way to expose your PLM environment to an AI assistant without exposing direct database access or unstructured APIs. What this project does This is a lightweight Python server that acts as a bridge to your Aras instance – whether you are using Configurable Web Services (CWS) or the new Aras InnovatorEdge. It handles the necessary plumbing of authentication, URL normalization, and error handling so the AI model can focus on executing your intent. Out of the box, it enables your assistant to: Explore your schema: Fetches OData $metadata to dynamically learn your specific ItemTypes and property definitions. Auto-resolve names: Uses fuzzy matching to resolve terms like "Problem Report" or "Doc" to their actual ItemTypes (PR or Document). Generate data: Automates the creation of complex test data sets. Call methods: Triggers server-side logic by calling Aras methods directly. Quick Start: Connecting to the Aras Innovator REST API This tool is designed to work natively with Aras InnovatorEdge, but it includes full backward compatibility for the standard Aras Innovator REST API via CWS. If you choose to use CWS, please see our previous blog on how to set it up! Here is how to get it running 1. Clone the repository Clone the repo and install the dependencies. We recommend using a virtual environment. git clone https://github.com/ArasLabs/aras-claude-agent.git cd aras-claude-agent pip install -r requirements.txt 2. Configure the environment Create a .env file in the root directory. This is where you will define how the tool connects to Aras. Option A: Connecting via Aras InnovatorEdge (Beta) Aras InnovatorEdge is currently in beta. If you are an early adopter with access to an Edge environment, this is the preferred setup. # --- Backend Setup --- # Use 'EDGE' for InnovatorEdge instances API_BACKEND=EDGE # --- Auth Credentials --- AUTH_MODE=API_KEY EDGE_API_KEY=your_edge_api_key_here # Your Innovator URL API_URL=https://myserver.com/InnovatorServer # --- Optional Configuration --- # Map friendly names to ItemTypes for better recognition ITEMTYPE_ALIASES=Problem:PR;Doc:Document;Part:Part Option B: Connecting via Configurable Web Services If you do not have access to the Edge Beta yet, you can use standard Configurable Web Services (CWS). Note: Because this tool uses an "Edge-first" design, it uses the same authentication pattern for both backends. You will see InnovatorEdge terminology in the configuration variables (specifically EDGE_API_KEY). Don't worry, this works perfectly with CWS. # --- Backend Setup --- # Use 'ARAS' for standard CWS instances API_BACKEND=ARAS # Your Innovator URL (The server handles the /Server/Odata path automatically) API_URL=https://myserver.com/InnovatorServer # --- Auth Credentials --- AUTH_MODE=API_KEY # NOTE: Even though we are connecting to CWS, we use the EDGE_API_KEY # variable name to maintain compatibility with the tool's internal auth logic. EDGE_API_KEY=your_cws_api_key_here # --- Optional Configuration --- ITEMTYPE_ALIASES=Problem:PR;Doc:Document;Part:Part 3. Verify the installation You generally do not need to run the server manually. Claude Desktop will handle that for you. However, it is good practice to run it once just to ensure your environment is set up correctly and there are no missing dependencies. python -m src.server If the process starts and waits silently (or "hangs"), it is working correctly. The server is simply listening for commands over standard input. You can stop it with Ctrl+C and move to the next step. 4. Add to Claude Desktop Open your Claude Desktop configuration file. Mac: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Add the following entry (ensure you update the path to your cloned repository): { "mcpServers": { "aras-api": { "command": "python", "args": ["-m", "src.server"], "cwd": "/absolute/path/to/aras-claude-agent" } } } Once you save this file and restart Claude Desktop, it will automatically launch the Python server in the background. In Practice: Generating Test Data One of the most powerful applications of this tool is accelerating test preparation. Because the AI can read the OData metadata, it understands your specific data model without requiring detailed instructions. For example, you can use a prompt like this: "I need to test the Part Form with a new Robotic Arm assembly. Create 10 Parts for me. Number them ROBOT-001 through ROBOT-010. For the name, generate realistic component names." Behind the scenes, the Agent will: Call api_resolve_itemtype to confirm "Part" matches the correct ItemType. Call api_get_metadata to verify the property names for item_number and classification. Execute a loop of api_create_item calls to generate the records, using its own creativity to fill in the names. This automation dramatically reduces the time spent on repetitive data setup. Want to learn more about InnovatorEdge? We're preparing a series of technical blogs about what's new and what you can do with it, but in the meantime, you can check out this overview from product manager Benjamin Chaillon, or this article on AI data governance with Aras InnovatorEdge. Join the Conversation This project is just the beginning of what’s possible when we combine the structure of PLM with the flexibility of Large Language Models. By bridging Aras Innovator with tools like Claude, we can reduce the friction of context switching and make data creation and inspection significantly faster. A special thanks again to Daan Theoden for pioneering this integration and sharing it with the community. Open collaboration like this is what makes the Aras ecosystem so powerful, and we are thrilled to support and extend his original vision. Now, we want to hear from you. If you could automate one mundane PLM task with an AI assistant today, what would it be? Let us know in the comments below, or head over to the GitHub repository to star the project, file an issue, or contribute your own improvements!902Views1like0CommentsCustomize Your Endpoints with Configurable Web Services
Alongside Aras Innovator® Release 31, we provided a new set of functionalities called Configurable Web Services, or CWS. CWS is a platform component, which means it comes out-of-the-box and can be used across the platform. What is Configurable Web Services? Configurable Web Services is a low-code tool for defining and publishing custom REST APIs within your Aras Innovator® instance. It allows you to create a robust API without utilizing SQL, AML, or any coding. While we continue to provide access to our standard REST API, this new tool will enable you to expose subsets of data with fine-tuned permissions. All of this can be configured in Aras Innovator with an easy-to-use user interface (UI). Let’s take a look at how that works. A CWS Example: Creating a new web service Since CWS is an administrative feature, it appears in the Table of Contents under Administration > External Control. We’re going to create a new Web Service. A Web Service is the foundation of CWS, allowing you to create one or multiple different endpoints for your needs. On the form, we’re greeted with some basic parameters for our Web Service and two relationships. API Keys can be generated to allow external applications to communicate with Aras Innovator easily. Endpoints are exactly what they sound like. Here, you can define OData endpoints for your Web Service. For my example, we’ll be configuring an Endpoint that only has access to Part and Part BOM data. In this screenshot, I’ve already added the Part ItemType to our selection of Web Service Items. On the right, you can see that for each ItemType we select, we can modify what our end users have access to. This can be things like properties and relationships or what kind of actions the users can perform. For this example, I’m just going to get permissions. Let’s make sure we also add the Part BOM relationship as well: Once we’ve done that, we can see that the Part BOM relationship is also one of the Web Service Items. Let’s take the same action and then move on to properties. Looking at the Part_BOM Properties, we can see that we need the ID since it’s a relationship, a source, and a related ID. I’ve also added quantity to that example so we can see how many of each Part there are in a given BOM. And there we have it! Once we’ve saved our Endpoint and the parent Web Service, we will have a URL we can use to query our data. In a follow-up blog, I’ll go over connecting to and utilizing the newly created endpoint! While this was a pretty high-level overview of CWS, there’s so much more that it can do. We’ll be posting more content about CWS in the coming weeks, along with a sample application showing off the strength of this tool. Let us know if you’d utilize this in your business for external connections. And feel free to reach out to me with any questions.386Views1like0Comments