Overview - Middleware MCP Server

Middleware MCP Server is a Model Context Protocol (MCP) server that enables AI assistants (for example, Claude) to interact with Middleware's observability platform across monitoring, dashboards, widgets, metrics, alerts and error listing.

In MCP terms, this server exposes a set of tools that a model can call to perform actions against external systems. In MCP, a tool is uniquely identified by a name and includes metadata that describes its input schema, so calls stay structured and predictable.

When an MCP client invokes one of these tools, the server:

  • Handles tool invocations
  • Maps tool calls to the Middleware API
  • Returns a structured response back to the client

This gives you a clean "tool boundary" between the assistant and Middleware, instead of relying on UI steps or unstructured requests.

How tool calls work in practice

From a user perspective, you ask your MCP client to do something like "list dashboards" or "fetch widget data".

From a technical perspective, the important part is that each request becomes a typed tool invocation. The server routes that invocation to the corresponding tool handler, then translates it into Middleware API calls and returns the results back to the MCP client.

This keeps the integration:

  • Structured (tool name + schema-driven input)
  • Composable (tools can be chained for multi-step workflows)
  • Easier to debug (clear separation between tool call and API response)

Available tools

Middleware MCP Server provides 21 tools, grouped by product area so it is clear what an assistant can access and modify.

Dashboard management (7 tools)

Use these tools to manage the full dashboard lifecycle, including cloning and favourites.

ToolDescription
list_dashboardsList all dashboards with filtering and pagination
get_dashboardGet a specific dashboard by key
create_dashboardCreate a new dashboard
update_dashboardUpdate an existing dashboard
delete_dashboardDelete a dashboard
clone_dashboardClone an existing dashboard
set_dashboard_favoriteMark dashboard as favorite or unfavorite

Widget management

Widget tools cover CRUD operations plus data retrieval and layout updates. This is useful when you want an assistant to build or adjust dashboards programmatically, then validate the outcome by pulling widget data.

ToolDescription
list_widgetsList widgets for a report or display scope
create_widgetCreate or update a widget
delete_widgetDelete a widget
get_widget_dataGet data for a specific widget
get_multi_widget_dataGet data for multiple widgets at once
update_widget_layoutsUpdate widget layout positions

Metrics and resources

This set is designed for discovery plus querying. Typically, you first identify what is available (metrics, resources), then run a query.

ToolDescription
get_metricsGet metrics, filters, or groupby tags
get_resourcesGet available resources for queries
queryExecute flexible queries to retrieve logs, metrics, traces, and other data

Alerts

These tools help an assistant explore and create alerting configuration, plus inspect alert performance using stats.

ToolDescription
list_alertsList alerts for a specific rule
create_alertCreate a new alert
get_alert_statsGet alert statistics

Error and incident management

Use these tools for incident triage workflows. The list endpoint includes a clickable issue_url, then you can drill into a specific issue using a fingerprint.

ToolDescription
list_errorsList all errors and incidents with filtering and pagination (includes clickable issue_url for each incident)
get_error_detailsGet detailed information about a specific error or incident by fingerprint

Transport modes

The server supports three transport modes, depending on how your MCP client connects:

  • stdio (default): standard input/output transport for command-line style usage
  • http: streamable HTTP transport for web-based clients
  • sse: Server-Sent Events transport for real-time streaming

Safer deployments with tool exclusion

If you want a more controlled deployment (for example, read-only or non-destructive), you can exclude tools using EXCLUDED_TOOLS. This is explicitly called out as useful for creating read-only instances or restricting destructive operations.

Example:

EXCLUDED_TOOLS=delete_dashboard,delete_widget,create_alert

Need assistance or want to learn more about Middleware? Contact our support team at [email protected] or join our Slack channel.