MCP Tools - Middleware MCP Server
The Middleware MCP Server exposes 22 tools, grouped by product area. Your assistant calls these tools to read and manage your Middleware data.
Each tool is marked Read or Write:
- Read tools (
list_*,get_*, andquery) never change your data. - Write tools create, update, or delete resources.
To connect a client and start using these tools, see Setup.
Dashboards#
Manage the full dashboard lifecycle, including cloning and favorites.
| Tool | Access | Description |
|---|---|---|
list_dashboards | Read | List dashboards and reports, with filtering and pagination. Use it to discover what exists before reading or editing. |
get_dashboard | Read | Get a single dashboard by its key, including its layout and widgets. |
create_dashboard | Write | Create a new dashboard. |
update_dashboard | Write | Update an existing dashboard's properties. |
delete_dashboard | Write | Delete a dashboard. |
clone_dashboard | Write | Duplicate an existing dashboard into a new one. |
set_dashboard_favorite | Write | Mark a dashboard as a favorite, or remove it from favorites. |
Widgets#
Build and adjust the widgets on a dashboard, and pull their data.
| Tool | Access | Description |
|---|---|---|
list_widgets | Read | List the widgets on a report or display scope. |
get_widget_data | Read | Fetch the data for a single widget. |
create_widget | Write | Add a new widget. |
update_widget | Write | Update an existing widget's configuration. |
delete_widget | Write | Remove a widget. |
update_widget_layouts | Write | Update the position and size of widgets on a dashboard. |
Querying telemetry#
These three tools are generic. Together they cover every telemetry type in Middleware — logs, metrics, traces and spans, and events — so there is no separate tool to learn per signal. You discover what is available, then query it.
| Tool | Access | Description |
|---|---|---|
get_resources | Read | List the resource types available to query, such as hosts, services, containers, or pods. Start here when you do not yet know how the data in a project is organized. |
get_metrics | Read | List the available metrics, along with the filters and group-by tags each one supports. Use it to find the exact metric name and the dimensions you can slice it by. |
query | Read | Run a query against any telemetry type over a time range. This is the single entry point for logs, metrics, traces, spans, and events. |
How they fit together#
- Discover the scope —
get_resourcestells you which resource types exist in the selected project. - Discover the fields —
get_metricsreturns the metric names, along with the filters and group-by tags that are valid for each. - Fetch the data —
queryruns the actual request, with your filters, grouping, and time range, and returns the results.
Your assistant chains these on its own. When you ask something like "what is the p99 latency for the checkout service over the last 6 hours?", it calls get_metrics to resolve the metric and its tags, then calls query with the right filters and time range.
Because query handles every signal, there are no dedicated log, trace, or metric tools. Anything you can query in the Middleware UI can be requested through query — including log searches, trace and span lookups, and metric aggregations.
Error tracking#
Triage errors and incidents.
| Tool | Access | Description |
|---|---|---|
list_errors | Read | List errors and incidents with filtering and pagination. Each entry includes a clickable issue_url you can open in Middleware. |
get_error_details | Read | Get detailed information about a specific error or incident, looked up by its fingerprint. |
RUM#
Inspect Real User Monitoring applications, sessions, and frontend errors.
| Tool | Access | Description |
|---|---|---|
list_rum_applications | Read | List your RUM applications with session counts, error rate, and p75 load time, along with deep links. |
list_rum_sessions | Read | List the sessions for a single RUM application, with session-replay deep links. |
get_rum_session | Read | Get one RUM session in full: metadata, events, errors, network activity, and a deep link. |
list_rum_errors | Read | List recent frontend errors with page and user-action context, and deep links to the sessions. |
Restricting the available tools#
You can expose a narrower set of tools on a connection by adding the exclude_tools query parameter to the endpoint URL. Listed tools are hidden from the client and cannot be called:
1https://mcp.middleware.io/mcp?exclude_tools=create_dashboard,update_dashboard,delete_dashboard,clone_dashboard,set_dashboard_favorite,create_widget,update_widget,delete_widget,update_widget_layoutsThe example above removes every write tool, leaving a read-only connection. See Setup for details.
Need assistance or want to learn more about Middleware? Get in touch with us via our Contact Us or join our Slack channel.