inspector
무엇인가
Model Context Protocol 서버를 검사하는 개발자 도구다. MCP 생태계에서 서버 구현이 클라이언트에게 무엇을 노출하는지 확인하는 자리에 놓인다. 서버에 연결해 도구 목록과 리소스, 프롬프트를 직접 호출하고 응답을 확인하는 것이 주된 작업이다.
어떻게 동작하나
배포 단위는 단일 npm 패키지 @modelcontextprotocol/inspector이고, 전역 mcp-inspector 바이너리 하나가 세 클라이언트를 실행한다. Web은 Vite + React + Mantine 단일 페이지 앱과 Node 백엔드로 구성된다. CLI는 자동화와 CI를 위한 스크립트 가능한 클라이언트다. TUI는 Ink로 만든 대화형 터미널 UI다. 저장소는 npm 워크스페이스가 아니어서 clients/* 아래 각 클라이언트가 자체 package.json과 node_modules를 유지하고, 공유 코드는 core/에 두고 @inspector/core 빌드 타임 별칭으로 가져다 쓴다. core/가 런타임에 import하는 의존성은 저장소 루트 package.json에 한 번만 선언되고, clients/cli와 clients/launcher는 자체 런타임 의존성을 갖지 않는다.
무엇과 다른가
서버마다 손으로 만든 JSON-RPC 요청이나 일회용 스크립트로 검사하던 방식을 하나의 도구로 대체한다. 세 프런트엔드가 core/를 공유하므로 웹에서 보는 결과와 CLI·TUI가 수행하는 검사가 같은 구현을 지난다. v1과 v2는 별도 브랜치 라인으로 나뉘어 있고, v2는 --config와 --catalog 플래그를 분리하고 Node 엔진 요구 버전을 올렸다.
어떻게 쓰나
npx @modelcontextprotocol/inspector@v1-latest 로 실행한다. 개발 중 웹을 반복 수정할 때는 Vite를 직접 띄워 HMR을 쓰고, 런처 기반 스크립트는 빌드된 런처를 실행하므로 먼저 빌드해야 한다. 클라이언트별 세부 사항은 clients/* 각각의 README에 있다.
전제와 한계
Node 22.19.0 이상이 필요하다. v2는 npm 워크스페이스가 아니므로 의존성 선언 위치가 루트와 클라이언트로 나뉜다. 루트에 통합 test 스크립트가 없고 각 클라이언트가 자기 폴더에서 자체 검증하며, npm run local:gate가 검사·스모크·Storybook 테스트를 순서대로 연결한다. v1 라인은 보안 수정만 받고 v1-latest 태그로 배포된다. 외부 기여는 PR이 아니라 이슈로 받는다.
유사 도구
- mcp-useTypeScript로 MCP 서버와 ChatGPT·Claude용 뷰 앱을 정의하도록 Zod 스키마·도구 등록·React 뷰 바인딩·Inspector 검증 절차를 에이전트에 주입하는 Claude Code 플러그인이다.
- gemini-cliGemini 모델을 터미널에서 직접 쓰는 TypeScript 기반 오픈소스 AI 에이전트다. 파일·셸·검색 도구와 MCP 서버를 붙여 코드 작업을 실행한다.
- eko자연어 지시를 의존성 그래프로 계획해 브라우저와 Node.js에서 멀티 에이전트로 실행하는 TypeScript 프레임워크다. MCP 서버를 도구로 붙이고 실행을 일시정지·재개한다.
- octocode로컬 코드와 GitHub 저장소를 ripgrep·AST·LSP로 검색해 AI 에이전트에 토큰 효율적인 근거 컨텍스트를 돌려주는 Rust 엔진 기반 CLI·MCP 서버다.
- maka모든 모델 메시지·도구 호출·권한 결정을 append-only RuntimeEvent 로그로 남기는 에이전트 워크스페이스다. 데스크톱·TUI·CLI가 하나의 런타임을 공유한다.
- composio1000개 이상 앱 도구를 세션 단위로 인증·검색·실행하게 해주는 TypeScript·Python SDK 모노레포다. CLI와 호스팅 MCP 엔드포인트를 함께 내놓는다.