🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

inspectrum

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inspectrum - npm Package Compare versions

Comparing version
0.2.1
to
0.2.2
+74
docs/codex-plugin-claude-plan-review.md
# Codex plugin: review a plan with Claude
This repository contains a Codex plugin named `inspectrum`. It adds one
workflow: send the current Codex development plan to Claude through
Inspectrum's existing `review_plan` MCP tool.
The plugin does not add a tool or change the server architecture. Its bundled
MCP configuration starts the candidate package with:
```text
npx -y inspectrum@0.2.2
```
The package selector must match `package.json`; the contract test fails if the
two versions drift.
## Public installation
The public installation smoke test is currently **blocked**. npm and the public
GitHub release still expose `0.2.1`, while this plugin belongs to the `0.2.2`
candidate. Do not install the older public package as a silent fallback.
After `0.2.2` is published to npm and this marketplace is merged into `main`,
verify the exact package first:
```bash
npm view inspectrum@0.2.2 version
npx -y inspectrum@0.2.2 doctor
```
Both commands must resolve `0.2.2`. Then install the repository marketplace
and plugin:
```bash
codex plugin marketplace add yannmenec/inspectrum --ref main
codex plugin add inspectrum@inspectrum
```
Restart Codex and use a new task so the skill and MCP server are loaded. Ask:
```text
Review this plan with Claude using Inspectrum.
```
## Validation before publication
Before the npm package exists, validate the local candidate rather than
claiming a public end-to-end success:
```bash
npm ci
npm run build
npx tsc --noEmit
npx eslint src/
npm run test:coverage
npm test -- tests/contract/codex-plugin.contract.test.ts
```
The repository build and tests run the local `0.2.2` source. The targeted
contract validates the Codex manifest, marketplace entry, pinned MCP package,
reviewer direction, and failure semantics. The committed plugin launcher
itself cannot complete its public npm smoke test until `inspectrum@0.2.2` is
published.
## Failure and privacy
The skill always calls `review_plan` with `reviewers: ["claude"]` and
`judge: false`. If Claude is missing, unauthenticated, or fails, the MCP result
is an error with no successful structured review. The skill reports that the
Claude review did not complete; it must not turn that failure into an approval.
The full plan is sent to Claude. Successful reviews are stored as plaintext
under `~/.inspectrum/sessions/`. Remove secrets from the plan before requesting
a review.
# Inspectrum 0.2.2 submission kit
Status: candidate only, prepared on 2026-07-30. **Do not submit** to any
external channel until every hard gate below is checked.
Technical identifiers stay lowercase where registries require them:
`inspectrum` for npm and Claude namespacing, and
`io.github.yannmenec/inspectrum` for the MCP Registry. The public product name
is exactly **Inspectrum**.
## Reusable listing copy
**Name:** Inspectrum
**Short description:** Review coding-agent plans on demand with peer models,
attributed findings, and a structured verdict.
**Long description:**
Inspectrum adds a second model's review before a coding plan reaches execution.
Its Claude Code plugin can run a bounded Codex review when plan mode exits; its
local MCP server exposes `review_plan` to hosts that support local
standard-input/output MCP. Findings retain reviewer attribution and the user
keeps final approval.
Inspectrum runs locally, has no first-party telemetry, and stores successful
session evidence as plain Markdown under `~/.inspectrum/sessions/`. Plans and
optional context are sent to the reviewer command-line tools or endpoints the
user configures. Operational failures in the Claude plan gate pass the plan
through with a visible warning.
For occasional review, a skill or manual handoff can be enough. Inspectrum
packages the repeatable path: orchestration, output validation, health checks,
bounded failure behavior, and a local session record.
**Claude Community:** `A repeatable second-model checkpoint for Claude Code
plans: automatic at the plan boundary, bounded, fail-open, evidence-backed, and
always leaves final approval to you.`
**MCP directories:** `Turn ad-hoc second opinions into a repeatable plan-review
checkpoint. One local MCP tool returns attributed findings and one structured
verdict on demand.`
**Primary category:** Developer Tools
**Secondary categories:** Code Analysis; Coding Agents; Testing and Quality
**Keywords:** plan review, Claude Code, Codex, MCP, coding agent, multi-model,
human approval
**Install:**
```bash
npx -y inspectrum@0.2.2 doctor
```
**Public URLs after release:**
- Source: https://github.com/yannmenec/inspectrum
- Package: https://www.npmjs.com/package/inspectrum/v/0.2.2
- Release: https://github.com/yannmenec/inspectrum/releases/tag/v0.2.2
- Documentation: https://github.com/yannmenec/inspectrum#readme
- Privacy: https://github.com/yannmenec/inspectrum/blob/main/PRIVACY.md
- Terms/license: https://github.com/yannmenec/inspectrum/blob/main/LICENSE
- Security: https://github.com/yannmenec/inspectrum/security/policy
- Support: https://github.com/yannmenec/inspectrum/issues
- Icon: https://raw.githubusercontent.com/yannmenec/inspectrum/main/assets/brand/inspectrum-icon.png
- Preview: https://raw.githubusercontent.com/yannmenec/inspectrum/main/assets/brand/social-preview.png
## Captures and visual assets
The OpenAI Plugin Directory requires a production-ready logo. The other
channels may expose optional media fields; none of the reviewed submission
guides requires a screenshot.
| Asset | Status | Use |
|---|---|---|
| `assets/brand/inspectrum-icon.png` (512x512) | Ready | Required for the OpenAI Plugin Directory; optional elsewhere |
| `assets/brand/social-preview.png` (1280x640) | Ready | Optional wide preview |
| `assets/brand/terminal-doctor.png` (1280x720) | Blocked | Real 0.2.1 evidence; never present it as 0.2.2 |
Replace the terminal capture only after installing public `inspectrum@0.2.2` in
an empty temporary environment and obtaining a green release-candidate
validation. Preserve the transcript; update hashes and provenance in
`assets/brand/README.md`; exclude credentials, real home paths, tokens, and
private plan content.
## Hard gates before any external submission
- [ ] The release-candidate report explicitly marks its required build, type,
lint, test, coverage, package, bundle, and real-review proofs green.
Record its commit and evidence URL in the release record.
- [ ] `inspectrum@0.2.2` is publicly retrievable from npm.
- [ ] GitHub release `v0.2.2` is public, not a draft or prerelease, and contains
`inspectrum-0.2.2.mcpb`.
- [ ] `main` publicly contains the 0.2.2 `package.json`, `server.json`, Claude
plugin manifests, Codex Git marketplace, privacy notice, documentation,
and optional brand assets.
- [ ] `npm audit --omit=dev` has no high-severity production finding for the
exact lockfile used to build the Claude Desktop bundle.
- [ ] `npm run check:submission -- --public` exits successfully.
- [ ] A fresh public install returns `0.2.2`, exposes exactly `review_plan`, and
passes `doctor` without leaking secrets.
The local-only check is safe before release:
```bash
npm run check:submission
claude plugin validate . --strict
mcp-publisher validate server.json
```
Use the official `validate` subcommand for this local check. Do not authenticate
or invoke `publish` until every hard gate below passes.
## Channel 1 — MCP Registry
The registry requires a valid `server.json`, a public install artifact, matching
`package.json.mcpName` and `server.json.name`, aligned versions, and namespace
authentication. Prepared values are `io.github.yannmenec/inspectrum`,
`Inspectrum`, `inspectrum@0.2.2`, `stdio`, authenticated by GitHub owner
`yannmenec`. Local standard-input/output servers are supported; no HTTPS server
is needed. The registry remains in preview.
After all hard gates pass, an authorized operator may run:
```bash
mcp-publisher login github
mcp-publisher validate server.json
mcp-publisher publish server.json
npm run check:submission -- --registry
```
- https://modelcontextprotocol.io/registry/about
- https://modelcontextprotocol.io/registry/quickstart
- https://registry.modelcontextprotocol.io/docs
- https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
## Channel 2 — Codex Git marketplace
The repository already contains a Codex marketplace entry under
`.agents/plugins/` and a validated plugin under `plugins/inspectrum/`. This makes
Inspectrum directly installable from its GitHub repository after 0.2.2 is public;
it does not by itself create a listing in OpenAI's curated Plugin Directory.
After all hard gates pass:
```bash
codex plugin marketplace add yannmenec/inspectrum --ref main
codex plugin add inspectrum@inspectrum
codex plugin list
```
Start a new Codex task, ask `Review this plan with Claude using Inspectrum`, and
verify that the review is successful and attributed to Claude, returns a
structured verdict, and includes a local session path.
- https://help.openai.com/en/articles/20001256-plugins-in-codex
## Channel 3 — OpenAI Plugin Directory
OpenAI's public portal accepts skills-only, MCP-only, and combined submissions.
Inspectrum's complete Git plugin cannot currently use **With MCP** because that
route requires a public production MCP URL, while Inspectrum intentionally uses
local standard input/output. Changing that transport requires a separate
architecture decision.
The viable central-directory route is **Skills only**, after creating and
testing a standalone skill bundle that does not silently depend on the Git
plugin's bundled local MCP configuration. This is a follow-up deliverable, not a
claim that the current package is submission-ready.
Before submission:
1. Give the submitter `Apps Management: Write` and verify the individual or
business publisher identity on the OpenAI Platform.
2. Prepare the standalone skill bundle, starter prompts, five positive tests,
and three negative tests.
3. Reuse the Inspectrum name, icon, descriptions, website, support, privacy,
and license URLs above.
4. Choose **Skills only**, complete the policy attestations, submit for review,
and publish only after approval.
- https://developers.openai.com/plugins/deploy/submission
- https://platform.openai.com/plugins
## Channel 4 — Claude Community
The target is `claude-community`; `claude-plugins-official` is curated separately
without an application process. Community submissions run
`claude plugin validate` and automated safety screening, then pin approved
plugins to a commit hash.
Prepared form copy:
- Display name: `Inspectrum`
- Technical plugin name: `inspectrum`
- Source repository: https://github.com/yannmenec/inspectrum
- Plugin path: repository root
- Description: `A repeatable second-model checkpoint for Claude Code plans:
automatic at the plan boundary, bounded, fail-open, evidence-backed, and
always leaves final approval to you.`
- Privacy summary: `No first-party telemetry. Plans are sent to user-configured
reviewer tools or endpoints and successful sessions are stored locally as
plaintext Markdown.`
Rerun `claude plugin validate . --strict`, then use the individual-author form:
https://platform.claude.com/plugins/submit. The Claude.ai form requires a Team or
Enterprise organization plus directory-management access:
https://claude.ai/admin-settings/directory/submissions/plugins/new.
- https://code.claude.com/docs/en/plugins
- https://code.claude.com/docs/en/plugins-reference
- https://code.claude.com/docs/en/plugin-marketplaces
- https://github.com/anthropics/claude-plugins-community
## Channel 5 — Glama
Glama verifies GitHub write or administrator access, then builds, runs, and
introspects the server in a sandbox; a failed reproducible build is not
discoverable. It also ingests the official MCP Registry.
1. Publish to the MCP Registry.
2. Search https://glama.ai/mcp/servers for `Inspectrum` and
`io.github.yannmenec/inspectrum`.
3. If no listing appears, use **Add Server** with
https://github.com/yannmenec/inspectrum while signed in as a repository
maintainer. Do not opt into Glama hosting or create an HTTPS endpoint.
4. If a summary field is available, use the **MCP directories** copy above.
5. Verify the listing reports one tool, `review_plan`, and the intended local
standard-input/output install command.
- https://glama.ai/
- https://glama.ai/mcp/servers
- https://glama.ai/mcp/methodology
## Channel 6 — PulseMCP
The server flow at https://www.pulsemcp.com/submit directs maintainers to the
official registry. PulseMCP says it ingests daily, processes weekly, and accepts
email corrections at `hello@pulsemcp.com` after one week.
1. Publish to the MCP Registry.
2. Wait up to one week, then search https://www.pulsemcp.com/servers for
`Inspectrum` and the registry name.
3. If still missing or incorrect, email the source URL, registry name, expected
title, **MCP directories** copy above, and affected field. Exclude
credentials and private evidence.
- https://www.pulsemcp.com/submit
- https://www.pulsemcp.com/servers
- https://www.pulsemcp.com/api
## Evidence to retain after submission
- MCP Registry: publisher output and the exact API result for version 0.2.2.
- Codex Git marketplace: configured source, installed plugin version, successful
Claude review, and sanitized session identifier.
- OpenAI Plugin Directory: submitted skill-bundle hash, test-case set, review
status, approval, publication date, and public listing URL.
- Claude Community: submission receipt, reviewed commit hash, catalog URL, and
a clean install from `@claude-community`.
- Glama: public listing URL, scan time, reproduced tool count, and any findings.
- PulseMCP: public listing URL and first-seen date; email only if still missing
after the stated week.
Never record authentication codes, cookies, access tokens, private reviewer
outputs, or unsanitized local paths.
# Privacy and data flow
Inspectrum runs locally. It has no hosted Inspectrum service and no first-party telemetry. It does, however, send plan content to the reviewer CLIs or HTTP endpoints you configure and writes plaintext evidence to your filesystem.
This document describes Inspectrum `0.2.2`. Provider and CLI behavior can change independently.
## Data you provide
The `review_plan` tool accepts:
- the full plan, up to 16,000 characters;
- optional codebase context, up to 8,000 characters;
- reviewer IDs, focus and judge settings.
Do not include passwords, tokens, private keys, personal data or other secrets. Truncation limits reduce size; they do not redact content.
## Where the data goes
Every active reviewer receives the plan and optional context in its prompt. If at least two reviewers succeed and `judge=true`, the configured judge receives the plan plus those reviewer outputs.
| Adapter | Destination and control boundary |
|---|---|
| Codex CLI | The locally installed Codex CLI and the OpenAI account or API configuration behind it. See [OpenAI's privacy policy](https://openai.com/policies/privacy-policy/). |
| Claude CLI | The locally installed Claude CLI and the Anthropic account or API configuration behind it. See [Anthropic's privacy policy](https://www.anthropic.com/legal/privacy). |
| Gemini CLI | The locally installed Gemini CLI and the Google account or API configuration behind it. See [Google's privacy policy](https://policies.google.com/privacy). |
| OpenRouter HTTP | The endpoint and credentials in your Inspectrum configuration. See [OpenRouter's privacy policy](https://openrouter.ai/privacy). |
| Ollama HTTP | The endpoint in your configuration. It is local only when that endpoint and its model are operated locally; Inspectrum does not prove zero egress. |
| Experimental Kimi/Qwen CLI adapters | Routing, retention and credentials depend on the binary and configuration you install. Inspect that software before use; Inspectrum does not assert a fixed provider route. |
Provider terms, training controls, retention, regional processing, quotas and billing are outside Inspectrum's control.
## Local processes and permissions
Reviewer CLIs run as child processes under your user account and inherit the process environment. They can therefore see environment variables made available to them. Their filesystem and network capabilities depend on the CLI, account and local configuration.
For Codex reviews, Inspectrum enforces `codex exec --ephemeral --skip-git-repo-check -s read-only` in a temporary working directory and strips sandbox-weakening, cwd-override and output-path flags supplied through reviewer arguments. This limits project writes by that invocation; it does not make the provider call local or prevent Inspectrum from writing its own evidence.
Claude, Gemini and experimental CLI adapters do not receive the same Codex-specific sandbox enforcement. Review their permissions separately.
## Files written locally
Successful reviews create a directory under:
```text
~/.inspectrum/sessions/<timestamp>__<session-id>/
```
It can contain the original plan, report, structured session metadata, one file per successful reviewer, an optional judge output and an optional revised plan. The MCP response also returns the local session path.
The Claude Code gate stores plan hashes, denial counters and cached denial reasons under `~/.inspectrum/state/`. It does not use those files as product telemetry.
On POSIX systems, Inspectrum creates and repairs session/state directories to mode `0700`, and gate state files are written with mode `0600`. The content is still plaintext, not encrypted. File modes, backups, sync tools, copied files and non-POSIX platforms can change who can read it. Treat `~/.inspectrum/` as sensitive local data.
Inspectrum applies no automatic retention period. Delete individual session directories or the entire local history with your operating system's file manager when you no longer need them. A provider may retain its own copy under its separate policy.
## Network behavior
Inspectrum itself has no analytics or update beacon. Network traffic occurs when a configured cloud reviewer CLI or HTTP adapter performs a review. `doctor` may invoke installed CLI status/version commands but does not send plan content.
## User controls
- Disable the automatic gate with `[plan_gate] enabled = false` in `~/.inspectrum/config.toml` or disable the plugin.
- Choose only reviewers and endpoints whose policies fit the plan's sensitivity.
- Use synthetic or redacted context when full repository context is unnecessary.
- Keep the human approval step; reviewer output can be inaccurate or manipulated by untrusted plan text.
## Support and security
Use [GitHub Issues](https://github.com/yannmenec/inspectrum/issues) for non-sensitive support. Follow the repository [security policy](https://github.com/yannmenec/inspectrum/blob/main/SECURITY.md) for private vulnerability reporting. Never attach credentials or an unredacted private plan.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.yannmenec/inspectrum",
"title": "Inspectrum",
"description": "Review coding-agent plans on demand with peer models, attributed findings, and a structured verdict.",
"repository": {
"url": "https://github.com/yannmenec/inspectrum",
"source": "github",
"id": "1242227459"
},
"version": "0.2.2",
"websiteUrl": "https://github.com/yannmenec/inspectrum/blob/main/docs/claude-code-codex-plan-review.md",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "inspectrum",
"version": "0.2.2",
"transport": {
"type": "stdio"
}
}
]
}
+30
-12

@@ -40,4 +40,5 @@ # Contributing to inspectrum

inspectrum is published to npm as a public unscoped package. The owner
runs the publish steps; CI and `prepack` are the safety nets.
inspectrum is published to npm as a public unscoped package. Release
automation builds reviewable artifacts and stages an npm candidate; a
separate human approval with 2FA is required before public availability.

@@ -54,7 +55,15 @@ ### Pre-release checks (always run)

npm pack --dry-run --json # tarball entry list looks right
npm view inspectrum name version --json # confirm the name is still available
npm run build:mcpb # build the versioned Claude Desktop bundle
npm run verify:mcpb # schema, contents, dependencies, MCP smoke
npm view inspectrum version --json # record the current public version
```
### Tagging + publishing
### Tagging, draft release, and npm staging
Only continue after the exact remote actions have received separate explicit
authorization. The tag push triggers `.github/workflows/release.yml`; it builds
without write credentials, then a small write-scoped job creates or updates a
draft GitHub release with the verified MCPB. It does not make an npm version
public.
```bash

@@ -64,6 +73,16 @@ git checkout main && git pull --ff-only

git tag -a "v$VERSION" -m "v$VERSION"
git push origin main --tags
npm publish --access public
git push origin "v$VERSION"
gh workflow run npm-stage.yml --ref "v$VERSION" -f tag="v$VERSION"
```
The `npm` environment must allow only selected tags matching `v*` and require
maintainer review; the workflow separately rejects anything except stable
`vMAJOR.MINOR.PATCH`. A repository ruleset should independently prevent release
tags from being moved or deleted. npm trusted publishing must match repository
`yannmenec/inspectrum`, workflow `npm-stage.yml`, environment `npm`, and the
stage-only action. The workflow validates and stages the exact tarball; it does
not approve the staged version. Making the staged version public requires a
separate explicit authorization and 2FA review. Never infer that authorization
from a merged PR, pushed tag, draft release, or successful staging run.
### Post-publish smoke (60 s)

@@ -80,9 +99,8 @@

### Why `npm publish --dry-run` is not a safety net
### Why a dry run is not a publication safety net
npm 11's `--dry-run` prints "would publish" output regardless of whether
the real call would have succeeded or failed (and it never makes network
calls). Treat the flag as documentation of what *would* ship, not as a
gate. The actual safety nets are `prepack`, the `files` allowlist, and
manual review of `npm pack --dry-run --json` output before tagging.
npm's dry-run output documents what would ship but does not prove that a
registry mutation would succeed. The safety nets are `prepack`, the `files`
allowlist, exact-tarball smoke tests, protected staging, and human review of the
staged package before a separately authorized 2FA approval.

@@ -89,0 +107,0 @@ ## Pre-commit (lefthook)

@@ -421,3 +421,6 @@ import { spawn } from "node:child_process";

}
return parseRawReview(envelope.data.result, reviewerId, label);
const rawReview = envelope.data.structured_output == null
? envelope.data.result
: JSON.stringify(envelope.data.structured_output);
return parseRawReview(rawReview, reviewerId, label);
}

@@ -424,0 +427,0 @@ function dropNullKeys(value) {

@@ -143,2 +143,3 @@ import { z } from "zod";

result: z.ZodString;
structured_output: z.ZodOptional<z.ZodUnknown>;
}, z.core.$strip>;

@@ -145,0 +146,0 @@ export declare const ClaudePluginListSchema: z.ZodArray<z.ZodObject<{

@@ -66,2 +66,3 @@ import { z } from "zod";

result: z.string(),
structured_output: z.unknown().optional(),
});

@@ -68,0 +69,0 @@ export const ClaudePluginListSchema = z.array(z.looseObject({

@@ -15,7 +15,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

"(approve | revise | reject) with prioritized findings. " +
"Read-only, writes a session log to ~/.inspectrum/sessions/.",
"Runs configured reviewer CLIs and writes a local session log to ~/.inspectrum/sessions/.",
inputSchema: ReviewPlanToolShape,
outputSchema: ReviewPlanToolOutputShape,
annotations: {
readOnlyHint: true,
readOnlyHint: false,
idempotentHint: false,

@@ -22,0 +22,0 @@ destructiveHint: false,

{
"name": "inspectrum",
"version": "0.2.1",
"description": "Universal MCP server for multi-LLM plan review",
"version": "0.2.2",
"description": "Automatic Codex plan review in Claude Code; on-demand in local MCP hosts; human approval stays yours",
"type": "module",

@@ -14,2 +14,5 @@ "bin": {

"README.md",
"PRIVACY.md",
"docs/",
"server.json",
"CONTRIBUTING.md",

@@ -26,2 +29,3 @@ "LICENSE",

"test:e2e": "npm run build && vitest run tests/e2e",
"check:submission": "node scripts/check-submission-readiness.mjs",
"dev": "node --import tsx/esm src/server.ts",

@@ -63,3 +67,3 @@ "prepack": "npm run build && npx tsc --noEmit && npx eslint src/ && npm run test:coverage",

"@iarna/toml": "^2.2.5",
"@modelcontextprotocol/sdk": "^1.29.0",
"@modelcontextprotocol/sdk": "^1.30.0",
"zod": "^4.4.3"

@@ -79,3 +83,8 @@ },

"vitest": "^4.1.5"
},
"overrides": {
"external-editor": {
"tmp": "0.2.7"
}
}
}
<div align="center">
# inspectrum
# Inspectrum

@@ -22,4 +22,12 @@ ### Catch the bad plan before your agent spends the tokens.

**inspectrum wires a rival LLM into your agent's plan mode.** When Claude Code finishes a plan, Codex (GPT) reviews it *before* the approval dialog reaches you. Findings bounce the plan back to Claude for revision — so the plan you finally approve has already survived a second opinion. (And if the reviewer can't run, the plan passes through with a warning, never blocked.)
**Inspectrum wires a rival LLM into your agent's plan mode.** When Claude Code finishes a plan, Codex (GPT) reviews it *before* the approval dialog reaches you. Findings bounce the plan back to Claude for revision — so the plan you finally approve has already survived a second opinion. (And if the reviewer can't run, the plan passes through with a warning, never blocked.)
## When a skill is enough
For an occasional second opinion, a rule can tell one agent to call another and compare the replies. That is a reasonable lightweight option.
Inspectrum is for the repeatable checkpoint. In Claude Code, the plugin runs at the plan-to-execution boundary without relying on a remembered prompt, caps revision loops, and fails open on operational errors. Other local MCP hosts can call the same `review_plan` contract on demand. Both paths keep findings attributed, return a common verdict shape, preserve human control, and write local evidence for successful reviews.
Recreating those guarantees with a skill means maintaining the orchestration, output validation, health checks, failure policy, and session record yourself.
## Quick start

@@ -139,3 +147,3 @@

| **Codex app / CLI** | Claude | `codex mcp add inspectrum -- npx -y inspectrum@latest` + config below |
| **Claude Desktop** (macOS) | Codex (GPT) | Download [`inspectrum-0.2.1.mcpb`](https://github.com/yannmenec/inspectrum/releases/download/v0.2.1/inspectrum-0.2.1.mcpb), open, confirm. The earlier v0.2.0 bundle was incomplete — use the v0.2.1 asset, not npm/stdio. |
| **Claude Desktop** (macOS) | Codex (GPT) | Download [`inspectrum-0.2.2.mcpb`](https://github.com/yannmenec/inspectrum/releases/download/v0.2.2/inspectrum-0.2.2.mcpb), open, confirm. The earlier v0.2.0 bundle was incomplete — use the v0.2.2 asset, not npm/stdio. |
| **Cursor** | Codex (GPT) | [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.png)](https://cursor.com/en/install-mcp?name=inspectrum&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImluc3BlY3RydW1AbGF0ZXN0Il19) |

@@ -142,0 +150,0 @@