MCP Inspector

Inspect MCP configuration JSON with safe preset links, private custom validation, and transport-specific fix guidance before you connect any client.

Config Workbench

Custom JSON stays out of share URLs by default. Only safe preset state is encoded into direct links.

Clear
Safe share URL
Privacy This link only includes the selected preset.
Scope This page validates JSON through the Django request flow, but it does not execute MCP servers or call external MCP endpoints.
Workflow Summary
Current source Env-backed stdio server
Share mode Safe preset share URL
Servers 1
Transports stdio
Env-backed servers 1
Errors 0
Warnings 0
Status Review the transport, required fields, and environment usage before you connect this config in an MCP client.
Next step Use the preset share URL for handoff, or paste a private config to compare it against this working example.
Server Checks
postgres
Transport: stdio
Required fields Present: command
Missing: none
Command node
Args /opt/mcp/postgres-server.js
Env usage 2 variable(s)
Validator status No validator issues
Likely fix Confirm the command path, args, and environment variables in the client that will launch this server.
What is MCP?

MCP (Model Context Protocol) is an open standard for connecting AI applications to tools and data sources. It defines how AI models can interact with external servers, services, and data stores through a standardized interface.

How MCP Configuration Works

MCP uses JSON configuration files to define connections to servers. Each server entry specifies a command to run, arguments, environment variables, and the transport type. The most common transport is stdio, which runs the server as a subprocess.

Common Use Cases
  • Validating MCP server configurations before deployment
  • Debugging missing fields or incorrect values in config
  • Inspecting server capabilities and settings
  • Converting between MCP server formats
Frequently Asked Questions

What is the difference between stdio and HTTP transports?

stdio runs the server as a local subprocess, which is simpler and more private but requires the server to be installed locally. HTTP/SSE transports connect to remote servers over the network, enabling distributed architectures.

Why is my server config invalid?

Common issues include missing required fields like 'command', incorrect JSON syntax, wrong value types (args should be an array, env should be an object), or unknown field names.

Is my config sent anywhere?

ComUtil processes the JSON through this page to validate it, but it does not execute MCP servers or call external MCP endpoints. Safe share links keep preset state only, and raw custom JSON is not added to the URL by default.