Skip to main content

MCP Sniffer captures network traffic between MCP clients and servers and displays it in a web UI.

Project description

MCP Sniffer

MCP Sniffer captures network traffic between MCP clients and servers.

It runs as a reverse proxy between the client and server, capturing request and response payloads that can be visualized in a web UI.

The following diagram shows how MCP Sniffer fits into the MCP Client-Server Model.

Flow Diagram

For the Web UI - Imagine Google Chrome DevTools' Network Tab for Model Context Protocol.

Following is a very early version of it.

Browse Connections

PyPI - License PyPI - Python Version

Install

pipx install mcp-sniffer

Usage

$ mcp-sniffer --help
usage: mcp-sniffer [-h] [--listen-host LISTEN_HOST] [--listen-port LISTEN_PORT] [--upstream-host UPSTREAM_HOST]
                   [--upstream-port UPSTREAM_PORT] [--web-ui-host WEB_UI_HOST] [--web-ui-port WEB_UI_PORT]
                   [--log-level LOG_LEVEL]

MCP Sniffer

options:
  -h, --help            show this help message and exit
  --listen-host LISTEN_HOST
                        Host to listen on (default: env LISTEN_HOST or 127.0.0.1)
  --listen-port LISTEN_PORT
                        Port to listen on (default: env LISTEN_PORT or 3002)
  --upstream-host UPSTREAM_HOST
                        Upstream host (default: env UPSTREAM_HOST or 127.0.0.1)
  --upstream-port UPSTREAM_PORT
                        Upstream port (default: env UPSTREAM_PORT or 3001)
  --web-ui-host WEB_UI_HOST
                        Web UI host (default: env WEB_UI_HOST or 127.0.0.1)
  --web-ui-port WEB_UI_PORT
                        Web UI port (default: env WEB_UI_PORT or 8888)
  --log-level LOG_LEVEL
                        Log level (default: env LOG_LEVEL or INFO)

Run

mcp-sniffer --listen-port 3002 --upstream-port 3001
# INFO:     Started server process [32580]
# INFO:     Waiting for application startup.
# INFO:     Application startup complete.
# 2025-04-19 00:25:04 devmachine.local mcp_sniffer.proxy[32580] INFO Listening on ('127.0.0.1', 3002)...
# INFO:     Uvicorn running on http://127.0.0.1:8888 (Press CTRL+C to quit)
# INFO:     127.0.0.1:52396 - "GET / HTTP/1.1" 200 OK
# INFO:     127.0.0.1:52396 - "GET /assets/index-C93YJcsR.css HTTP/1.1" 200 OK
# INFO:     127.0.0.1:52397 - "GET /assets/index-CwtNIZdB.js HTTP/1.1" 200 OK
# INFO:     127.0.0.1:52397 - "GET /connections HTTP/1.1" 200 OK

Web UI

Visit http://127.0.0.1:8888.

Setup Setup

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_sniffer-0.1.4.tar.gz (130.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_sniffer-0.1.4-py3-none-any.whl (133.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_sniffer-0.1.4.tar.gz.

File metadata

  • Download URL: mcp_sniffer-0.1.4.tar.gz
  • Upload date:
  • Size: 130.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mcp_sniffer-0.1.4.tar.gz
Algorithm Hash digest
SHA256 c414bc304cac0855e1ea200e87cdb97c130cb1ab0e8613f8fd623f11191e8c5e
MD5 41c02527423fc64ebcd369b83949e1d8
BLAKE2b-256 df9463550b28a9afe93270d9f8ae40c660603e22852a32793e8431fbffeb9b5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sniffer-0.1.4.tar.gz:

Publisher: create-release.yaml on shivdeepak/mcp-sniffer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_sniffer-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mcp_sniffer-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 133.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mcp_sniffer-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 423824fa15518e9475cfd208400ec2195e585dc9ea60c412a42a0c1d8e80ffc1
MD5 6757f5366d4d6bd2de1e14419ccbd5d7
BLAKE2b-256 41ae391ed6babd186ac2869bbdd20aa82d5d02b1f1d806a5f47871423230e2b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sniffer-0.1.4-py3-none-any.whl:

Publisher: create-release.yaml on shivdeepak/mcp-sniffer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page