AM

appsecco/mcp-client-and-proxy

Developer tools公式

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

25 stars 4 forks 品質 68 トレンド 11MIT

STDIOトランスポートをサポートするMCPサーバーとやり取りするプロキシ機能を備えたユニバーサルMCPクライアント.

概要

インターセプションプロキシを使用して、モデルコンテキストプロトコル(MCP)トラフィックを傍受、検査、変更できるセキュリティテストツールです。 ローカルまたはリモートから任意のMCPサーバーに接続し、セキュリティ分析のための選択のプロキシを介してすべてのトラフィックをルーティングできるユニバーサルMCPクライアントとして機能します。 - — インターセプションプロキシを介してすべてのMCPトラフィックをルート - - ローカルstdioサーバー、mcp-remote経由のリモート、または直接HTTP / SSEエンドポイント - - ローカルリレートラフィックとバックエンドHTTPSトラフィックの両方をインターセプト - - PKCEで自動MCP-spec-compliant OAuthフロー - APIキー、Bearerトークン、カスタムヘッダ - - HTTP / 2で直接接続 httpx - Burpを介してサブプロセストラフィックをルート - すべてのClipは、後でログを呼び出します。 - Python 3.7 + - Node.

概要(AI 翻訳)

Burp Suite / ZAPによるMCP Serverトラフィックの傍受とプロキシ

お問い合わせ

これは何ですか?

Appsecco MCP Client と Proxy は、Burp Suite やZAP などのインターセプションプロキシを使用して、モデルコンテキストプロトコル(MCP)トラフィックをインターセプト、検査、および変更できるセキュリティテストツールです。

ローカルまたはリモートから任意のMCPサーバーに接続し、セキュリティ分析のための選択のプロキシを介してすべてのトラフィックをルーティングできるユニバーサルMCPクライアントとして機能します。

主要機能

  • Burp Suite / ZAPインテグレーション — インターセプションプロキシを介してすべてのMCPトラフィックをルートする
  • 複数の接続モード — ローカル stdio サーバー、リモート [mcp-remote] 経由、または HTTP/SSE エンドポイントを指示
  • 完全な交通可視性 —ローカル 中継の交通を断ち、HTTPSの交通をバックエンド
  • OAuth 2.1 サポート — PKCE で自動 MCP-spec-compliant OAuth フロー -Static Header Auth — APIキー、Bearerトークン、カスタムヘッダー
  • ** HTTP/2 サポート** — 直接リモート接続は HTTP/2 で httpx を使用します
  • Proxychainsインテグレーション — Burpによるルートサブプロセストラフィック -Session Logging — すべてのCLIの出力は、後でレビューするためにタイムスタンプされたログファイルにティーズされます

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

Appsecco MCP Client and Proxy

Intercept and Proxy MCP Server Traffic Through Burp Suite / ZAP


What is this?

The Appsecco MCP Client and Proxy is a security testing tool that lets you intercept, inspect, and modify Model Context Protocol (MCP) traffic using interception proxies like Burp Suite or ZAP.

It acts as a universal MCP client that can connect to any MCP server — local or remote — and route all traffic through your proxy of choice for security analysis.

Key Features

  • Burp Suite / ZAP Integration — Route all MCP traffic through your interception proxy
  • Multiple Connection Modes — Local stdio servers, remote via mcp-remote, or direct HTTP/SSE endpoints
  • Full Traffic Visibility — Intercept both local relay traffic AND backend HTTPS traffic
  • OAuth 2.1 Support — Automatic MCP-spec-compliant OAuth flow with PKCE
  • Static Header Auth — API keys, Bearer tokens, custom headers
  • HTTP/2 Support — Direct remote connections use httpx with HTTP/2
  • Proxychains Integration — Route subprocess traffic through Burp
  • Session Logging — All CLI output is tee’d to a timestamped log file for later review
  • Interactive CLI — Select servers, list tools, call tools with arguments

Installation

Prerequisites

  • Python 3.7+
  • Node.js 18+ and npm (for npx-based MCP servers)
  • Proxychains (optional, for routing subprocess traffic)
  • Burp Suite or ZAP (for traffic interception)

Setup

# Clone the repository
git clone https://github.com/appsecco/mcp-client-and-proxy.git
cd mcp-client-and-proxy

# Create and activate virtual environment
python3 -m venv venv && source venv/bin/activate

# Install Python dependencies
pip3 install -r requirements.txt

# Install Node.js dependencies (for backend traffic interception)
npm install -g global-agent
npm install undici

Install Proxychains (optional)

  • macOS: brew install proxychains-ng
  • Ubuntu/Debian: sudo apt-get install proxychains
  • CentOS/RHEL: sudo yum install proxychains

Quick Start

1. Configure your MCP servers

Create or edit mcp_config.json:

{
  "mcpServers": {
    "my-remote-mcp": {
      "url": "https://remote.example.com/mcp"
    }
  }
}

2. Start Burp Suite

Launch Burp Suite listening on 127.0.0.1:8080 (the default).

3. Run the tool

# For remote MCP servers (direct-remote mode)
python3 app.py

# For local stdio / mcp-remote servers (starts local proxy on port 3000)
python3 app.py --start-proxy

4. Interact

GitHub で README 全文を見る

インストール

npx -y mcp-remote https://remote.example.com/mcp
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "my-remote-mcp": { "url": "https://remote.example.com/mcp" } } }