The Caddis MCP Server gives AI tools like Claude, Cursor, and other LLM clients direct, read-only access to your shop floor data like equipment status, runs, cycles, telemetry, alarms, utilization, and more.

What Is the Caddis MCP Server?

The Model Context Protocol (MCP) is an open standard that lets AI assistants connect directly to external tools and data sources instead of relying on their training data.

The Caddis MCP Server is a read-only wrapper over the LCM2M VM2M API. Once connected, any compatible AI tool can query your live machine data in plain language — no dashboards, no manual exports, no custom scripts.

GitHub Repository

https://github.com/LCM2M/lcm2m-caddis-mcp

Why Connect Caddis to Your AI Tools?

AI models like Claude, ChatGPT, and Gemini are trained on static data. Without a live connection to your machines, they can only offer general manufacturing knowledge — not answers about your floor.

With the Caddis MCP Server connected:

Without MCP With MCP
AI has no visibility into your machines AI reads live equipment, run, and telemetry data directly
Answers based on general manufacturing knowledge Answers grounded in your actual shop floor metrics
Manual report pulls to answer production questions Ask in plain language, get answers instantly
Data siloed in Caddis dashboards Machine data accessible across Claude, Cursor, and other AI tools

Requirements

Configuration

Variable Default Description
CADDIS_USERNAME required Your LCM2M account username or email
CADDIS_PASSWORD required Your LCM2M account password
CADDIS_COMPANY_ID auto Required if your user belongs to multiple companies
CADDIS_MAX_RETRIES 3 Max retries per request on rate limit (429)
CADDIS_MAX_RETRY_WAIT_MS 30000 Max total wait budget per request in milliseconds

Install

The Caddis MCP Server speaks MCP over stdio — it is spawned by an MCP client, not run as a standalone server. Choose one install path; the resulting command feeds into your client's config.

Install — npx (recommended)
bash
npx -y @lcm2m/caddis-mcp
Not yet published to npm. Use Docker or local source in the meantime.
Install — Docker
bash
git clone https://github.com/LCM2M/lcm2m-caddis-mcp.git
cd lcm2m-caddis-mcp
docker build --target runtime -t lcm2m-caddis-mcp .
bash — command string
docker run -i --rm -e CADDIS_USERNAME -e CADDIS_PASSWORD -e CADDIS_COMPANY_ID lcm2m-caddis-mcp
Install — Local Node
bash
git clone https://github.com/LCM2M/lcm2m-caddis-mcp.git
cd lcm2m-caddis-mcp
npm install
npm run build
Setup — Claude Code
bash
claude mcp add caddis \
  --env CADDIS_USERNAME=you@example.com \
  --env CADDIS_PASSWORD='your-password' \
  --env CADDIS_COMPANY_ID=1 \
  -- npx -y @lcm2m/caddis-mcp
Setup — Claude Desktop & Cursor
json
{
  "mcpServers": {
    "caddis": {
      "command": "npx",
      "args": ["-y", "@lcm2m/caddis-mcp"],
      "env": {
        "CADDIS_USERNAME": "you@example.com",
        "CADDIS_PASSWORD": "your-password",
        "CADDIS_COMPANY_ID": "1"
      }
    }
  }
}


Available Tools

All tools are read-only and prefixed with caddis_. Each maps directly to a VM2M API route.

Category Tool Description
Company caddis_get_company Returns company-level details for your LCM2M account
Devices caddis_list_devices Lists all connected devices
Devices caddis_get_device Returns details for a specific device
Equipment caddis_list_equipment Lists all equipment in your account
Equipment caddis_get_equipment Returns details for a specific piece of equipment
Equipment caddis_get_equipment_utilization Returns utilization metrics for a machine
Equipment caddis_get_equipment_schedule Returns the production schedule for a machine
Equipment caddis_get_equipment_cycles Returns cycle data for a machine over a time range
Equipment caddis_get_equipment_statuslogs Returns status change logs (running, idle, off)
Equipment caddis_get_equipment_telemetry Returns raw telemetry data from a machine
Equipment caddis_get_equipment_shift_history Returns shift-level production history
Equipment caddis_list_equipment_excessive_downtimes Lists excessive downtime events for equipment
Equipment caddis_get_equipment_excessive_downtime Returns details for a specific excessive downtime event
Org units caddis_get_org_unit Returns details for an org unit (line, cell, plant)
Org units caddis_get_org_unit_schedule Returns the schedule for an org unit
Org units caddis_list_org_unit_excessive_downtimes Lists excessive downtime events for an org unit
Org units caddis_get_tree Returns the full organizational tree structure
Alarms caddis_list_alarms Lists active and historical alarms
Tags caddis_list_tags Lists all tags in your account
Tags caddis_get_tag Returns details for a specific tag
Tags caddis_list_tag_groups Lists all tag groups
Tags caddis_get_tag_group Returns details for a specific tag group
Runs caddis_list_runs Lists production runs for a machine or org unit
Runs caddis_get_run Returns details for a specific production run
Runs caddis_get_run_cycles Returns cycle data for a specific production run
Status caddis_list_status_reasons Lists all configured status reason codes for your account

Example Prompts

Once connected, you can ask your AI assistant about your shop floor in plain language. Here are a few prompts to get started:

Get a utilization summary

"Pull utilization for all equipment over the last 7 days and summarize which machines are underperforming."

Investigate downtime

"List all excessive downtime events from this week and identify the most affected equipment."

Check shift history

"What did production look like on Line 3 across the last three shifts?"

Review alarms

"Are there any active alarms right now? Give me a summary with equipment names."

Explore telemetry

"Pull telemetry data for Machine 12 from yesterday afternoon and flag anything that looks abnormal."

Map the org structure

"Show me the full org tree so I can understand how equipment is grouped across lines and cells."

Troubleshooting

Connection fails after adding the config

Restart your AI tool after editing the config file. Most clients require a full restart to detect new MCP servers. Verify your install path is correct and the command string resolves to a valid executable.

Authentication errors

Double-check that CADDIS_USERNAME and CADDIS_PASSWORD are set correctly with no extra spaces or truncation.

Rate limit errors (429)

The server retries automatically up to CADDIS_MAX_RETRIES times (default: 3) within the CADDIS_MAX_RETRY_WAIT_MS budget (default: 30 seconds). For high-frequency queries, consider increasing these values in your environment config.

npx install not found

The package is not yet published to npm. Use the Docker or local Node install path instead until @lcm2m/caddis-mcp is available on the npm registry.

For further support, visit the GitHub repository or contact the caddis team.