Skip to main content
Glama
Rockheung

mitmproxy-mcp

by Rockheung
README.md
# mitmproxy-mcp

mitmproxy 기반 MCP 서버. Claude Code에서 HTTP 트래픽을 조회/수정/차단할 수 있다.

## 아키텍처

```
Claude Code ←(stdio/JSON-RPC)→ mitmdump -s addon.py (단일 프로세스)
                                 ├── MCP Server (FastMCP, stdio transport)
                                 └── mitmproxy addon (flow 캡처/수정)
```

## 설치

```bash
# uv 사용 (권장)
cd ~/rockheung/mitmproxy-mcp
uv sync
```

## 사용법

### 직접 실행

```bash
uv run mitmdump -s src/mitmproxy_mcp/server.py --listen-port 8080 \
    --set console_eventlog_verbosity=error
```

### Claude Code MCP 설정

`~/.claude.json` 또는 프로젝트 `.claude/settings.json`에 추가:

```json
{
  "mcpServers": {
    "mitmproxy": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/Users/heungjun/rockheung/mitmproxy-mcp",
        "mitmdump",
        "-s", "src/mitmproxy_mcp/server.py",
        "--listen-port", "8080",
        "--set", "console_eventlog_verbosity=error"
      ]
    }
  }
}
```

### 브라우저 프록시 설정

프록시 주소: `http://localhost:8080`

SSL 인증서 설치: 프록시 실행 중 `http://mitm.it` 방문

## MCP 도구 목록

| 도구 | 설명 |
|------|------|
| `get_version` | mitmproxy 버전 정보 |
| `get_proxy_status` | 프록시 상태 (포트, 레코딩 여부) |
| `get_certificate_status` | CA 인증서 상태 |
| `get_flows` | 캡처된 HTTP flow 목록 |
| `get_flow_detail` | 특정 flow 상세 정보 |
| `filter_flows` | 고급 필터링 |
| `export_flow_curl` | flow를 cURL로 내보내기 |
| `clear_session` | 캡처 데이터 삭제 |
| `toggle_recording` | 기록 시작/중지 |
| `create_map_local` | URL → 로컬 파일 매핑 |
| `create_map_remote` | URL → 다른 URL 리다이렉트 |
| `create_intercept` | flow 인터셉트 |
| `create_block_rule` | URL 차단 |
| `list_rules` | 활성 규칙 목록 |