
2026/01/07 0:05
**タイトル** Show HN: *mcpc* – Model Context Protocol(MCP)用の汎用コマンドラインクライアント **概要** `mcpc` は軽量でクロスプラットフォームな CLI です。Model Context Protocol(MCP)を実装した任意のサービスと対話できます。Rust で開発され、1つのバイナリから次のことが可能です。 - ローカルまたはリモート MCP エンドポイントへ接続 - JSON フォーマットでコンテキストデータを送受信 - WebSocket を通じてリアルタイム更新をストリーム化 - スキーマ互換性を即時に検証 **主な機能** 1. **ゼロ設定** – 最小限のセットアップでそのまま使用可能 2. **クロスプラットフォーム** – Linux、macOS、Windows(x86_64 & ARM)用バイナリが揃っています 3. **拡張性** – プラグインアーキテクチャにより、新しい MCP 拡張機能用のハンドラーを追加できます 4. **セキュリティ** – TLS 対応とオプションで JWT 認証が利用可能 **インストール** ```bash # Cargo でインストール cargo install mcpc # またはリリースページから事前ビルド済みバイナリをダウンロード: https://github.com/yourorg/mcpc/releases ``` **使用例** ```bash # ローカル MCP サーバーへ接続 mcpc connect ws://localhost:8080 # コンテキスト更新を送信 mcpc send '{"model":"gpt-4","input":"Hello"}' # 応答をリッスン mcpc listen ``` **ドキュメント & リソース** - 公式ドキュメント: https://github.com/yourorg/mcpc/blob/main/docs/ - API リファレンス: https://api.yourorg.org/mcpc/v1 - コミュニティフォーラム: https://forum.yourorg.org/tags/mcpc **重要性** Model Context Protocol(MCP)は、モデルとアプリケーション間の通信標準として急速に普及しています。`mcpc` は開発者や研究者がボイラープレートコードを書かずに MCP 対応サービスをプロトタイピング・テスト・統合できる、シンプルで信頼性の高いツールです。 --- *この情報がお役に立てば投票またはコメントをお願いします!*
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
概要:
本書は、Model Context Protocol(MCP)操作を直感的なシェルコマンドに変換する汎用コマンドラインクライアント mcpc を紹介します。インタラクティブ使用、スクリプト実行、および AI コーディングエージェントをサポートし、軽量ブリッジプロセスによって接続を維持しサーバーに Ping を送ることで永続的なセッションを提供します。mcpc は複数の認証方式(匿名、OS キーチェーンに保存された Bearer トークン、および PKCE を備えた完全な OAuth 2.1)を扱い、プロキシとして動作させることもできます()。--proxy
CLI は JSON 出力()、スキーマ検証(--json、--schema)を提供し、Streamable HTTP と stdio 伝送の両方で動作し、自動的に適切なプロトコルを選択します。セッションデータは--schema-modeに、OAuth プロファイルは~/.mcpc/sessions.jsonに、認証情報は OS キーチェーンに安全に保存され、ログは~/.mcpc/profiles.jsonに書き込まれます。管理コマンド(~/.mcpc/logs/、login、logout、connect、restart)と MCP コマンド(例:close、tools-list、prompts-get)が利用可能で、明確なヘルプシステムとオプションの詳細ログがあります。resources-read
mcpc は MCP のセキュリティベストプラクティスに準拠し、ツール呼び出しやコードモード用の組み込み AI エージェントをサポートします。また、Apache‑2.0 ライセンスで公開され、オープンソースへの貢献ガイドラインが整備されています。軽量かつ安全なインターフェースは、モデル中心の API を既存のシェルワークフローに統合するプロセスを簡素化し、開発・企業環境での AI 受容を加速させる可能性があります。
本文
mcpc – Universal MCP コマンドラインクライアント
mcpc は Model Context Protocol (MCP) を直感的なシェルコマンドに変換する軽量 CLI です。Streamable HTTP または stdio 経由で任意の MCP サーバーと通信でき、以下の用途に最適です。
- サーバーの検査
- スクリプト作成
- シェル上で AI エージェントが MCP の「コードモード」を利用可能にする
UNIX 互換シェルスクリプトは最も汎用性の高いコーディング言語です。
主な機能
| 機能 | 説明 |
|---|---|
| 🌎 互換性 | Streamable HTTP または stdio 経由で任意の MCP サーバーと動作 |
| 🔄 永続セッション | 複数接続を同時に維持可能 |
| 🔧 MCP 強力サポート | ツール、プロンプト、リソース、通知等 |
| 🔌 コードモード | JSON 出力で やスクリプト、AI エージェントへの統合が容易 |
| 🤖 AI サンドボックス | 認証済みセッションを安全に公開するプロキシサーバー |
| 🔒 安全性 | OAuth 2.1 完全対応、OS キーチェーンで認証情報保存 |
| 🪶 軽量 | 依存関係最小 – macOS, Windows, Linux で動作 |
目次
- インストール
- クイックスタート
- 使い方
- セッション
- 認証
- MCP プロキシ
- AI エージェント
- スクリプティング & JSON モード
- スキーマ検証
- 設定
- クリーンアップ
- セキュリティ
- エラーハンドリング & エグジットコード
- 開発
- ライセンス
インストール
npm install -g @apify/mcpc
Linux ユーザー
mcpc は OS キーチェーンを使用します。これには Libsecret が必要です:
# Debian/Ubuntu sudo apt-get update && sudo apt-get install libsecret-1-0 # Fedora/RHEL/CentOS sudo dnf install libsecret # Arch Linux sudo pacman -S libsecret
クイックスタート
# すべてのアクティブセッションと保存された OAuth プロファイルを一覧表示 mcpc # リモート MCP サーバーにログインし、OAuth 認証情報を保存 mcpc mcp.apify.com login # リモート MCP サーバーの情報を表示 mcpc mcp.apify.com # スクリプティング用に JSON モードで使用 mcpc mcp.apify.com tools-list --json # 永続 MCP セッションを作成・利用 mcpc mcp.apify.com connect @test mcpc @test tools-call search-actors keywords:="website crawler" mcpc @test shell # config ファイルからローカル MCP サーバー (stdio) と対話 mcpc --config ~/.vscode/mcp.json filesystem tools-list
使い方
Usage: mcpc [options] <target> [command]
一般オプション
| オプション | 説明 |
|---|---|
| JSON 出力(単一オブジェクト/配列) |
| MCP 設定 JSON ファイルへのパス |
| リモートサーバー用 HTTP ヘッダー(複数可) |
| バージョンを表示 |
| デバッグログ |
| OAuth プロファイル ( が省略時) |
, | ツール/プロンプトスキーマの検証 |
| リクエストタイムアウト(デフォルト 300 秒) |
| MCP プロキシサーバーを起動 |
| プロキシアクセスに Bearer トークンを要求 |
| mcpc データ(sessions, logs, profiles, all)をクリーンアップ |
| ヘルプ表示 |
ターゲット & コマンド
-
ターゲット – 以下のいずれか:
(名前付き永続セッション)@<session>
(設定ファイル内のエントリ)<config-entry>
(リモート MCP サーバー)<server-url>
-
管理コマンド (
を省略した場合):<target>
| コマンド | 説明 |
|---|---|
| OAuth プロファイルを作成 |
| OAuth プロファイルを削除 |
| 接続して永続セッションを作成 |
| セッションを終了し再起動 |
| セッションを閉じる |
- MCP コマンド (
が指定された場合):<target>
| コマンド | 説明 |
|---|---|
| サーバー情報表示 |
| インタラクティブシェル |
, , | ツール操作 |
, | プロンプト操作 |
, , | リソース操作 |
| サーバーのログレベル設定 |
| サーバーへの ping |
セッション
MCP は状態を持ちます。
mcpc は各セッションに対して軽量なブリッジプロセスを維持します。
# 永続セッションの作成 mcpc mcp.apify.com connect @apify # セッションとプロファイル一覧表示 mcpc # セッション使用例 mcpc @apify tools-list mcpc @apify shell # 再起動または閉じる mcpc @apify restart mcpc @apify close
セッション状態:
| シンボル | 意味 |
|---|---|
| 🟢 live | ブリッジが稼働中。サーバーがオンラインかもしれない |
| 🟡 crashed | ブリッジがクラッシュ。次回使用時に自動再起動 |
| 🔴 expired | サーバーがセッションを拒否(認証失敗)。再接続必須 |
認証
匿名アクセス
mcpc mcp.apify.com?tools=docs tools-list
Bearer トークン認証
# ワンショットコマンド mcpc --header "Authorization: Bearer ${APIFY_TOKEN}" https://mcp.apify.com tools-list # セッション(トークンはこのセッション用にキーチェーンへ保存) mcpc --header "Authorization: Bearer ${APIFY_TOKEN}" https://mcp.apify.com connect @apify
OAuth プロファイル
# ログイン – デフォルトプロファイル `default` を作成 mcpc mcp.apify.com login # 名前付きプロファイル mcpc mcp.apify.com login --profile work # 異なるプロファイルでセッションを作成 mcpc https://mcp.apify.com connect @personal mcpc https://mcp.apify.com connect @work --profile work
認証の優先順位
フラグ(最も高い優先度)--header- 保存された OAuth プロファイル (
または名前付き)default - 設定ファイルヘッダー
- 認証なし(未認証リクエスト)
必要なプロファイルが存在しない場合、コマンドは失敗しログインを促します。
MCP プロキシ
認証済みセッションを安全に公開するためのローカルプロキシです。
資格情報漏洩はありません。
# ユーザーが認証 mcpc mcp.apify.com login # ローカルホスト 8080 番でプロキシ起動 mcpc mcp.apify.com connect @relay --proxy 8080 # クライアントはプロキシに接続(元のトークンは不要) mcpc localhost:8080 tools-list # オプションで Bearer トークン保護 mcpc mcp.apify.com connect @secure-relay --proxy 8081 --proxy-bearer-token secret123
プロキシオプション:
| オプション | 説明 |
|---|---|
| プロキシサーバー起動(デフォルトホスト: 127.0.0.1) |
| プロキシアクセスに Bearer トークンを要求 |
AI エージェント
ツール呼び出しモード
mcpc @server tools-list mcpc @server tools-get search mcpc @server tools-call search query:="hello world"
コードモード(JSON)
mcpc --json @apify tools-call search-actors keywords:="scraper" \ | jq '.content[0].text | fromjson | .items[0].id' \ | xargs -I {} mcpc @apify tools-call get-actor actorId:="{}"
スクリプティング & JSON モード
は単一の JSON オブジェクト/配列を出力します(成功時は stdout、エラー時は stderr)。--json- MCP サーバーは MCP 仕様に従ってデータを返します。
例: バッチでスキーマをダウンロード
for tool in $(mcpc --json @server tools-list | jq -r '.[].name'); do mcpc --json @server tools-get "$tool" > "schemas/$tool.json" done
スキーマ検証
ツール/プロンプトスキーマを検証して破壊的変更を検出します。
# 期待されるスキーマを保存 mcpc --json @apify tools-get search-actors > expected.json # 呼び出し前に検証(互換性が無いと失敗) mcpc @apify tools-call search-actors --schema expected.json keywords:="test"
検証モード (
--schema-mode):
| モード | 動作 |
|---|---|
(デフォルト) | 新しいオプションフィールドは OK。必須フィールドは型一致 |
| 入力と出力スキーマが完全に一致 |
| 検証を行わない |
設定
設定ファイル形式
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com", "headers": { "Authorization": "Bearer ${APIFY_TOKEN}" } }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"], "env": { "DEBUG": "mcp:*" } } } }
- Streamable HTTP –
、オプションでurl
とheaderstimeout - Stdio – 必須:
。オプション:command
,argsenv
サーバー名を参照:
mcpc --config ~/.vscode/mcp.json filesystem tools-list
環境変数展開
"Authorization": "Bearer ${API_TOKEN}"
クリーンアップ
# 期限切れセッションと古いログを削除 mcpc --clean # 特定リソース(カンマ区切り) mcpc --clean=sessions,logs # すべて削除 mcpc --clean=all
セキュリティ
- OAuth トークン、Bearer トークン、および HTTP ヘッダーは OS キーチェーンに保存
- ブリッジ認証情報は Unix ドメインソケット経由で渡される(メモリ内のみ)
- 設定ファイルには秘密情報を含まない
- ファイル権限: すべてのデータファイルは
0600 - HTTPS はリモートサーバーに対して強制。コールバックは
にバインド127.0.0.1
エラーハンドリング & Exit コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 1 | クライアントエラー(無効な引数、コマンド未検出) |
| 2 | サーバーエラー(ツール実行失敗、リソース不足) |
| 3 | ネットワークエラー(接続失敗、タイムアウト) |
| 4 | 認証エラー(無効な資格情報、禁止) |
--verbose モードでは詳細デバッグログを stderr に出力。
開発
- 初期バージョンは Apify の Jan Curn が Claude Code と共に作成
- コントリビューションガイドラインは
CONTRIBUTING.md - アーキテクチャ概要とコードベース構造も同ファイルで記載
ライセンス
Apache‑2.0 – LICENSE ファイルをご覧ください。