test_api_connectionLABSCO SUMMARY
Password-grant OAuth against Aras, with the database name as a required field.
Authentication uses the Resource Owner Password Credentials grant against the IOMApp client, and the database parameter is mandatory — a missing ARAS_DATABASE is the first error most setups hit. The account you configure carries its own PLM permissions, so what can be created or which methods can be called is bounded by that account rather than by the server.
What it is
A Python server that authenticates against Aras Innovator 14+ with OAuth 2.0 and exposes its OData REST API: querying items, creating them, calling server methods and reading list values.
What you get
test_api_connection— confirm authentication worked and a bearer token was obtained, before anything else runsapi_get_items— query PLM data over OData, Part and Document among the endpointsapi_create_item— create new items such as Parts and Documents from the conversationapi_call_method— invoke an Aras server method or custom endpoint by nameapi_get_list— read Aras list values, for instance the categories behind a dropdown
Requirements
Python 3.8+ and an Aras Innovator 14+ server with its OAuth 2.0 endpoints enabled, plus a user account with API and database permissions. A .env file supplies API_URL, API_USERNAME, API_PASSWORD and ARAS_DATABASE; API_TIMEOUT, API_RETRY_COUNT, API_RETRY_DELAY and LOG_LEVEL are optional. pip install -r requirements.txt, then point Claude Desktop at main.py.
Setup effort
Build from source — git clone https://github.com/DaanTheoden/aras-claude-agent.git
USE CASES
Answering a question about parts without opening the PLM UI
Query the OData endpoint with the filter you want and read the matching items in the conversation.
Creating a document or part from a discussion
Describe the item and it is created in Aras, with the id returned so you can find it again.
Running a server-side method you already have
Call an existing Aras method by name rather than reimplementing its logic outside the platform.
Checking the connection before you trust an answer
Authenticate first and see the server URL and token status, so a failure shows up at setup rather than mid-task.
5 tools
Listed in project docs. Your client may show a different list.
api_get_itemsapi_create_itemapi_call_methodapi_get_listBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- API_URL in your environment
- API_USERNAME in your environment
- API_PASSWORD in your environment
- ARAS_DATABASE in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/DaanTheoden/aras-claude-agent.git
cd aras-claude-agent
pip install -r requirements.txtMCP Clients
Claude Desktop
{
"mcpServers": {
"api-server": {
"command": "py",
"args": [
"<YOUR_PATH_TO_ARAS_CLAUDE_AGENT>/main.py"
]
}
}
}This block is written for Windows: py is the Windows Python launcher and the path is a C:/ path. On macOS or Linux, use python3 as the command and the full path to main.py in the folder you cloned. <YOUR_PATH_TO_ARAS_CLAUDE_AGENT> is your own clone's location, on any system.
The configuration on this page does not set API_URL, API_USERNAME, API_PASSWORD and ARAS_DATABASE; the project's instructions put them in a .env file. Check which folder the server reads that file from before you rely on it.