Overview
MCP (Model Context Protocol) is an open standard introduced by Anthropic for integrating AI systems with external tools, data sources, and applications. MCP routes enable AI assistants like Claude, ChatGPT, or custom LLM applications to interact with your Coreflux broker—reading MQTT data, executing LoT actions, and controlling IoT devices.In This Page
| Section | Description |
|---|---|
| Basic Syntax | Define an MCP route |
| Configuration | Server command, arguments, and client name |
| Configuration Examples | Filesystem, custom, and Node.js server setups |
| MCP Server Examples | Node.js and Python MCP servers for IoT |
| Calling MCP Tools | Execute MCP tools from LoT Actions |
| Tool Discovery | Discover available tools via MQTT system topics |
| Use Cases | Common MCP integration patterns |
| Protocol Overview | Understanding tools, resources, and prompts |
| Best Practices | Security, resource management, and error handling |
Basic Syntax
TheMCP route type exposes your Coreflux broker as an MCP server, allowing AI assistants to:
- Access MQTT data and topic structures
- Execute LoT actions and queries
- Interact with connected devices
- Provide intelligent automation and responses
Basic Syntax
MCP Configuration
MCP_CONFIG Parameters
MCP server command to execute (e.g.,
npx, python, node).Comma-separated server arguments (e.g.,
-y, @modelcontextprotocol/server-filesystem).MCP client identifier. Default: CorefluxBroker.
Configuration Examples
- Filesystem Server
- Custom MCP Server
- Node.js Server
Enable AI access to file operations:
MCP Server Examples
The MCP ecosystem includes servers for various platforms and services. These examples show how to connect popular MCP servers to your Coreflux broker for IoT integration.- Node.js Servers (npx)
- Python Servers (uvx)
Node.js-based MCP servers can be run directly using
Example: Slack Alerts for IoT Events
npx. These are the most common and include official Anthropic servers.| Server | LoT Configuration | IoT Use Case |
|---|---|---|
| Filesystem | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, @modelcontextprotocol/server-filesystem, /data" | Read sensor logs, manage config files |
| Google Drive | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, @modelcontextprotocol/server-gdrive" | Cloud backup of IoT data |
| Slack | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, @modelcontextprotocol/server-slack" | Send alerts to team channels |
| Memory | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, @modelcontextprotocol/server-memory" | Persist context across AI sessions |
| Fetch | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, @modelcontextprotocol/server-fetch" | Access external APIs and web data |
| Windows Control | SERVER_COMMAND "npx" with SERVER_ARGUMENTS "-y, mcp-control" | Automate HMI/SCADA systems |
Calling MCP Tools
Once an MCP route is defined, you can call its tools from within LoT Actions using theCALL MCP syntax. This enables AI-powered automation triggered by MQTT events.
Basic Syntax
The standard syntax to invoke an MCP tool from an Action:| Component | Format | Description |
|---|---|---|
| Route.Tool | "RouteName.ToolName" | Route name and tool name separated by a dot |
| WITH | WITH (name = value, ...) | Named arguments in parentheses |
| RETURN AS | RETURN AS {varname} | Capture the result in a variable |
Complete Example
This Action monitors a temperature sensor and uses an MCP tool to send a Slack message when the temperature exceeds a threshold:Syntax Variations
No Arguments
No Arguments
Some tools don’t require arguments:
Multiple Arguments
Multiple Arguments
Pass multiple named parameters:
String Concatenation
String Concatenation
Build dynamic values using expressions:
Tool Discovery
When an MCP route connects to a server, Coreflux automatically discovers all available tools and publishes them to MQTT system topics. This allows you to dynamically query what tools are available.System Topics
| Topic | Description |
|---|---|
$SYS/Coreflux/Routes/{RouteName}/Tools | Summary of all tools for a route |
$SYS/Coreflux/Routes/{RouteName}/Tools/{ToolName} | Detailed info for a specific tool |
Tools Summary Payload
Subscribe to the summary topic to see all available tools:Individual Tool Payload
Each tool publishes detailed metadata including parameters and usage examples:Subscribing to Tool Discovery
Use MQTT Explorer or any MQTT client to discover available tools:| What to Find | Topic Pattern |
|---|---|
| All tools for a specific route | $SYS/Coreflux/Routes/MCPSlack/Tools |
| Details for a specific tool | $SYS/Coreflux/Routes/MCPSlack/Tools/send-message |
| All tools across all MCP routes | $SYS/Coreflux/Routes/+/Tools/# |
Tool discovery topics are retained messages, so the information is immediately available when you subscribe—you don’t need to wait for the next update.
Use Cases
AI-Assisted Monitoring
AI-Assisted Monitoring
Enable AI assistants to query MQTT topics and provide intelligent insights about your IoT data. The AI can analyze patterns, detect anomalies, and summarize system status in natural language.
Natural Language Control
Natural Language Control
Allow operators to control devices through natural language commands processed by AI. Instead of writing LoT code, operators can say “turn off pump 3” and the AI translates it to the appropriate MQTT publish.
Automated Responses
Automated Responses
Let AI systems analyze data patterns and trigger automated actions through LoT. The AI can make intelligent decisions based on historical data and current conditions.
Documentation Access
Documentation Access
Provide AI with access to system documentation and configuration for intelligent support. The AI can answer questions about your setup and suggest configurations.
Integration Architecture
MCP Routes allow the Coreflux Broker to connect to external MCP servers as a client. This enables LoT Actions to call tools provided by any MCP server—file systems, cloud services, communication platforms, and more.How It Works
- Define MCP Routes - Each route connects to an external MCP server
- Discover Tools - The broker discovers available tools from each server
- Call from Actions - Use
CALL MCPin LoT Actions to invoke any tool - Reusable Connections - Multiple actions can share the same MCP route
Best Practices
Security Considerations
Security Considerations
- Limit MCP access to specific topics and actions
- Use authentication for MCP server connections
- Monitor AI-initiated actions through logging
- Implement rate limiting for AI requests
Resource Management
Resource Management
- Configure appropriate timeouts for MCP operations
- Limit concurrent AI sessions if needed
- Monitor memory usage of MCP server processes
Error Handling
Error Handling
- Implement graceful fallbacks when AI is unavailable
- Log MCP communication errors for debugging
- Set up alerts for repeated failures
Troubleshooting
MCP Server Won't Start
MCP Server Won't Start
- Verify SERVER_COMMAND path is correct
- Check SERVER_ARGUMENTS syntax (comma-separated)
- Ensure required packages are installed (npx, node, python)
- Check system PATH includes required executables
Connection Timeout
Connection Timeout
- Verify MCP server is running and responsive
- Check network/firewall settings
- Increase timeout values if server startup is slow
- Check server logs for errors
Tool Execution Fails
Tool Execution Fails
- Verify the requested tool is available
- Check permissions for the operation
- Review server logs for detailed error messages
- Ensure broker has required access rights

