MCPorter is a CLI and runtime for Model Context Protocol (MCP) servers. It enables access to any MCP server without direct installation, auto-discovers configured servers, and provides ergonomic tool calling from the command line.
Accessing MCP tools without installing them directly in Claude Code
Discovering what MCP servers are available on the user's machine
Calling MCP tools via CLI for automation or testing
Connecting to ad-hoc MCP endpoints without configuration
Inspecting available tools and their schemas from any MCP server
No installation required - use via npx
npm install -g mcporter
brew install steipete/tap/mcporter
npx mcporter list
<command name="List tools from a specific server">
npx mcporter list server_name
</command>
<command name="List tools with full JSON schema">
npx mcporter list server_name --schema
</command>
<command name="Call a tool (colon syntax)">
npx mcporter call server_name.tool_name arg1:value1 arg2:value2
</command>
<command name="Call a tool (function syntax)">
npx mcporter call 'server_name.tool_name(arg1: "value1", arg2: "value2")'
</command>
<command name="Ad-hoc connection to HTTP MCP server">
npx mcporter list --http-url https://mcp-server-url --name custom_name
</command>
<command name="Ad-hoc connection to stdio MCP server">
npx mcporter call --stdio "npx -y some-mcp-server@latest" server.tool_name
</command>
Access any MCP server without configuration using stdio or http flags
<pattern name="Run MCP server via npx and call tool">
npx mcporter call --stdio "npx -y mcp-server-name@latest" server.tool_name arg:value
</pattern>
<pattern name="Discover tools from npx MCP server">
npx mcporter list --stdio "npx -y mcp-server-name@latest" --name my_server
</pattern>
<pattern name="Connect to remote HTTP MCP endpoint">
npx mcporter call --http-url https://mcp.example.com/mcp server.tool_name
</pattern>
For stateful servers that need persistent connections (like Chrome DevTools)
npx mcporter daemon status
npx mcporter daemon start
npx mcporter daemon stop
npx mcporter generate-cli "npx -y some-mcp-server@latest"
<command name="Generate TypeScript types">
npx mcporter emit-ts server_name --out types/server.d.ts
</command>
<command name="Generate TypeScript client wrapper">
npx mcporter emit-ts server_name --mode client --out clients/server.ts
</command>
Results wrap in CallResult with helper methods
Plain text output
Markdown formatted output
Parsed JSON output
Raw content array
<flags>
<flag name="--json">Output as JSON</flag>
<flag name="--output json">Alternative JSON output flag</flag>
</flags>
npx mcporter call --stdio "npx -y chrome-devtools-mcp@latest" chrome-devtools.tool_name
Browser automation, screenshots, DOM inspection, console access
<server name="firecrawl">
<use_case>Web crawling and scraping</use_case>
</server>
<server name="linear">
<use_case>Linear issue tracking integration</use_case>
</server>
MCPorter provides "Did you mean...?" suggestions for typos
<issue name="Timeout errors">
<solution>Set MCPORTER_CALL_TIMEOUT environment variable</solution>
<solution>Use --timeout flag</solution>
</issue>
<issue name="Debug logging">
npx mcporter --log-level debug call server.tool
</issue>
Discover available servers: npx mcporter list
Inspect server tools: npx mcporter list server_name
View tool schema if needed: npx mcporter list server_name --schema
Call the tool: npx mcporter call server_name.tool_name args