thingworx-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| THINGWORX_APP_KEY | Yes | Your ThingWorx application key generated in Composer under Security > Application Keys | |
| THINGWORX_BASE_URL | Yes | The base URL of your ThingWorx instance (e.g., https://thingworx.your-company.com) | |
| THINGWORX_VERIFY_SSL | No | Set to 'false' for self-signed dev instances (default true) | true |
| THINGWORX_ALLOW_WRITE | No | Set to 'true' to enable the write_property tool (default false) | false |
| THINGWORX_ALLOW_INVOKE | No | Set to 'true' to enable the invoke_service tool (default false) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_thingsA | List all Things registered in the ThingWorx model. Returns Thing names, descriptions, and parent ThingTemplate. The standard read path for an agent that needs to discover the industrial asset inventory. |
| get_thingA | Get metadata for a specific Thing by name. Returns the Thing's properties, services, events, and implemented ThingShapes. Used to discover the surface area of a Thing before reading or writing it. |
| read_propertyA | Read the current value of a single Property on a Thing. Returns the property value plus its data type. The standard read path for an agent that needs the live state of an industrial asset. |
| write_propertyA | Write a new value to a Property on a Thing. Gated by THINGWORX_ALLOW_WRITE=true because property writes can change the state of real industrial equipment (setpoints, modes, configuration). The MCP refuses to write unless the operator has explicitly authorized it. |
| invoke_serviceA | Invoke a named Service on a Thing. Gated by THINGWORX_ALLOW_INVOKE=true (separate from write) because services execute named actions that can include PLC commands, scripted workflows, and downstream system calls. The MCP refuses to invoke unless the operator has explicitly authorized it. |
| list_thing_templatesA | List all ThingTemplates available in the ThingWorx model. ThingTemplates are the type definitions Things instantiate from. Used by agents to understand the schema available before creating or inspecting Things. |
| get_thing_templateA | Get the full definition of a ThingTemplate by name, including property + service + event signatures, parent template, and implemented ThingShapes. |
| search_thingsA | Search the ThingWorx model by free-text expression matched against Thing names + descriptions. Returns up to max_items results. Used when the agent does not know the exact Thing name (e.g. 'find all conveyor things in Line 4'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NoBanks/thingworx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server