1. Conduid
  2. Developer Tools
  3. Diagnose MCP
MCP server · Developer Tools

Diagnose MCP

A proxy MCP server for diagnosing MCP servers

Unclaimed MIT last commit 9 months ago devtools
53Fair

Scored yesterday · breakdown

About Diagnose MCP

Diagnose MCP is an MCP server published by shizhMSFT in the Developer Tools category: a proxy MCP server for diagnosing MCP servers. It has been installed 0 times through Conduid.

The repository has 1 stars and 0 forks, with the last commit 9 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx diagnose-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Diagnose MCP

Powered by Claude · Grounded in docs

I know everything about Diagnose MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.2.0v0.2.0 · 4 Dec 2025What's Changed feat: implement periodic log upload to Azure Blob Storage and refactor logging setup by @shizhMSFT in https://github.com/shizhMSFT/diagnose-mcp/pull/7 refactor: replace fsnotify with fspoll for file watching functionality by…
v0.1.0v0.1.0 · 3 Dec 2025What's Changed feat: initial implementation by @shizhMSFT in https://github.com/shizhMSFT/diagnose-mcp/pull/1 feat: stream log to Azure Blob Storage by @shizhMSFT in https://github.com/shizhMSFT/diagnose-mcp/pull/2 feat: add GitHub Actions…

README

diagnose-mcp

MCP Protocol Proxy Server - A transparent proxy for debugging and monitoring Model Context Protocol (MCP) servers.

Features

  • Local MCP Server Proxying: Intercept and log all MCP messages between client and local server
  • Remote WebSocket Support: Connect to remote MCP servers via HTTP/WebSocket
  • Transparent Pass-Through: Messages are forwarded without modification
  • Detailed Logging: Track requests, responses, notifications, and progress updates
  • Log File Support: Write logs to files with dynamic pattern support ({timestamp}, {session}, {pid})
  • Azure Blob Logging: Periodically upload logs to Azure Blob Storage (every 10s) for dev/test environments
  • File Monitoring: Watch files for changes and display new content (tail-like behavior, non-blocking)
  • Text Format (default): Human-readable timestamps, log levels, message types
  • JSON Format (--json): Structured output for parsing by other tools
  • Verbose Mode (--verbose): Include full message payloads (readable text or base64 for binary data)
  • Environment Pass-Through: Server inherits all parent environment variables
  • Graceful Shutdown: Signal handling (SIGTERM/SIGINT) with session statistics

Installation

go install github.com/shizhMSFT/diagnose-mcp/cmd/diagnose-mcp@latest

Or build from source:

git clone https://github.com/shizhMSFT/diagnose-mcp.git
cd diagnose-mcp
go build -o diagnose-mcp ./cmd/diagnose-mcp

Usage

Local Mode (Proxy Local MCP Server)

diagnose-mcp <server-binary> [server-args...]

Examples:

# Basic usage
diagnose-mcp ./my-mcp-server

# With server arguments
diagnose-mcp ./my-mcp-server --port 8080 --config server.json

# Verbose mode (shows full message payloads)
diagnose-mcp --verbose ./my-mcp-server

# JSON output format
diagnose-mcp --json ./my-mcp-server | jq .

# Write logs to file with timestamp and session ID (ordered chronologically)
diagnose-mcp --log-file "logs/{timestamp}-{session}.log" ./my-mcp-server

# Periodically upload logs to Azure Blob Storage (for dev/test without file access)
diagnose-mcp --log-blob-url "https://<account>.blob.core.windows.net/<container>/<blob>?<sas>" ./my-mcp-server

# Watch files for changes
diagnose-mcp --watch /tmp/server.log --watch /tmp/config.json ./my-mcp-server

# Remote WebSocket server
diagnose-mcp --remote ws://localhost:8080/mcp

Azure Blob Storage Logging (Dev/Test)

For environments where log files can't be exported, upload logs to Azure Blob Storage.
Logs are written locally and uploaded every 10 seconds to a block blob.
Note: Requires an existing Azure Storage Account.

# Quick setup with helper script
./examples/setup-azure-blob-logging.sh --account mystorageaccount

# Use the generated URL
export LOG_BLOB_URL="https://..."
diagnose-mcp --log-blob-url "$LOG_BLOB_URL" ./my-mcp-server

See examples/azure-blob-logging.md for detailed setup and usage.

GitHub Copilot Integration

You can use diagnose-mcp as a transparent proxy to debug and monitor MCP servers used by GitHub Copilot Coding Agent.

MCP Configuration Template

Add the following configuration to your Copilot MCP settings to proxy an existing MCP server:

{
  "mcpServers": {
    "your-mcp-server": {
      "type": "local",
      "command": "bash",
      "args": [
        "-c",
        "cd $(mktemp -d) && curl -sSL https://github.com/shizhMSFT/diagnose-mcp/releases/download/v0.2.0/diagnose-mcp_0.2.0_linux_amd64.tar.gz | tar -xz && ./diagnose-mcp \"$@\"",
        "_",
        "--verbose",
        "--log-blob-url",
        "$LOG_BLOB_URL",
        "your-mcp-server-command",
        "server-args..."
      ],
      "env": {
        "LOG_BLOB_URL": "COPILOT_MCP_LOG_BLOB_URL"
      }
    }
  }
}

Configuration Parameters:

  • your-mcp-server: Replace with your MCP server name
  • your-mcp-server-command: Replace with the actual command to start your MCP server (e.g., npx, python, etc.)
  • server-args...: Replace with any arguments your MCP server requires
  • COPILOT_MCP_LOG_BLOB_URL: The name of the GitHub Actions secret containing your Azure Blob Storage SAS URL for log uploads (see Azure Blob Storage Logging section above). Configure this secret in your GitHub Copilot environment settings.
  • env: You can add additional environment variables as needed. Values can be either GitHub Actions secret names (beginning with COPILOT_MCP_) or string literals.
  • --verbose: Include full message payloads in logs (optional, remove for less verbose output)
  • --log-blob-url: Upload logs to Azure Blob Storage (required for GitHub Copilot environments where the container filesystem is not directly accessible)

Additional Options:

You can add other diagnose-mcp flags to the args array as needed:

  • --json: Output logs in JSON format
  • --watch: Monitor additional files (e.g., --watch, /path/to/file.log)

For more details on extending GitHub Copilot with MCP servers, see the official documentation.

README mirrored from the source repository yesterday. The original is authoritative.

Questions

About Diagnose MCP

How do I install Diagnose MCP?

Run npx diagnose-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Diagnose MCP safe to use with an AI agent?

Its trust score is 53 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Diagnose MCP still maintained?

The last commit was 9 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.