Mcporter: List, Auth, and Call MCP Servers from the Terminal
List, auth, and call MCP servers/tools from the terminal.
Written by Neura Market from the official Hermes Agent documentation for Mcporter. Commands, paths, and version numbers are reproduced from the source unchanged.
Read the official documentationMcporter is a command-line tool for working with MCP (Model Context Protocol) servers. It discovers servers already configured by other MCP clients on your machine, lets you connect to new servers ad-hoc, and calls their tools directly from the terminal. You would reach for mcporter when you want to interact with MCP tools without writing a full integration, test a server quickly, or generate client code for use in your own projects.
What it does
Mcporter gives you a single interface to list available MCP servers and their tools, call those tools with arguments, manage authentication and configuration, and even generate CLI wrappers or TypeScript types. It works with both HTTP-based and stdio-based MCP servers, and it auto-discovers servers configured by other MCP clients on the same machine.
Before you start
Mcporter requires Node.js. You can run it on demand with npx (no install needed) or install it globally with npm. It works on Linux, macOS, and Windows.
# No install needed (runs via npx)
npx mcporter list
# Or install globally
npm install -g mcporter
Quick Start
These commands get you up and running immediately:
# List MCP servers already configured on this machine
mcporter list
# List tools for a specific server with schema details
mcporter list <server> --schema
# Call a tool
mcporter call <server.tool> key=value
Discovering MCP Servers
Mcporter auto-discovers servers configured by other MCP clients (Claude Desktop, Cursor, etc.) on the machine. To find new servers to use, browse registries like mcpfinder.dev or mcp.so, then connect ad-hoc:
# Connect to any MCP server by URL (no config needed)
mcporter list --http-url https://some-mcp-server.com --name my_server
# Or run a stdio server on the fly
mcporter list --stdio "npx -y @modelcontextprotocol/server-filesystem" --name fs
Calling Tools
Mcporter supports multiple argument formats and ad-hoc server connections:
# Key=value syntax
mcporter call linear.list_issues team=ENG limit:5
# Function syntax
mcporter call "linear.create_issue(title: \"Bug fix needed\")"
# Ad-hoc HTTP server (no config needed)
mcporter call https://api.example.com/mcp.fetch url=https://example.com
# Ad-hoc stdio server
mcporter call --stdio "bun run ./server.ts" scrape url=https://example.com
# JSON payload
mcporter call <server.tool> --args '{"limit": 5}'
# Machine-readable output (recommended for Hermes)
mcporter call <server.tool> key=value --output json
Auth and Config
Manage authentication and server configuration:
# OAuth login for a server
mcporter auth <server | url> [--reset]
# Manage config
mcporter config list
mcporter config get <key>
mcporter config add <server>
mcporter config remove <server>
mcporter config import <path>
Config file location: ./config/mcporter.json (override with --config).
Daemon
For persistent server connections:
mcporter daemon start
mcporter daemon status
mcporter daemon stop
mcporter daemon restart
Code Generation
Generate client code or CLI wrappers from an MCP server:
# Generate a CLI wrapper for an MCP server
mcporter generate-cli --server <name>
mcporter generate-cli --command <url>
# Inspect a generated CLI
mcporter inspect-cli <path> [--json]
# Generate TypeScript types/client
mcporter emit-ts <server> --mode client
mcporter emit-ts <server> --mode types
Notes
- Use
--output jsonfor structured output that's easier to parse - Ad-hoc servers (HTTP URL or
--stdiocommand) work without any config, useful for one-off calls - OAuth auth may require interactive browser flow, use
terminal(command="mcporter auth ", pty=true)if needed