Skip to main content
Glama
ProductionMasterAI

production-master-mcp

Official

The standard MCP server for the Production Master hosted incident-investigation service — connect any MCP client and drive investigations as tool calls.

production-master-mcp speaks the Model Context Protocol. It exposes the Production Master tool set to any MCP-capable client — Claude Code, Cursor, Codex, OpenCode, or anything else that speaks MCP — and relays each tool call to the hosted service. The intelligence runs on the service; this server is the protocol front door in front of it.

Authentication is pass-through: the client supplies an Authorization: Bearer <token> header, the server forwards it opaquely to the hosted service, and it stores no credentials of its own. Tool input/output schemas come from the shared npm package @production-master/mcp-tool-contract (published on npm), so every client sees the same, versioned tool surface.

Features

  • Standard MCP, any client — one server, reachable from Claude Code, Cursor, Codex, OpenCode, or any MCP-capable client. No per-editor fork.

  • Two transports — Streamable HTTP (POST /mcp) for hosted/remote use, and stdio for running locally next to your client.

  • Pass-through auth — the caller's bearer token is forwarded opaquely upstream and never stored, logged, or persisted by the server.

  • Contract-driven tools — tool schemas are published in @production-master/mcp-tool-contract, keeping the tool surface stable and versioned across clients.

Related MCP server: mcp-incident-copilot

Prerequisites

  • Node.js 22 (see .nvmrc once packages land)

  • Access to the Production Master hosted service — the server forwards your bearer token to it; you supply that token from your MCP client.

  • An MCP-capable client: Claude Code, Cursor, Codex, OpenCode, or any client speaking MCP.

Quick Start

Status: @production-master/mcp is published on npm, so npx -y @production-master/mcp runs the stdio server. For HTTP, run the server yourself with --http, or deploy it (Deploy on Cloud Run), and use that address as <server-url> below. A public hosted endpoint is not announced yet. Validation in each editor is still pending. See Quick Start and CHANGELOG.

Every client connects the same two ways, matching the two transports: point it at the server's HTTP endpoint (<server-url>/mcp) with an Authorization: Bearer <token> header, or run the server locally over stdio (npx -y @production-master/mcp).

Claude Code

# HTTP
claude mcp add --transport http production-master <server-url>/mcp \
  --header "Authorization: Bearer <your-token>"

# or stdio (local)
claude mcp add production-master -- npx -y @production-master/mcp

Cursor

Register the server in .cursor/mcp.json:

{
  "mcpServers": {
    "production-master": {
      "url": "<server-url>/mcp",
      "headers": { "Authorization": "Bearer <your-token>" }
    }
  }
}

Codex

Register the server in .codex/config.toml (stdio):

[mcp_servers.production-master]
command = "npx"
args = ["-y", "@production-master/mcp"]

OpenCode / other MCP clients

Any MCP-capable client works: give it the <server-url>/mcp HTTP endpoint plus the bearer header, or a stdio server entry launching npx -y @production-master/mcp. Full walkthrough: docs/user/quick-start.md.

Self-host the HTTP endpoint

The container image ghcr.io/productionmasterai/production-master-mcp serves POST /mcp and GET /health and listens on $PORT. To run it on Google Cloud Run, see Deploy on Cloud Run and the example manifest in deploy/cloud-run/service.yaml.

Architecture

The server is a thin protocol boundary: it terminates MCP, forwards tool calls to the hosted service, and streams results back. It holds no investigation logic and no stored credentials.

flowchart LR
    subgraph Client["MCP client"]
        A["Claude Code / Cursor /<br/>Codex / OpenCode / any MCP client"]
    end
    M["production-master-mcp<br/>POST /mcp or stdio"]
    S["Production Master<br/>hosted service"]

    A -- "MCP requests + Bearer token" --> M
    M -- "tool calls, Bearer forwarded opaquely" --> S
    S -- "results" --> M
    M -- "MCP responses" --> A

Three concerns live here: transport (Streamable HTTP POST /mcp and stdio), auth pass-through (forward the caller's bearer token upstream, store nothing), and tool routing (validate against the schemas from @production-master/mcp-tool-contract and relay to the service).

Documentation

Doc

Purpose

Quick Start

Connect an MCP client over HTTP or stdio

Usage

Common workflows — connect from each client, bearer pass-through

Commands

Endpoint, transports, and config reference

Troubleshooting

Auth (401), connectivity, Node version, transport mismatch

Deploy on Cloud Run

Run your own HTTP endpoint on Google Cloud Run from the published image

Contributing

How to contribute

Changelog

Release history

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for investigating cloud incidents and managing approvals. Provides read-only tools to list incidents, investigate incidents, and list approvals, keeping remediation behind human approval.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides guarded, audited, read-only access to ops tooling (alerts, metrics, logs, deploys, runbooks) and a triage agent that diagnoses incidents end-to-end with CI-verified root cause analysis.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for regulated enterprises, providing per-tool RBAC, redacted audit logging, and structured error handling. Exposes bank tools for customer lookup, statement search, and dispute resolution over stdio and HTTPS transports.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Python-based MCP server for full-cycle incident management, enabling detection, root-cause analysis, and response guidance through tools like detect_incidents, analyze_incident, and suggest_response.
    -