본문으로 건너뛰기

구성과 플래그

mcp-inspector 바이너리는 실행기입니다. 자체 플래그 두 개를 읽고 나머지 모든 인수를 세 클라이언트(웹, CLI, TUI) 중 하나로 전달합니다. 각 클라이언트는 자체 플래그를 정의하므로 한 클라이언트에서 동작하는 플래그를 다른 클라이언트에서는 인식하지 못할 수 있습니다(예를 들어 --method는 CLI 전용입니다). 이 페이지에서는 플래그와 환경 변수를 이를 소유하는 클라이언트별로 정리합니다.

실행기가 소유하는 것은 정확히 두 가지입니다

플래그동작
--web / --cli / --tui클라이언트를 선택하며 기본값은 --web입니다. 둘 이상을 전달하면 Specify at most one of --web, --cli, or --tui. 오류가 발생합니다. 실행기 플래그는 맨 앞에 와야 합니다. 실행기가 소유하지 않은 첫 번째 인수에서 파싱을 멈추고, 그 지점부터의 모든 인수를 변경하지 않은 채 클라이언트로 전달합니다.
-h / --help모드 플래그가 없으면 실행기 자체 도움말을 출력하고 종료합니다. 모드 플래그와 함께 사용하면 해당 클라이언트로 전달되므로 mcp-inspector --cli --help는 CLI 도움말을 출력합니다.

아래의 모든 항목은 클라이언트에 속합니다.

서버 선택

--catalog--config

세 클라이언트 모두 동일한 공유 코드를 통해 --catalog--config를 해석하므로 각 플래그는 웹 앱, CLI, TUI에서 똑같이 동작합니다. 두 플래그 사이의 차이는 아래 표와 같습니다.

--catalog <path>--config <path>
쓰기 가능 여부가능합니다. Inspector 자체 서버 목록입니다.불가능합니다. 있는 그대로 제공하며 쓰기, 초기화, 마이그레이션을 하지 않습니다.
파일이 없을 때파일을 만들고 초기값을 채웁니다(아래 참고).오류가 발생합니다.
기본값~/.mcp-inspector/mcp.json 또는 MCP_CATALOG_PATH 환경 변수입니다.없습니다. 반드시 직접 전달해야 합니다.
웹 UI에서 편집 가능가능합니다.불가능합니다.
적합한 용도직접 관리하는 서버 작업 목록입니다.다른 사람의 구성 파일을 대상으로 하는 읽기 전용 세션입니다.

두 플래그는 상호 배타적이며, 어느 쪽도 임시 대상과 함께 사용할 수 없습니다. 둘 다 전달하면 세 클라이언트 모두 동일하게 거부합니다.

임시 대상

파일 대신 서버 하나를 직접 지정할 수 있습니다. 위치 인수 명령(stdio)이나 URL을 사용할 수 있습니다.

mcp-inspector node build/index.js                              # stdio, positional
mcp-inspector --server-url https://api.example.com/mcp --transport http

공유 서버 선택 플래그

웹, CLI, TUI가 각각 별도로 정의하므로 아래 플래그는 세 클라이언트 모두에서 사용할 수 있습니다. 차이가 있는 항목은 별도로 표시했습니다.

플래그의미차이
--catalog <path>쓰기 가능한 카탈로그 파일입니다.없음
--config <path>읽기 전용 세션 파일입니다.없음
--server <name>파일에서 이름이 지정된 서버 하나를 선택합니다.웹과 CLI에서만 사용할 수 있습니다. TUI는 파일의 모든 서버를 불러와 대화형으로 선택하게 합니다.
--transport <type>stdio, sse, http 중 하나입니다.임시 대상에만 적용됩니다.
--server-url <url>SSE/HTTP 서버 URL입니다.임시 대상에만 적용됩니다.
--cwd <path>stdio 서버 프로세스의 작업 디렉터리입니다.없음
-e <KEY=VALUE>stdio 서버의 환경 변수입니다. 반복할 수 있습니다.없음
--header "Name: Value"HTTP/SSE 서버의 HTTP 헤더입니다. 반복할 수 있습니다.웹 클라이언트에서는 임시 HTTP/SSE 서버가 필요합니다.
[target...]임시 서버 하나의 위치 인수 명령/URL입니다.없음

-- 구분자

웹과 CLI 클라이언트는 단독 --를 기준으로 인수를 나누고 그 뒤의 모든 값을 대상 명령 자체의 인수로 전달합니다. Inspector가 다른 용도로 처리할 플래그를 대상에 전달할 때 사용합니다.

mcp-inspector node build/index.js -- --config /etc/myserver.conf --verbose

구분자가 없으면 --config는 Inspector 자체의 읽기 전용 세션 플래그로 해석됩니다.

웹 전용 플래그

플래그의미
--dev미리 빌드된 번들 대신 Vite 개발 서버를 실행합니다. Inspector 자체를 개발할 때 유용합니다.

CLI와 TUI: OAuth 클라이언트 플래그

아래 다섯 가지는 CLI와 TUI에서만 정의됩니다. 웹 클라이언트에서는 Client Settings 대화상자에서 같은 설정을 지정합니다.

플래그환경 변수의미
--client-config <path>MCP_CLIENT_CONFIG_PATH설치 단위 클라이언트 구성입니다. 기본값은 ~/.mcp-inspector/storage/client.json입니다.
--client-id <id>없음정적 클라이언트의 OAuth 클라이언트 ID입니다. client.json 값을 재정의합니다.
--client-secret <secret>없음기밀 클라이언트의 OAuth 클라이언트 비밀 값입니다. client.json 값을 재정의합니다.
--client-metadata-url <url>없음CIMD 메타데이터 URL입니다. client.json 값을 재정의합니다.
--callback-url <url>MCP_OAUTH_CALLBACK_URL권한 부여 서버로 보내는 리디렉션 URI입니다. 기본값은 http://127.0.0.1:6276/oauth/callback입니다. 루프백 호스트(127.0.0.1 또는 localhost)여야 합니다. 로컬 콜백 리스너가 평문 http로 권한 부여 코드를 받기 때문에 다른 호스트는 거부되며 이 제한을 재정의하는 플래그는 없습니다.

CLI 전용 플래그

전체 스크립팅 인터페이스는 CLI에 속합니다. 사용법은 CLI 클라이언트를 참고하세요.

그룹플래그
호출할 대상--method, --tool-name, --tool-arg, --tool-args-json, --uri, --prompt-name, --prompt-args, --log-level, --metadata, --tool-metadata
실행 방법--connect-timeout, --format, --app-info
인증--use-stored-auth, --stored-auth-only, --relogin, --wait-for-auth, --list-stored-auth, --print-handoff

환경 변수

환경 변수도 플래그와 같은 방식으로 나뉩니다. 두 개는 실행기 자체에서 읽고 나머지는 CLI와 TUI 또는 웹 백엔드에 속합니다.

실행기가 읽는 변수

변수효과
MCP_DEBUG최상위 오류에 오류 스택을 덧붙입니다. 의미 있는 값으로 설정한 경우에만 활성화됩니다. 0, false, 빈 값은 비활성으로 해석합니다.
DEBUG같은 의미 있는 값 규칙을 적용합니다. 따라서 우연히 설정된 DEBUG=0이 스택 추적을 켜지 않으며, DEBUG는 여전히 npm debug 패키지의 네임스페이스 필터로 사용할 수 있습니다.

CLI와 TUI

변수효과
MCP_CATALOG_PATH--catalog의 대체 값입니다. 임시 대상을 지정하지 않았을 때만 적용되므로, 셸에서 이 변수를 내보낸 상태에서도 일회성 임시 호출을 실행할 수 있습니다.
MCP_CLIENT_CONFIG_PATH--client-config의 대체 값입니다.
MCP_OAUTH_CALLBACK_URL--callback-url의 대체 값입니다.
MCP_STORAGE_DIROAuth 상태 파일(<dir>/oauth.json)의 디렉터리입니다.
MCP_INSPECTOR_OAUTH_STATE_PATHOAuth 상태 경로의 파일별 재정의 값입니다. MCP_STORAGE_DIR보다 우선합니다.
MCP_AUTO_OPEN_ENABLED브라우저 자동 열기와 TTY 없이 대화형 OAuth를 실행할 수 있는지를 제어합니다. true는 자동 열기를 강제하고 TTY 없는 OAuth 프롬프트를 허용하며, false는 열지 않고, 설정하지 않으면 TTY에서만 엽니다.

웹 백엔드 환경 변수

변수효과
MCP_INSPECTOR_API_TOKEN실행할 때마다 무작위로 생성하는 대신 세션 토큰을 고정합니다.
DANGEROUSLY_OMIT_AUTH/api/* 토큰 검사를 완전히 비활성화합니다.
HOST바인드 호스트입니다. 기본값은 localhost입니다.
CLIENT_PORT웹 UI 포트입니다. 기본값은 6274입니다.
DANGEROUSLY_BIND_ALL_INTERFACES와일드카드 호스트(0.0.0.0, :: 또는 이에 해당하는 표기)에 바인딩할 때 필요한 명시적 동의입니다.
ALLOWED_ORIGINS쉼표로 구분한 허용 오리진 목록입니다. 기본 목록과 병합하지 않고 대체합니다.
MCP_SANDBOX_PORT기본적으로 동적으로 정해지는 MCP Apps 샌드박스 포트를 고정합니다.
HTTPS_PROXY / HTTP_PROXY / NO_PROXY외부 MCP 연결에 사용하는 표준 프록시 라우팅입니다.

카탈로그 파일 형식

카탈로그 또는 구성 파일은 익숙한 MCP 클라이언트 구성 형태(mcpServers 객체)에 서버별 Inspector 설정을 더한 형식입니다.

{
"mcpServers": {
"my-stdio-server": {
"command": "node",
"args": ["build/index.js"],
"env": { "API_KEY": "..." }
},
"my-modern-server": {
"type": "http",
"url": "https://api.example.com/mcp",
"protocolEra": "modern",
"modernLogLevel": "info",
"headers": { "X-Tenant": "acme" },
"roots": [{ "uri": "file:///Users/me/project", "name": "project" }]
}
}
}

Inspector가 파일을 다시 쓸 때는 기본값과 같은 필드를 생략하여 diff를 최소화합니다. protocolEra(자세한 내용은 프로토콜 시대 참고)의 기본값은 legacy이고 modernLogLevel의 기본값은 debug입니다.

이 파일을 직접 작성할 필요는 없습니다. 웹 클라이언트에서 Claude Desktop, Cursor, Cline, VS Code 또는 레지스트리 server.json기존 클라이언트 구성을 가져올 수 있습니다.