HAR MCP Server について
HAR MCP Server は、HAR(HTTP Archive)ファイルを解析・分析する MCP サーバーです。ブラウザの開発者ツールから書き出したネットワークトラフィックを AI アシスタントが確認でき、リクエスト詳細では認証ヘッダーを自動的に秘匿化します。
主な機能
- 01ローカルパスまたは HTTP URL から HAR ファイルを読み込み
- 02すべての URL と HTTP メソッドの一覧表示
- 03URL とメソッドによるリクエスト ID の検索
- 04認証ヘッダーを秘匿化したリクエスト詳細の取得
- 05ブラウザ出力の追加フィールドを含む HAR への対応
活用シーン
- 01ページ読み込み時に行われた API 呼び出しを AI アシスタントに分析させる
- 02トラフィック情報を共有する前に Cookie や Authorization ヘッダーを隠す
- 03特定の API エンドポイントのリクエストとレスポンスを確認する
MCP 対応
本プロジェクトは stdio で通信する MCP サーバーで、load_har、list_urls_methods、get_request_ids、get_request_details の 4 つのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
HAR MCP サーバー
HAR(HTTP Archive)ファイルを解析・分析するための Model Context Protocol (MCP) サーバーです。このサーバーにより、AI アシスタントは HAR 形式でキャプチャされたネットワークトラフィックを検査でき、機密性の高い認証ヘッダーを自動的に伏せ字化する機能を標準で備えています。
機能
- ローカルファイルシステムまたは HTTP URL から HAR ファイルを読み込む
- HAR ファイル内でアクセスされたすべての URL と HTTP メソッドを一覧表示する
- 特定の URL とメソッドの組み合わせに対してリクエスト ID を照会する
- 認証ヘッダーを自動的に伏せ字化してリクエストの詳細全体を取得する
- 実世界の HAR ファイルに対応する柔軟な HAR 解析。以下を処理します:
- 時間フィールドの float/小数値(自動的に整数に丸められます)
- プレーンテキストまたは base64 エンコードされたレスポンスコンテンツ
- 基本 HAR 仕様には存在しない追加フィールド
- ブラウザの開発者ツールが生成する標準 HAR 形式をサポート
インストール
この MCP サーバーは、標準的な MCP 設定を使用してインストールできます。
以下の JSON ブロックを mcp 設定に追加してください。
docker を使用する場合
{
"mcp": {
"servers": {
"har": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tjamet/har-mcp"
]
}
}
}
}
go run を使用する場合
あるいは、go run を使用してサーバーを直接実行することもできます。
{
"mcpServers": {
"github": {
"command": "go",
"args": [
"run",
"github.com/tjamet/har-mcp/cmd/har-mcp@main"
]
}
}
}
ソースからのビルド
Docker がない場合は、go build を使用して cmd/har-mcp ディレクトリ内にバイナリをビルドし、github-mcp-server コマンドを使用できます。
ビルドの出力場所を指定するには、-o フラグを使用します。ビルドされた実行ファイルをサーバーの command として使用するように設定する必要があります。例えば:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/har-mcp-server"
}
}
}
}
使用方法
HAR MCP サーバーは stdio ベースの MCP サーバーとして動作し、標準入出力を介して JSON-RPC で通信します。
サーバーの実行
./har-mcp
利用可能なツール
1. load_har
ファイルパスまたは HTTP URL から HAR ファイルを読み込みます。
パラメータ:
source(string、必須): HAR ファイルへのファイルパスまたは HTTP URL
例:
{
"source": "/path/to/capture.har"
}
2. list_urls_methods
読み込まれた HAR ファイルから、アクセスされたすべての URL とその HTTP メソッドを一覧表示します。
パラメータ: なし
戻り値: 関連するリクエスト ID を含む URL/メソッドの組み合わせの配列。
3. get_request_ids
特定の URL と HTTP メソッドに対するすべてのリクエスト ID を取得します。
パラメータ:
url(string、必須): フィルタリングする URLmethod(string、必須): フィルタリングする HTTP メソッド(GET、POST など)
例:
{
"url": "https://api.example.com/users",
"method": "GET"
}
4. get_request_details
リクエスト ID によってリクエストの詳細全体を取得します。認証ヘッダーは自動的に伏せ字化されます。
パラメータ:
request_id(string、必須): 詳細を取得するリクエスト ID
例:
{
"request_id": "request_0"
}
伏せ字化されるヘッダー:
- Authorization
- X-API-Key
- X-Auth-Token
- Cookie
- Set-Cookie
- Proxy-Authorization
Claude Desktop との統合
以下を Claude Desktop の設定に追加してください:
{
"mcpServers": {
"har-mcp": {
"command": "/path/to/har-mcp"
}
}
}
開発
テストの実行
go test ./...
プロジェクト構成
.
├── cmd/
│ └── har-mcp/ # Main application
│ └── main.go
├── pkg/
│ └── har/ # HAR parsing library
│ ├── parser.go
│ └── parser_test.go
├── go.mod
├── go.sum
└── README.md
依存関係
- github.com/google/martian/har - HAR ファイルの解析
- github.com/mark3labs/mcp-go - MCP サーバーの実装
- github.com/stretchr/testify - テストのアサーション
ライセンス
[ここにライセンスを追加してください]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。