thingworx-mcp

thingworx-mcp

MCP server for PTC ThingWorx, the IIoT platform, providing 8 tools for AI agents to read live state and trigger actions across the industrial asset graph with env-gated safety for writes and invocations.

Category
Visit Server

README

thingworx-mcp

MCP server for PTC ThingWorx, the IIoT platform. 8 tools for AI agents to read live state and trigger actions across the industrial asset graph.

What it wraps

The ThingWorx REST API surface that matters to an agent: Things, Properties, Services, ThingTemplates, and the model search index. ThingWorx is the IIoT platform used to wire SCADA, PLCs, MES, and plant equipment into a unified model. This MCP gives an agent the read path for live equipment state and the write path for setpoints and named operations, both env-gated independently because both can affect real industrial equipment.

Tools (8)

Tool Purpose Env gate
list_things Inventory all Things in the model none
get_thing Read a Thing's full metadata + surface area none
read_property Read live value of a Property none
write_property Update a Property value THINGWORX_ALLOW_WRITE=true
invoke_service Execute a named Service on a Thing THINGWORX_ALLOW_INVOKE=true
list_thing_templates Inventory available ThingTemplates none
get_thing_template Read a ThingTemplate's definition none
search_things Free-text search the model none

The two gates are independent. An operator can enable property writes (setpoints) without enabling service invocations (which can include emergency stops, PLC commands, downstream workflow triggers), and vice versa.

Install

pip install thingworx-mcp

Configuration

ThingWorx is self-hosted. Set:

export THINGWORX_BASE_URL="https://thingworx.your-company.com"
export THINGWORX_APP_KEY="your-application-key"

# Optional, default false. Enables write_property tool.
export THINGWORX_ALLOW_WRITE="true"

# Optional, default false. Enables invoke_service tool.
export THINGWORX_ALLOW_INVOKE="true"

# Optional, default true. Set to "false" for self-signed dev instances.
export THINGWORX_VERIFY_SSL="false"

Generate the appKey in ThingWorx Composer under Security > Application Keys. The MCP uses the appKey header convention (not Bearer).

Use with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "thingworx": {
      "command": "thingworx-mcp",
      "env": {
        "THINGWORX_BASE_URL": "https://thingworx.your-company.com",
        "THINGWORX_APP_KEY": "your-application-key"
      }
    }
  }
}

Use with Hermes

mcp:
  thingworx:
    command: thingworx-mcp
    env:
      THINGWORX_BASE_URL: https://thingworx.your-company.com
      THINGWORX_APP_KEY: ${THINGWORX_APP_KEY}
      THINGWORX_ALLOW_WRITE: "true"

Safety model

ThingWorx is wired to real PLCs and real equipment. The MCP defaults to read-only. Property writes and service invocations both require an explicit env opt-in, and the gates are independent so an operator who wants telemetry write capability does not have to also grant service invocation rights.

Failures from the upstream ThingWorx instance are surfaced as structured errors. Network and timeout errors are surfaced with status codes.

Development

git clone https://github.com/NoBanks/thingworx-mcp
cd thingworx-mcp
pip install -e ".[dev]"
pytest

Tests use respx for HTTP mocking, no live ThingWorx instance required.

License

MIT. See LICENSE.

About

Part of a 26 plus MCP server cohort at github.com/NoBanks, shipped by @livingagentic. Other industrial MCPs in the same cohort: workday-mcp, veeva-mcp, plaid-mcp, lambda-cloud-mcp. Built using the same factory pattern: env-gated for destructive actions, MIT licensed, install-ready, smoke-tested.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured