Communitygithub.com

ShristiLabs/madhyamas

軽量なHTTPプロキシとWeb UIを提供するツール

madhyamas とは?

MadhyamasはRustで構築されたオープンソースのHTTP/HTTPSデバッグプロキシです。クライアントとサーバー間のトラフィックをキャプチャ、検査、操作できる統合バイナリであり、プロキシサーバー、Web UI、MCPサーバー、CLIを備えています。特にAIエージェントとの統合を重視しており、MCPツール、CLIコマンド、REST APIの3つのインターフェースを提供します。これによりClaude DesktopやWindsurfなどのMCP対応エージェントから直接トラフィック操作が可能になります。トラフィック検査、モックレスポンス作成、ブレークポイント設定、リライト、スロットリング、リプレイ、gRPC/WebSocket検査、スクリプティングなど、多彩な機能を備えています。

対応✓Claude Code~Codex CLI✓Cursor✓OpenCode✓Windsurf
npx skills add ShristiLabs/madhyamas

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Madhyamas Proxy — AIエージェントガイド

Madhyamasは、Rustで構築されたオープンソースのHTTP/HTTPSデバッグプロキシです。クライアントとサーバー間のトラフィックをキャプチャ、検査、操作します。統合されたmadhyamasバイナリは、プロキシサーバー、Web UI、MCPサーバー、CLIを提供します。

クイックスタート

# 1. インストール(いずれかを選択)
cargo install madhyamas                          # crates.ioから
cargo build --release -p madhyamas               # ソースから
# またはGitHub Releasesからビルド済みバイナリをダウンロード

# 2. プロキシサーバーを起動
madhyamas serve
# プロキシは :8888 で、API/Web UIは :3001 で待ち受け

# 3. 確認
curl http://localhost:3001/api/health
# 戻り値: OK

クライアントがプロキシlocalhost:8888を使用するように設定してください。HTTPSインターセプションを行うには、~/.madhyamas/certs/madhyamas-ca.pemからCA証明書をインストールします(またはGET /api/cert/caでダウンロード)。

詳細なインストール、設定、CA証明書のセットアップについては、references/setup.mdを参照してください。

インターフェースの選択

Madhyamasは3つのインターフェースを公開しています。状況に応じて適切なものを使用してください。

インターフェース使用するタイミングセットアップリファレンス
MCPツールMCP対応エージェント(Claude Desktop、Windsurfなど)内で使用madhyamas mcp(stdioトランスポート)references/mcp-tools.md
CLIコマンドシェルアクセス、スクリプティング、端末ベースのエージェントで使用madhyamas <command> <subcommand>references/cli-commands.md
REST API細かい制御、カスタムスクリプト、直接HTTPアクセスcurl http://localhost:3001/api/...references/rest-api.md

3つのインターフェースはすべて同じ基盤機能を公開しています。MCPツールとCLIコマンドはREST APIのラッパーです。

重要な概念

  • プロキシポート: プロキシは:8888(HTTP/HTTPSトラフィック)、API/UIは:3001
  • CA証明書: ~/.madhyamas/certs/に自動生成。HTTPSインターセプションのためにシステムのトラストストアにインストール
  • セッション: トラフィックを名前付きセッションに整理。デフォルトセッションが自動作成
  • キャプチャモード: 記録(デフォルト)はトラフィックをキャプチャし、パススルーは記録せずに転送
  • インターセプションパイプライン順序: リライト(優先度10)→ モック(20)→ ブレークポイント(30)→ スロットル(40)
  • データディレクトリ: ~/.madhyamas/ には certs/、logs/、traffic.db(SQLite)が含まれる
  • MCPサーバー: madhyamas mcp を実行してstdioベースのMCPトランスポートを起動。MADHYAMAS_API_URL を設定して実行中のプロキシインスタンスに接続

コアワークフロー

ワークフロー説明リファレンス
セットアップインストール、設定、クライアント接続、CA証明書のインストールsetup.md
トラフィック検査キャプチャしたHTTP/HTTPSトラフィックの一覧表示、フィルタリング、検索、分析traffic-inspection.md
モックレスポンスモックルールを作成してインターセプトし、偽のレスポンスを返すmocking.md
ブレークポイントリクエスト/レスポンスを一時停止して検査・変更breakpoints.md
リライト一致するトラフィックのURL、ヘッダー、本文を変更rewrites.md
スロットリング遅い/不安定なネットワーク状態をシミュレートthrottling.md
リプレイキャプチャしたリクエストを変更して再実行replay.md
セッションデバッグセッションの作成、切り替え、エクスポート、インポートsessions.md
gRPC検査gRPC接続、ストリーム、フレームの検査(実験的)grpc.md
スクリプティングJS/TSスクリプトでトラフィック操作を自動化(実験的)scripting.md
プラグイン拡張機能のためのRustプラグイン管理(実験的)plugins.md
WebSocketWebSocket接続のトラフィックとメッセージを検査websockets.md
エクスポート/インポートHARエクスポート、cURLエクスポート、ルールの永続化export-import.md
トラブルシューティング証明書エラー、ポート競合、DBロック、TLS障害troubleshooting.md
ハーネスセットアップClaude、Windsurf、CursorなどでMCPを設定harness-setup.md

リファレンスインデックス

ファイル読むタイミング
references/setup.md初回セットアップ、インストール、CA証明書、クライアント設定
references/mcp-tools.mdパラメータ付きの全67のMCPツールの完全リファレンス
references/cli-commands.mdフラグ付きの全58のCLIサブコマンドの完全リファレンス
references/rest-api.md130以上のREST APIエンドポイントの完全リファレンス
references/traffic-inspection.mdキャプチャしたトラフィックのフィルタリング、検索、分析
references/mocking.mdモックレスポンスの作成と管理
references/breakpoints.mdトラフィックの一時停止と変更
references/rewrites.mdURL/ヘッダー/本文の書き換えルール
references/throttling.mdネットワーク状態のシミュレーション
references/replay.mdリクエストの再生と保存
references/sessions.mdセッション管理
references/grpc.mdgRPCトラフィック検査
references/scripting.mdJavaScript/TypeScriptスクリプティング
references/plugins.mdプラグイン管理
references/websockets.mdWebSocketトラフィック検査
references/export-import.mdHAR/cURLエクスポート、永続化
references/troubleshooting.md一般的な問題と解決策
references/harness-setup.mdハーネスごとのMCP設定

MCPサーバーのセットアップ

AIエージェント統合用にMCPサーバーを実行します。

madhyamas mcp                    # stdioトランスポート、localhost:3001に接続
MADHYAMAS_API_URL=http://host:3001 madhyamas mcp  # カスタムAPI URL

エージェントのMCP設定に追加:

{
  "mcpServers": {
    "madhyamas": {
      "command": "/path/to/madhyamas",
      "args": ["mcp"],
      "env": { "MADHYAMAS_API_URL": "http://127.0.0.1:3001" }
    }
  }
}

ハーネス別の設定(Claude Desktop、Windsurf、Cursor、OpenCode、CommandCode、Devin)については、references/harness-setup.mdを参照してください。

よくあるパターン

失敗したAPI呼び出しのデバッグ:

  1. プロキシを起動: madhyamas serve
  2. クライアントをプロキシ使用に設定
  3. 問題を再現
  4. トラフィックを検査: madhyamas traffic list --status 500 またはMCP madhyamas_get_traffic で status=500
  5. 詳細を取得: madhyamas traffic get <id> またはMCP madhyamas_get_traffic_entry

APIエンドポイントのモック:

  1. モックを作成: madhyamas mocks create --url-pattern "*/api/auth*" --status-code 200 --body '{"token":"fake"}'
  2. またはMCP: madhyamas_create_mock で url_pattern="*/api/auth*"、status_code=200、body='{"token":"fake"}'
  3. クライアントからモックされたエンドポイントをテスト

低速ネットワークでのテスト:

  1. スロットルを有効化: madhyamas throttle set --download-bps 50000 --delay-ms 200 && madhyamas throttle enable
  2. またはMCP: madhyamas_set_throttle で download_bps=50000, delay_ms=200, enabled=true
  3. ワークフローを再現して低速状態での動作を確認

関連スキル