MCP
Connect to MCP servers, list their tools, and invoke them with JSON arguments.
MCP (the Model Context Protocol) is the emerging standard for connecting AI agents to tools and data. Impostor is a full MCP client: it connects to any MCP server, runs the handshake, discovers the tools, resources, and prompts the server exposes, and invokes tools with JSON arguments — the same way it tests HTTP, WebSocket, SSE, and gRPC.
Creating an MCP request
Pick MCP in the protocol dropdown (or use New MCP request from the sidebar’s
context menu / command palette). MCP requests are saved like any other request —
one YAML file with an mcp block — so they’re git-friendly and shareable.
Transports
MCP defines two transports; Impostor supports both, selected in the Transport tab.
stdio (local process)
Impostor spawns a local command and speaks MCP over its stdin/stdout. This covers
the bulk of today’s ecosystem (filesystem, git, database servers, and anything run
via npx/uvx). Configure:
- Command — the executable, e.g.
npx(shown in the request bar). - Arguments — one line, shell-style; quotes group words, e.g.
-y @modelcontextprotocol/server-everything. - Environment variables — key/value pairs passed to the process (e.g. API keys).
Hit Connect to spawn the server. Disconnecting (or closing the tab) shuts the process down. Connecting spawns the configured command on your machine — review it first, and only run commands you trust, especially in imported or shared workspaces.
Streamable HTTP
For remote or hosted MCP endpoints, pick Streamable HTTP and put the endpoint
URL in the request bar. The request’s own Headers (e.g. an Authorization header — secret-backed values stay in encrypted storage) and Cert settings
(custom CA, mTLS client certificates) apply to the connection, exactly as they do
for WebSocket and SSE requests.
Tools
Connecting lists the server’s tools in a dropdown, with each tool’s description shown underneath. Selecting a tool seeds the JSON arguments editor with a template derived from the tool’s input schema; edit the arguments and hit Call. Results stream into the log:
- message — the tool result (text content and structured output),
- log / progress — server notifications emitted while the call runs,
- errors, including tool-reported error results, are flagged inline.
In-flight calls can be cancelled. {{variables}} are resolved in the connection
settings and the arguments draft when you connect or call, so environments work the
same as everywhere else.
Resources and prompts advertised by the server are listed for inspection under the tool picker.
Example
The community everything server exercises the full protocol and makes a handy test target:
protocol: mcp
mcp:
transport: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-everything"]
tool: echo
arguments: |
{ "message": "hello from Impostor" } Connect, pick echo (or add, longRunningOperation, …), and Call.