Labsco
MCP SERVER

Generic API MCP Server

by DaanTheoden

Query and create Aras Innovator PLM items from Claude Desktop, over OAuth 2.0 and OData.

ERP & Vertical Business Systems
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 runs
  • `api_get_items` — query PLM data over OData, Part and Document among the endpoints
  • `api_create_item` — create new items such as Parts and Documents from the conversation
  • `api_call_method` — invoke an Aras server method or custom endpoint by name
  • `api_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`.