mcporter について
mcporter は、MCP サーバーを検出し、シェルからツールを呼び出す CLI です。呼び出し前にツールのシグネチャを確認したい開発者向けで、設定外のエンドポイントにも直接接続できます。
主な機能
- 01設定済み MCP サーバーを検出
- 02ツールのシグネチャとパラメーターを確認
- 03複数の形式でツールを呼び出し
- 04JSON Schema とメタデータを表示
- 05一時的なエンドポイントへ直接接続
活用シーン
- 01サーバーの状態と利用可能なツールを確認
- 02シグネチャに沿ってシェルからツールを実行
- 03設定に追加せず MCP エンドポイントを試用
MCP 対応
設定やエディターから MCP サーバーを検出し、接続してツールの一覧表示や呼び出しを行います。エンドポイントや stdio コマンドを直接指定することもできます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zlliang/ skills --skill mcporterインストール後、Claude Code で/mcporterを入力して読み込まれたか確認します。
詳細
MCPorter (mcporter)
MCPorter は、MCP サーバーを操作するための CLI です。設定済みサーバーの検出、ツールのシグネチャの確認、シェルからのツールの直接呼び出しに使用できます。
特に重要なコマンドは、検出と確認を行う list と、呼び出しを行う call の 2 つです。引数が実際のスキーマと一致するよう、必ず call の前に list を実行してください。
正確なフラグを確認するには、mcporter <command> --help を実行してください。MCPorter は、グローバル設定の ~/.mcporter/mcporter.json、プロジェクト設定の ./config/mcporter.json、明示的に指定した --config <path> に加え、エディターからのインポート(Cursor、Claude Code、Codex など)をもとにサーバーを検出します。各サーバーの設定元を確認するには、mcporter config list または mcporter list --verbose を使用してください。
ワークフロー
# 1. See configured servers and their health
mcporter list
# 2. Read one server's tools as TypeScript-like signatures
mcporter list <server>
# 3. Call a tool using the signature from step 2
mcporter call '<server>.<tool>(arg: "value", count: 5)'
list — 検出と確認
mcporter list # All servers, with live status
mcporter list <server> # Tools for one server, as signatures
mcporter list <server> --schema # Raw JSON schema for each tool
mcporter list <server> --json # Machine-readable, full tool metadata
mcporter list <server> --all-parameters # Reveal hidden optional params
単一サーバーの出力は、TypeScript のヘッダーのような形式です。各ツールのドキュメントコメント、必須パラメーターを先に並べ、オプションのパラメーターに ? を付けた function name(...) シグネチャ、そして以下の関数呼び出し構文で記述された Examples: ブロックが表示されます。最初の数個を超えるオプションのパラメーターは、--all-parameters または --schema を指定しない限り非表示になります。
function web_search_exa(query: string, numResults?: number);
call — ツールの呼び出し
推奨:関数呼び出し構文。 mcporter list のシグネチャと同じ形式で、内容が分かりやすく、ネストされたオブジェクトや配列を扱え、シェルのフラグとの曖昧さも避けられます。引数全体をシングルクォートで囲んでください。
mcporter call 'exa.web_search_exa(query: "best React state libraries", numResults: 5)'
mcporter call 'linear.create_comment(issueId: "ENG-123", body: "Looks good!")'
- 名前付き引数を推奨します。ラベルのない値は、スキーマの順序に従って割り当てられます。
- 構造化された結果には
--output jsonを使用してください。接続、認証、オフライン、HTTP の各エラーでは、スクリプトで処理できる{ server, tool, issue }エンベロープが出力されます。
mcporter call 'exa.web_search_exa(query: "...")' --output json
その他の引数形式(推奨形式が扱いにくい場合)
# Shell-friendly key/value pairs (good in scripts)
mcporter call linear.list_issues team=ENG limit:5
# Prebuilt JSON payload (or `--json -` to read from stdin)
mcporter call linear.create_issue --json '{"title":"Bug","team":"ENG"}'
# Read a long string argument from a file
mcporter call linear.create_comment issueId=LNR-123 [email protected]
アドホックサーバー(設定ファイルにないサーバー)
設定を編集せずに、エンドポイントを直接 list/call に指定できます。
mcporter list https://mcp.linear.app/mcp
mcporter call 'https://www.shadcn.io/api/mcp.getComponent(component: "vortex")'
mcporter list --stdio "bun run ./server.ts" --env TOKEN=xyz
ドメインのみを指定した場合は https:// が使われます。通常の http:// を使用するには --allow-http が必要です。試したエンドポイントを --persist <config> で保存すると、短い名前で再利用できます。
メモ
- シークレットは環境変数で渡してください。例:
LINEAR_API_KEY=… mcporter call 'linear.search_documentation(query: "automations")'。 - その他にもコマンド(
auth、config、resource、daemon、generate-cli、emit-ts)があります。必要に応じてmcporter --helpを実行してください。