emqx_mcp_gateway

by emqx

303 downloads Not rated yet

About

The emqxmcpgateway is an EMQX plugin that acts as a gateway, enabling MCP clients using the MCP over MQTT protocol to interact with MCP servers using other protocols (HTTP, STDIO, or gRPC).

Explore

- Bridges MCP/MQTT clients to MCP servers via HTTP, STDIO, or gRPC.
- Configurable server name mapping using CSV conditions with Variform Expressions.
- Server name filters to restrict client access to allowed MCP servers.
- Role‑Based Access Control (RBAC) for MCP tools and resources.
- Automatic ACL enforcement derived from server names and filters.
- Supports variable substitution in server names from MCP metadata.

The MCP gateway supports configuring broker suggested server names for MCP servers, this it to avoid server name conflicts and maintain a consistent naming convention across different MCP servers.

To configure the server names for MCP servers, prepare an mcp_server_name.csv file with the following content:


Similarly, we the MCP gateway can also configure server name filters for MCP clients, which allows the broker to guide the MCP clients to only connect to specific MCP servers that they are allowed to access.

To configure the server name filters for MCP clients, prepare an mcp_server_name_filter.csv file with the following content:

csv

Build and install the plugin according to the docs.

The MCP Gateway is an EMQX plugin that enables MCP clients using the MCP over MQTT protocol to interact with MCP servers using other protocols.

                                                               ┌────────────────┐         
                                                   ┌─MCP/HTTP──┼ MCP HTTP Server│         
                                                   │           └────────────────┘         
                                                   │                                      
                                                   │                                      
                               ┌───────────────┐   │                                      
     ┌──────────┐              │               │   │           ┌─────────────────┐        
     │MCP Client┼──MCP/MQTT────┼    Gateway    ┼───┼─MCP/STDIO─┼ MCP STDIO Server│        
     └──────────┘              │               │   │           └─────────────────┘        
                               └───────────────┘   │                                      
                                                   │                                      
                                                   │                                      
                                                   │           ┌──────────────────┐       
                                                   └─CALL/gRPC─┼ MCP Server Plugin│       
                                                               └──────────────────┘       

Configure MCP server names and server name filters

Configure the Server Name for MCP/MQTT Servers

The MCP gateway supports configuring broker suggested server names for MCP servers, this it to avoid server name conflicts and maintain a consistent naming convention across different MCP servers.

To configure the server names for MCP servers, prepare an mcp_server_name.csv file with the following content:

```csv

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.