Start

Quickstart

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