← Files MiddlewareARCHIVED FILE
plugin.json
6.08 KB · Nov 13, 2026 · 18:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "middleware",
"version": "0.1.2",
"description": "Query Middleware observability data from ChatGPT and Codex: metrics, logs, traces, errors, RUM sessions, synthetic checks, and dashboards.",
"author": {
"name": "Middleware",
"url": "https://middleware.io"
},
"homepage": "https://docs.middleware.io/opsai/mcp-server/overview",
"keywords": [
"middleware",
"observability",
"apm",
"monitoring",
"logs",
"metrics",
"traces",
"rum",
"synthetics"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Middleware",
"shortDescription": "Query your observability data",
"longDescription": "Connect ChatGPT and Codex to your Middleware observability data through the hosted Middleware MCP server.\n\nCapabilities:\n- Query telemetry: discover monitored resources and metrics, then query metrics, logs, traces and spans, and events over any time range.\n- Error tracking: list error incidents and read their details, including stack traces and affected services.\n- Real User Monitoring: list RUM applications, sessions, and frontend errors, with links to session replays.\n- Synthetic monitoring: check uptime, results, and per-phase timing of API and browser checks, and create, update, or delete checks.\n- Dashboards and widgets: list, read, create, edit, clone, and delete dashboards and their widgets.\n\nCommon use cases:\n- Investigate a production incident by correlating errors, traces, and logs.\n- Check the health and latency of a service before or after a deployment.\n- Find out which synthetic checks are failing and why.\n- Build or update a dashboard in plain language.\n\nAuthentication uses OAuth. You sign in with your Middleware account and choose the project to connect; every request is limited to that project and to your account's permissions.",
"developerName": "Middleware",
"category": "Developer Tools",
"capabilities": [
"Read",
"Write"
],
"websiteURL": "https://middleware.io",
"supportURL": "https://middleware.io/contact-us/",
"privacyPolicyURL": "https://middleware.io/privacy-policy/",
"termsOfServiceURL": "https://middleware.io/terms-and-conditions/",
"defaultPrompt": [
"Use Middleware to show error incidents from the last hour.",
"Use Middleware to check the latency of my checkout service today.",
"Use Middleware to tell me which synthetic checks are failing."
],
"brandColor": "#5B5FC7",
"composerIcon": "./assets/logo.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "List dashboards in the connected project.",
"prompt": "Use Middleware to list my dashboards.",
"tools_triggered": "list_dashboards",
"expected_behavior": "Calls list_dashboards and returns the dashboards in the connected Middleware project with their names. Makes no changes."
},
{
"description": "Investigate recent application errors.",
"prompt": "Use Middleware to show error incidents from the last 24 hours and explain the most frequent one.",
"tools_triggered": "list_errors, get_error_details",
"expected_behavior": "Lists error incidents from the last 24 hours, then fetches the details of the most frequent one (message, stack trace, affected service) and summarizes it. Makes no changes."
},
{
"description": "Query infrastructure metrics.",
"prompt": "Use Middleware to show the average CPU usage per host over the last hour.",
"tools_triggered": "get_resources, get_metrics, query",
"expected_behavior": "Discovers the host resource and a CPU metric, runs a query over the last hour grouped by host, and reports the average CPU usage for each host. Makes no changes."
},
{
"description": "Check synthetic monitoring status.",
"prompt": "Use Middleware to tell me whether any of my synthetic checks are failing and show their uptime for the last 7 days.",
"tools_triggered": "list_synthetic_checks, get_synthetic_uptime",
"expected_behavior": "Lists the configured synthetic checks with their status, fetches their uptime for the last 7 days, and calls out any check with failures. Makes no changes."
},
{
"description": "Create a dashboard (write action).",
"prompt": "Use Middleware to create a new dashboard called \"ChatGPT review\".",
"tools_triggered": "create_dashboard",
"expected_behavior": "Creates one empty dashboard named \"ChatGPT review\" in the connected project and returns a link to it. Creates nothing else and deletes nothing."
}
],
"negative": [
{
"description": "Unrelated request. The plugin covers observability data only, so no Middleware tool should be called; the assistant answers normally without the plugin.",
"prompt": "What's the weather in Paris tomorrow?"
},
{
"description": "Out-of-scope action. No Middleware tool can restart or change infrastructure, so the assistant must not call any write tool as a substitute; it should say the plugin can't do this and offer to look at the service's errors or metrics instead.",
"prompt": "Use Middleware to restart my production database."
},
{
"description": "Bulk destructive request. Deleting dashboards is irreversible, so the assistant must not call delete_dashboard until the user has confirmed exactly which dashboards to delete.",
"prompt": "Use Middleware to delete all of my dashboards."
}
]
},
"demo_recording_url": "https://REPLACE-WITH-DEMO-VIDEO-URL"
},
"apps": "./.app.json"
}
}
}
SHA-256: e798a505d121e505915752d2616b7028ccf01d76baab4388aa6ac88890806b06