**タイトル**  
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 対応サービスをプロトタイピング・テスト・統合できる、シンプルで信頼性の高いツールです。

---

*この情報がお役に立てば投票またはコメントをお願いします!*

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
--schema-mode
)を提供し、Streamable HTTP と stdio 伝送の両方で動作し、自動的に適切なプロトコルを選択します。セッションデータは
~/.mcpc/sessions.json
に、OAuth プロファイルは
~/.mcpc/profiles.json
に、認証情報は OS キーチェーンに安全に保存され、ログは
~/.mcpc/logs/
に書き込まれます。管理コマンド(
login
logout
connect
restart
close
)と MCP コマンド(例:
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 出力で
jq
やスクリプト、AI エージェントへの統合が容易
🤖 AI サンドボックス認証済みセッションを安全に公開するプロキシサーバー
🔒 安全性OAuth 2.1 完全対応、OS キーチェーンで認証情報保存
🪶 軽量依存関係最小 – macOS, Windows, Linux で動作

目次


インストール

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]

一般オプション

オプション説明
-j, --json
JSON 出力(単一オブジェクト/配列)
-c, --config <file>
MCP 設定 JSON ファイルへのパス
-H, --header <header>
リモートサーバー用 HTTP ヘッダー(複数可)
-v, --version
バージョンを表示
--verbose
デバッグログ
--profile <name>
OAuth プロファイル (
default
が省略時)
--schema <file>
,
--schema-mode <mode>
ツール/プロンプトスキーマの検証
--timeout <seconds>
リクエストタイムアウト(デフォルト 300 秒)
--proxy [host:]port
MCP プロキシサーバーを起動
--proxy-bearer-token <token>
プロキシアクセスに Bearer トークンを要求
--clean[=types]
mcpc データ(sessions, logs, profiles, all)をクリーンアップ
-h, --help
ヘルプ表示

ターゲット & コマンド

  • ターゲット – 以下のいずれか:

    • @<session>
      (名前付き永続セッション)
    • <config-entry>
      (設定ファイル内のエントリ)
    • <server-url>
      (リモート MCP サーバー)
  • 管理コマンド (

    <target>
    を省略した場合):

コマンド説明
login
OAuth プロファイルを作成
logout
OAuth プロファイルを削除
connect @<session>
接続して永続セッションを作成
restart @<session>
セッションを終了し再起動
close @<session>
セッションを閉じる
  • MCP コマンド (
    <target>
    が指定された場合):
コマンド説明
help
サーバー情報表示
shell
インタラクティブシェル
tools-list
,
tools-get <name>
,
tools-call <name> …
ツール操作
prompts-list
,
prompts-get <name> …
プロンプト操作
resources
,
resources-list
,
resources-read <uri>
リソース操作
logging-set-level <level>
サーバーのログレベル設定
ping
サーバーへの 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

認証の優先順位

  1. --header
    フラグ(最も高い優先度)
  2. 保存された OAuth プロファイル (
    default
    または名前付き)
  3. 設定ファイルヘッダー
  4. 認証なし(未認証リクエスト)

必要なプロファイルが存在しない場合、コマンドは失敗しログインを促します。


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

プロキシオプション:

オプション説明
--proxy [host:]port
プロキシサーバー起動(デフォルトホスト: 127.0.0.1)
--proxy-bearer-token <token>
プロキシアクセスに 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
    は単一の JSON オブジェクト/配列を出力します(成功時は stdout、エラー時は stderr)。
  • 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
):

モード動作
compatible
(デフォルト)
新しいオプションフィールドは OK。必須フィールドは型一致
strict
入力と出力スキーマが完全に一致
ignore
検証を行わない

設定

設定ファイル形式

{
  "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
    、オプションで
    headers
    timeout
  • Stdio – 必須:
    command
    。オプション:
    args
    ,
    env

サーバー名を参照:

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 ファイルをご覧ください。

同じ日のほかのニュース

一覧に戻る →

2026/01/11 10:50

**Show HN:Ferrite – Rustで作られたマークダウンエディタ、ネイティブMermaid図描画機能付き**

## Japanese Translation: Ferrite は、egui で構築された軽量でネイティブな Rust テキストエディタで、Markdown、JSON、YAML、および TOML ファイルをサポートします。主な編集機能には、WYSIWYG Markdown 編集、ライブプレビュー、クリックで編集できる書式設定ボタン、40 以上の言語に対応した構文ハイライト、正規表現検索&置換、タブごとの Undo/Redo、およびインライン編集が可能な階層データ用トリービューがあります。 表示モードは Raw エディタ、レンダリングビュー、分割ビュー(可変サイズの区切り線付き)、Zen モード、Raw とレンダリングビュー間の双方向同期スクロールから構成されます。 MermaidJS ダイアグラム描画は完全に統合されており、11 種類のダイアグラムをサポートします;バージョン 0.2.1 では高度なシーケンス制御フローブロックとネストされた状態が追加されました。 ワークスペース機能:フォルダーをファイルツリーで開く、クイックスイッチャー(`Ctrl+P`)、検索‑イン‑ファイル(`Ctrl+Shift+F`)、Git 統合(ステータスアイコン、ステージング、コミット、プッシュ/プル、競合解決)およびセッション永続化により、タブ、カーソル位置、およびスクロールオフセットが再起動時に復元されます。 追加の UI オプションには、実行時切替可能なライト/ダークテーマ、ドキュメントアウトラインパネル、テーマ付き HTML へのエクスポートまたは HTML としてコピー、書式設定ツールバー、JSON/YAML をシェルコマンドでパイプするライブパイプライン、およびカスタム境界なしウィンドウモードがあります。 インストールはプリビルトバイナリ(Windows zip、macOS tar.gz、Linux .deb または tar.gz)またはソースビルド(`cargo build --release`)で利用可能です。Rust 1.70+ とプラットフォーム固有の依存関係が必要です。主なショートカット:ファイル操作は `Ctrl+N/O/S/W`、タブは `Ctrl+Tab/Shift+Tab`、クイックスイッチャーは `Ctrl+P`、フルスクリーンは `F11`、設定は `Ctrl+,` などです。 Ferrite は MIT ライセンスの下でオープンソースであり、Rust 1.70+、egui 0.28、comrak 0.22(Markdown パーシング)、syntect 5.1(構文ハイライト)、git2 0.19(Git 統合)に依存しています。

2026/01/11 3:58

**GhostTyの最大メモリリークを発見し修正する**

## Japanese Translation: Ghostty の長時間にわたるセッションは、`mmap`(スクロールバックバッファに使用される)で割り当てられたページが解放されないため、最大 37 GB の RAM をリークしていました。アプリはターミナルコンテンツを **PageList** に保存します。これは「標準」(プールから取得したもの)または「非標準」(`mmap`)のメモリページで構成される双方向リンクリストです。スクロールバックの削減時に、Ghostty は誤って最も古いページを新しいページとして再利用します:そのメタデータだけを「標準サイズ」にリサイズし、大きな `mmap` 割り当てはそのまま残します。この再利用されたページが後で解放されると、Ghostty はそれを標準とみなし、`munmap` を呼び出す代わりにプールへ返却してしまい、メモリブロックがリークしたままとなります。 このバグは Ghostty 1.0 から存在しましたが、大量のスクロールバックバッファ(例:多くの絵文字とハイパーリンクを含む Claude Code など)を生成する CLI アプリでのみ顕在化し、非標準ページ割り当てをトリガーします。既存のリーク検出器は特定の実行時条件下で発生するため、検知できませんでした。 新しいテストが問題を再現しリークを確認しました。統合された修正では、削減中に **非標準ページを破棄**(`self.destroyNode(first)`)し、プールから新しい標準サイズのページで置き換えるようになっています。この修正は Ghostty 1.3(3 月)に組み込まれます。既に Nightly リリースにはパッチが含まれています。 さらに、macOS のメモリタグ付け(`mach.taggedPageAllocator(.application_specific_1)`)を追加し、PageList 割り当てにタグを付与して修正の検出と確認を簡素化しました。この更新により、長時間ターミナルセッションを実行するユーザー—特に重い CLI ワークロードを扱う開発者は――メモリ使用量が急増する問題が解消され、個人およびプロダクションでアプリに依存している組織の両方に対し、より安定かつ信頼性の高い Ghostty エクスペリエンスを提供します。

2026/01/11 1:56

**HNの投稿:** 「Claude Code を使って100冊の本との関連性を発見しました」

## Japanese Translation: **概要** 本文は、スタートアップのピボットが巧妙な洞察よりもむしろ絶望感から動かされることが多いと主張しています。後知恵バイアスがこれらの反応的シフトを事後的に戦略的計画として見せかけ、意図的な天才像を与える仕方を説明しています。代表例として、Odeo が新しいベンチャーへと変貌するケースが挙げられ、ピボット手法の実践的なテキストブック例として機能します。著者は将来のピボットも短期的圧力によって促される反応的なものに留まる可能性が高いと予測し、このパターンを認識することで、創業者・投資家・チームがスタートアップエコシステム内で戦略やリスクについて考える方法を再構築し、企業が方向転換する理由をより現実的に評価できるよう促すと述べています。

**タイトル** 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 対応サービスをプロトタイピング・テスト・統合できる、シンプルで信頼性の高いツールです。 --- *この情報がお役に立てば投票またはコメントをお願いします!* | そっか~ニュース