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 (publication pending), so every client sees the same, versioned tool surface.
- 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.
- Node.js 22 (see
.nvmrconce 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.
Status: the server packages under
packages/are being populated via PRs. The connection patterns below describe how a client registers an MCP server over each transport; the concrete package name and endpoint land with those PRs. See 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).
# 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
Register the server in .cursor/mcp.json:
Register the server in .codex/config.toml (stdio):
[mcp_servers.production-master]
command = "npx"
args = ["-y", "@production-master/mcp"]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.
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). See docs/engineering/architecture/overview.md.
| 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 |
| Architecture | Components and data flow |
| ADR-001 | Standard MCP server over the hosted service |
| Contributing | How to contribute |
| Changelog | Release history |
MIT — see LICENSE.
{ "mcpServers": { "production-master": { "url": "<server-url>/mcp", "headers": { "Authorization": "Bearer <your-token>" } } } }