Skip to main content

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

Reason this release was yanked:

web ui wasn't included

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.2.tar.gz (19.3 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.2-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_sniffer-0.1.2.tar.gz
  • Upload date:
  • Size: 19.3 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.2.tar.gz
Algorithm Hash digest
SHA256 e57f4aafa13910544ebaa4164ac003e9245e6dca3fde7fdcb32405edf8697e64
MD5 6682455bf1b3fe8e55fde7f570919ab2
BLAKE2b-256 d23ba54a0d9427a8de774b554c861801683a2f71bf75ed6d3d50a16d2d4edb5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sniffer-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: mcp_sniffer-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf60f4049babd5fe8e6e94841dc17fb675c18c2b7b15057b33f202d1fb5fd1af
MD5 ee4b2d875538f770d508446e9493ce59
BLAKE2b-256 d8be3ba60cadacd7aec752dd728c6a0e87a383e19b3818eb1d44361fee606f6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sniffer-0.1.2-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