kerlenton/mcpsnoop

Wireshark for MCP. A transparent proxy that shows every real tool call between your AI client and your MCP servers, live in your terminal.

它解決的問題

mcpsnoop 是 Model Context Protocol (MCP) 的透明代理,可視為 MCP 的「Wireshark」。它解決了 AI 客戶端(如 Cursor、Claude Code 或 Codex)與其 MCP 伺服器之間實際通訊內容無法察覺的問題。與官方的 MCP Inspector 不同,後者作為獨立的客戶端運作,mcpsnoop 則直接位於資料傳輸路徑中,讓開發者能看見每一筆真實的工具呼叫、辨識卡住的呼叫、偵測格式錯誤的 JSON-RPC 資料框,並發現工具定義的偏移。

如何運作

此工具在單一二進位檔中扮演兩個角色:透明的外殼(shim)與中心節點(hub)。當以外殼模式使用時(mcpsnoop -- <server>),它會將客戶端與伺服器之間的位元組原封不動地轉發,同時將每一筆資料框複製到中心節點。中心節點(mcpsnoop 不帶參數執行)提供一個即時的終端使用者介面(TUI)來監控與分析流量。這兩個元件會透過一個已知的通訊端點與磁碟日誌自動配對。它支援 stdio 與可串流的 HTTP 伺服器,並可透過 GitHub Action 整合至 CI/CD 管線,根據錯誤或延遲預算來失敗任務。

適用對象

需要即時、高保真度觀察 JSON-RPC 流量與工具執行效能的開發者,特別是那些在建置或除錯 MCP 伺服器與 AI 客戶端的人。

主要特色

  • 即時監控:即時 TUI,可即時觀看工具呼叫與 JSON-RPC 資料框。
  • CI 整合:提供 GitHub Action,可在出現受限制的錯誤時提交程式碼掃描警示並失敗任務。
  • HTTP 代理:支援可串流的 HTTP 伺服器,並提供詳細的 HTTP 狀態追蹤。
  • 可觀察性:內建 Prometheus 指標,用於統計工具呼叫次數、錯誤率與延遲直方圖。
  • 會話管理:可將會話匯出為 JSON、HTML、文字、HAR 或 OTLP 格式,以供事後分析。
  • 資料遮蔽:提供工具以清除日誌中的密碼、金鑰與特定路徑,確保分享時的安全性。
  • 零設定安裝:提供簡單的 wrap/unwrap 命令,方便配置 Claude Desktop。

相關

  • Dispatch
  • 專案
  • 專案
  • 專案
  • 專案