How to Connect AI Agents to Industrial Equipment with MCP

This is a working operator's guide to getting an MCP server live against a real machine — from "I have Claude Desktop installed" to "the LLM just queried my CNC." Install, smoke test, and the common gotchas every operator hits.

What MCP is, in one paragraph

The Model Context Protocol is a small JSON-RPC spec for how an LLM client (Claude Desktop, Cursor, Continue, an agent framework) talks to a "tool server." The server advertises tools (read_register, activate_trigger, etc.), the client picks the right tool given the user's intent, the server returns structured results. It's designed to be model-agnostic and transport-agnostic — stdio for local subprocesses, Server-Sent Events (SSE) or Streamable HTTP for remote servers, OAuth or API-key for auth. Spec: modelcontextprotocol.io.

Step 1 — pick a server

Browse the directory by category. For an absolute first install, recommended starters by category:

Step 2 — paste the install snippet into Claude Desktop

Claude Desktop reads its MCP server list from a JSON file. Locations:

Open the file (create it if missing), and merge the mcpServers block from the server's card on the directory. Example with two servers:

{
  "mcpServers": {
    "opcua-mcp": {
      "command": "python",
      "args": ["path/to/opcua_mcp/main.py"],
      "env": { "OPCUA_SERVER_URL": "opc.tcp://your-server:4840" }
    },
    "foundrynet-forge": {
      "command": "npx",
      "args": ["-y", "mcp-remote",
               "https://foundrynet-mcp-production.up.railway.app/sse",
               "--header", "Authorization:Bearer ${FNET_KEY}"],
      "env": { "FNET_KEY": "fnet_…" }
    }
  }
}

Restart Claude Desktop. The tools should now appear in the slash-command palette.

Step 3 — smoke test

Open a new conversation and ask a question that requires the server. For an industrial server: "Read register 40001 on the Modbus device at 192.168.1.50 and tell me what it says." For Forge: "Identify a Fanuc R-30iB at serial VERIFY-001 and tell me its mint_id." If the server is wired correctly, the model will call a tool, the tool will return structured JSON, and the model will explain the result. If you see "I don't have a tool that can do that" — the server didn't load. Check the config file's JSON syntax, check the path to the server binary, and look at Claude Desktop's MCP logs.

Step 4 — when to use SSE / Streamable HTTP transport

Most servers in this directory run as a local subprocess (stdio). When you should pick a remote transport instead:

For Claude Desktop, the standard bridge is mcp-remote: a tiny stdio shim that proxies to a remote SSE / Streamable HTTP endpoint. Forge ships with that pattern as the default install snippet.

Common gotchas

Stuck? Find a category-specific guide: Industrial · Robotics · Energy · Fleet. Or email foundrynet@proton.me.