OptionalMCPVersion 1.0.0

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 documentation

Mcporter 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 json for structured output that's easier to parse
  • Ad-hoc servers (HTTP URL or --stdio command) 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

More MCP skills