# Project Structure

Where things live in the Inspector repo, which client owns which surface, what is in...

- Repository: https://github.com/modelcontextprotocol/inspector (11208 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add modelcontextprotocol/inspector --skill project-structure -g -a claude-code -y`
Codex: `npx skills add modelcontextprotocol/inspector --skill project-structure -g -a codex -y`
Cursor: `npx skills add modelcontextprotocol/inspector --skill project-structure -g -a cursor -y`
Gemini CLI: `npx skills add modelcontextprotocol/inspector --skill project-structure -g -a gemini-cli -y`

## Description

Where things live in the Inspector repo, which client owns which surface, what is in core/ versus clients/web, and what each top-level directory is for. Use when locating code, deciding where a new module belongs, or answering which package owns or contains a given area of the codebase.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Project structure

The Inspector is one npm package, `@modelcontextprotocol/inspector`, with three
clients (Web, TUI, CLI) over a shared `core/`. It is **not** an npm workspace, each client under `clients/*` keeps its own `package.json` and `node_modules`
(see `/local-dev`).

```
inspector/
├── clients/
│   ├── web/          Vite + React + Mantine SPA with a Node backend
│   │   ├── src/         Browser app: components, hooks, lib/, utils/, theme/
│   │   ├── server/      Node-only dev/prod backend wiring (see below)
│   │   └── static/      sandbox_proxy.html, served for the MCP Apps tab
│   ├── cli/          Scriptable CLI (tsdown bundle, @inspector/core alias)
│   ├── tui/          Ink + React terminal UI (tsdown bundle)
│   └── launcher/     The `mcp-inspector` bin; dispatches to web/cli/tui in-process
├── core/             Shared code, consumed via the `@inspector/core` alias (no package.json)
├── test-servers/     Composable MCP test servers + JSON configs used by tests and by hand
├── scripts/          Root build/verify tooling (install cascade, smokes, the verify:* guards)
│                     and maintainer-workflow helpers (the pr:*, board:*, advisory:*,
│                     release:notes, release:tag and action:resolve-pin aliases)
├── docs/             Task-oriented guides (see docs/README-style index in the root README)
├── specification/    Design/build specifications
└── AGENTS.md         The rules contract, read this before changing anything
```

## `core/`, the shared runtime

Its entry point is the **`InspectorClient`** class, which owns the connection to
an MCP server, the request/response lifecycle, and a set of state stores.

The rest: https://github.com/modelcontextprotocol/inspector/blob/HEAD/.claude/skills/project-structure/SKILL.md
