Quickstart
This walkthrough assumes you already have an MCP server configured in Cursor, Claude Code/Desktop, Codex, Windsurf, OpenCode, or VS Code. If not, copy config/mcporter.example.json into ~/.mcporter/mcporter.json and edit it — see Configuration for the full schema.
#1. List the servers mcporter sees
npx mcporter list
You get one row per server with auth status, transport type, and tool count. Add --json for machine output, or --verbose to see which config files registered each server.
#2. Inspect a single server
npx mcporter list linear
Single-server output reads like a TypeScript header file: dimmed /** … */ doc comments above each function name(...) signature, with optional parameters summarised so the screen stays scannable. Add flags to drill in:
--brief(alias--signatures) — compact signatures only.--all-parameters— show every optional parameter inline.--schema— pretty-print the JSON schema for each tool.--json— machine-readable schema payload.
mcporter list shadcn.io/api/mcp.getComponents works too — bare URLs (with or without a .tool suffix or scheme) auto-resolve.
#3. Call a tool
# Colon-delimited flags (shell-friendly).
npx mcporter call linear.create_comment issueId:ENG-123 body:'Looks good!'
# Function-call style copy/pasted from `mcporter list`.
npx mcporter call 'linear.create_comment(issueId: "ENG-123", body: "Looks good!")'
# Anything after `--` is a literal positional value.
npx mcporter call docs.fetch -- --raw-string-with-leading-dashes
Pick the output format with --output text|markdown|json|raw. Use --save-images <dir> to persist binary content blocks. See CLI reference for the full flag list.
#4. Read MCP resources
npx mcporter resource docs # list resources
npx mcporter resource docs file:///path/to/spec.md # read a resource
Output formatting is shared with mcporter call (--output, --json, --raw).
#5. Generate a standalone CLI
When you want to share a tool with someone who shouldn't have to learn mcporter call:
npx mcporter generate-cli linear --bundle dist/linear.js
node dist/linear.js create-comment --issue-id ENG-123 --body 'Looks good!'
Add --compile <path> for a Bun-compiled binary, or --include-tools a,b,c to ship a subset. Full details in CLI generator.
#6. Emit typed clients for agents
npx mcporter emit-ts linear --mode client --out src/linear-client.ts
You get a .d.ts interface and a createServerProxy()-backed factory. Calls return CallResult objects with .text(), .markdown(), .json(), .images(), .content() helpers — see Tool calling for the proxy API and emit-ts for the generator.
#What next
- Configuration —
mcporter.jsonschema, env interpolation, OAuth fields. - Ad-hoc connections — point at any MCP endpoint without editing config.
- Agent skills — wiring per-server skills into a coding agent.