@mcpjam/inspector
v3.16.2
Published
MCPJam Inspector
Readme
www.mcpjam.com
MCPJam Inspector is the local development client for ChatGPT apps, MCP ext-apps, and MCP servers. Build and test your apps with a full widget emulator, chat with any LLM, and inspect your server’s tools, resources, prompts, and OAuth flows.
No more ngrok or ChatGPT subscription needed. MCPJam is the fastest way to iterate on any MCP project.
🚀 Quick Start
Start up the MCPJam inspector:
npx @mcpjam/inspector@latestTable of contents
Installation Guides
Requirements
Install MCPJam
We recommend starting MCPJam inspector via npx:
npx @mcpjam/inspector@latestWe have a Mac and Windows desktop app:
Run MCPJam using Docker:
docker pull mcpjam/mcp-inspector
docker run -p 127.0.0.1:6274:6274 mcpjam/mcp-inspectorAccessing over the network
Network access requires Docker. A native (npx) install binds to
127.0.0.1 (localhost only) and has no bind-address override, so it is not
reachable from another machine. The Docker image binds 0.0.0.0 inside the
container, so it is reachable once you publish the port beyond loopback.
Open the private link printed in the terminal (or docker logs <container>) to
sign this browser in. A plain address displays instructions to open that link.
The browser remembers access for this origin until the Inspector restarts.
Keep the link private: it grants control of the local Inspector and its tools.
For another computer, set MCPJAM_ALLOWED_HOSTS to the hostname or IP you use,
and publish the port on the host address that clients will connect to:
docker run -p 192.168.1.50:6274:6274 -e MCPJAM_ALLOWED_HOSTS=192.168.1.50 mcpjam/mcp-inspectorA bare -p 6274:6274 publishes the port on every host interface, IPv4 and IPv6.
Anything that can route to a published address can reach the Inspector, so
publish it only on a network you trust and only for as long as you need it. On
Linux, Docker writes its own firewall rules for published ports, so ufw and
firewalld rules do not block them.
If you only need to reach a remote install from your own machine, keep the
remote port bound to loopback and use ssh -L 6274:127.0.0.1:6274 user@host
instead; it needs only SSH access and keeps the Inspector port off the network.
Open the terminal link at the forwarded address.
Open the printed Network link, or paste the link/code into the access screen at
that address. If ports are remapped, keep the #token=… fragment and change the
address. MCPJAM_INSPECTOR_FRONTEND_URL=http://devbox.local:8080 sets the printed
browser address explicitly. Cross-tab continuation works only on the same origin.
For IPv6, bracket the allowlist entry: MCPJAM_ALLOWED_HOSTS=[fd00::50].
Wildcards such as *.lan additionally require
MCPJAM_ALLOW_WILDCARD_ORIGINS=true for the request-origin check. The allowlist
never grants credentials by itself.
Optionally set MCPJAM_SESSION_TOKEN to a strong random URL-safe secret (at least
24 characters) to keep a link across restarts. Generate one with
node -e "process.stdout.write(require('crypto').randomBytes(24).toString('base64url'))".
The default is a new random credential on each launch. Local CLI attachment reads
a same-user discovery file under ~/.mcpjam/inspector/, readable only by its owner;
update @mcpjam/cli alongside the Inspector.
Set MCPJAM_LOCAL_COMPUTER_ENABLED=false and
MCPJAM_LOCAL_BROWSER_ENABLED=false to disable the local computer/browser tools.
Plugin Apps can open and save files on this machine only inside folders you
allow. Set MCPJAM_PLUGIN_LOCAL_FILE_ROOTS to a JSON list of
{"actorId", "projectId", "serverId", "root"} entries (root is an absolute
folder), then list the files in the client's
mcpProfile.extensions["mcpjam/plugin-file-targets"]. When it is unset, opening
local files is refused with a message in the Logs panel, and files open
read-only.
Key features
| Capability | Description |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ChatGPT Apps SDK | Local development for ChatGPT Apps SDK support. Full support for the windows.openai API: widgetState, callTool, structuredContent, sendFollowUpMessage, displayMode, CSP, and more. No more ngrok or ChatGPT subscription needed. Read more |
| MCP ext-apps (Claude) | Full local development for MCP Apps (SEP-1865). Support for all JSON-RPC message types, such as tools/call, ui/initialize, ui/message, ui/open-link, and more. Read more |
| OAuth Debugger | Debug your MCP server's OAuth implementation at every step. Visually inspect every network message. Supports all protocol versions (03-26, 06-18, and 11-25). Support for client pre-registration, DCR, and CIMD. Read more |
| LLM playground | Chat with your MCP server against any LLM in the playground. We provide frontier models such as GPT-5 and Claude Sonnet for free, or bring your own API key. Playground supports ChatGPT apps and MCP Apps. Read more |
| MCP server debugging | Connect to and test any MCP server local or remote. Manually invoke MCP tools, resources, resource templates, and elicitation flows. View all JSON-RPC logs. Support for all features from the official MCP inspector. |
| Server info | View server icons, version, capabilities, instructions, and ChatGPT widget metadata exposed by the server. Read more |
ChatGPT Apps / MCP Apps Builder
Develop ChatGPT apps and MCP apps (Claude) in MCPJam's Apps Builder. Apps Builder is a local emulator to quickly view and iterate on your widgets.
- Manually invoke a tool to instantly view the widget, or chat with your server using an LLM.
- View all JSON-RPC messages,
window.openaimessages in the logs. - Change emulator device to Desktop, Tablet, or Mobile views.
- Test your app's locale change, CSP permissions, light / dark mode, hover & touch, and safe area insets.
OAuth Debugger
View every step of the OAuth handshake in detail, with guided explanations. Test with every version of the OAuth spec (03-26, 06-18, and 11-25). Support for client pre-registration, Dynamic Client Registration (DCR), and Client ID Metadata Documents (CIMD).
Chat
Try your server against any LLM model. We provide frontier models like GPT-5, Claude Sonnet, Gemini 2.5 for free, or bring your own API key. View your server's token usage.
MCP Inspector
MCPJam contains all of the tooling to test your MCP server. Test your server's tools, resources, prompts, templates, with full JSON-RPC observability. MCPJam has all features from the original inspector and more.
Contributing 👨💻
We're grateful for you considering contributing to MCPJam. Please read our contributing guide.
Join our Discord community where the contributors hang out at.
Links 🔗
Community 🌍
Shoutouts 📣
Some of our partners and favorite frameworks:
- Stytch - Our favorite MCP OAuth provider
- xMCP - The Typescript MCP framework. Ship on Vercel instantly.
- Alpic - Host MCP servers. Try their new Skybridge framework for ChatGPT apps!
License 📄
This project is licensed under the Apache License 2.0 - see the LICENSE.
