
Product
Introducing Tier 1 Reachability: Precision CVE Triage for Enterprise Teams
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Universal MCP Server Manager - Configure Once, Manage Everything!
MCPDog is a powerful MCP (Model Context Protocol) server manager that allows you to use multiple MCP servers through a single interface. Perfect for MCP clients like Claude Desktop, Cursor, and other AI assistants that support MCP.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client: │ │ MCP Client: │ │ MCP Client: │
│ (Claude) │ │ (Cursor) │ │ (Gemini CLI) │
└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │
└──────────────────────┼──────────────────────┘
│
┌─────────────▼─────────────┐
│ MCPDog │
│ (Single Entry Point) │
└────────────┬──────────────┘
│
┌──────────────────────┼──────────────────────┐
│ │ │
┌─────▼─────┐ ┌──────▼──────┐ ┌─────▼─────┐
│MCP Server:│ │ MCP Server: │ │MCP Server:│
│ GitHub │ │ Memory │ │ Puppeteer │
└───────────┘ └─────────────┘ └───────────┘
MCPDog acts as a proxy layer that combines multiple MCP servers into one unified interface. Instead of configuring each MCP server separately in your client, you configure MCPDog once and it manages all your servers for you.
Choose the deployment method that best fits your needs:
Perfect for local development and personal use. MCPDog runs automatically when your MCP client starts.
Step 1: Configure your MCP client (Claude Desktop/Cursor)
{
"mcpServers": {
"mcpdog": {
"command": "npx",
"args": ["mcpdog@latest"]
}
}
}
Step 2: Open dashboard to add MCP servers
http://localhost:3000
when MCPDog is running~/.mcpdog/mcpdog.config.json
That's it! MCPDog starts automatically with your MCP client and manages all your servers.
Run MCPDog in a Docker container for isolated, controlled environments without authentication.
Step 1: Build and start MCPDog container
# Build the image (this may take a few minutes)
docker build -t mcpdog .
# Start the container with proper config mounting
docker run -d --name mcpdog \
-p 3000:3000 -p 4000:4000 \
-v ~/.mcpdog:/home/appuser/.mcpdog \
mcpdog
# Check container status and logs
docker ps --filter name=mcpdog
docker logs -f mcpdog --tail 20
Important: The container expects the config file at
/home/appuser/.mcpdog/mcpdog.config.json
. The volume mount-v ~/.mcpdog:/home/appuser/.mcpdog
ensures your local config directory is properly mapped to the container's expected location.
Step 2: Configure your MCP client to use HTTP transport
{
"mcpServers": {
"mcpdog-http": {
"type": "streamable-http",
"url": "http://localhost:4000"
}
}
}
Step 3: Manage via web dashboard
http://localhost:3000
to configure serversDeploy MCPDog to the cloud for access across different development environments with authentication.
Step 1: Deploy container to cloud with authentication
# Build the image
docker build -t mcpdog .
# Deploy to cloud
docker run -d --name mcpdog-cloud \
-p 3000:3000 -p 4000:4000 \
-e MCPDOG_AUTH_TOKEN=your_secure_token_here \
-v /path/to/config:/home/appuser/.mcpdog \
mcpdog
Step 2: Configure your MCP client with authentication
{
"mcpServers": {
"mcpdog-http": {
"type": "streamable-http",
"url": "https://your-cloud-domain.com:4000",
"headers": {
"Authorization": "Bearer your_secure_token_here"
}
}
}
}
Step 3: Access authenticated web dashboard
https://your-cloud-domain.com:3000
Once MCPDog is running (any deployment method), use the web dashboard to:
Method | Best For | Setup Complexity | Security |
---|---|---|---|
Local Development | Personal use, quick start | ⭐ Simple | Local only |
Local Docker | Isolated environments, testing | ⭐⭐ Medium | Containerized |
Cloud Deployment | Team use, multi-environment | ⭐⭐⭐ Advanced | Authenticated |
🎯 Configure Once, Manage Everything!
npx mcpdog@latest config list
# Basic server with auto-detection
npx mcpdog@latest config add my-server "npx @some/mcp-server@latest" --auto-detect
# HTTP server
npx mcpdog@latest config add api-server https://api.example.com --transport streamable-http
# With custom timeout
npx mcpdog@latest config add slow-server "npx @slow/mcp-server@latest" --timeout 60000
npx mcpdog@latest config update my-server --timeout 45000 --description "Updated description"
npx mcpdog@latest config remove old-server
npx mcpdog@latest config show my-server
npx mcpdog@latest status
# Detect for all servers
npx mcpdog@latest detect --all
# Detect for specific server
npx mcpdog@latest detect my-server
# Preview optimizations
npx mcpdog@latest optimize --all --preview
# Apply optimizations
npx mcpdog@latest optimize --all --apply
# Health check
npx mcpdog@latest diagnose --health-check
# Auto-fix issues
npx mcpdog@latest diagnose --fix
# Start with default settings
npx mcpdog@latest daemon start
# Start with custom web port
npx mcpdog@latest daemon start --web-port 3000
# Start in background
npx mcpdog@latest daemon start --background
npx mcpdog@latest daemon stop
npx mcpdog@latest daemon status
The web dashboard provides a visual interface for managing your MCP servers:
npx mcpdog@latest daemon start --web-port 3000
http://localhost:3000
in your browserNote: The daemon will continue running in the background. To stop it, use
npx mcpdog@latest daemon stop
.
MCPDog uses configuration files to store server settings:
~/.mcpdog/mcpdog.config.json
(recommended)./mcpdog.config.json
--config
flagTip: The default configuration file is stored in the
~/.mcpdog/
directory:
- macOS/Linux:
/Users/username/.mcpdog/
- Windows:
C:\Users\username\.mcpdog\
This is the recommended location for storing your server configurations across all platforms.
{
"version": "2.0.0",
"servers": {
"playwright": {
"name": "playwright",
"enabled": true,
"transport": "stdio",
"command": "npx",
"args": ["@playwright/mcp@latest"],
"timeout": 30000,
"retries": 3,
"toolsConfig": {
"mode": "all"
}
}
}
}
MCPDog supports multiple transport protocols for both client connections and server connections:
# Start with stdio (default)
npx mcpdog@latest
# Or explicitly specify stdio
npx mcpdog@latest --transport stdio
# Start HTTP server on default port 4000
npx mcpdog@latest --transport streamable-http
# Start HTTP server on custom port
npx mcpdog@latest --transport streamable-http --port 8080
# Or using proxy command
npx mcpdog@latest proxy --transport streamable-http --port 4000
HTTP Endpoints:
GET /
- Health check endpointPOST /
- MCP JSON-RPC endpointThe new start
command provides a unified way to launch all MCPDog services:
# Start everything: stdio + HTTP + dashboard
npx mcpdog@latest start
# Customize ports
npx mcpdog@latest start --dashboard-port 3001 --mcp-http-port 4001
# Only specific services
npx mcpdog@latest start --stdio-only # stdio + dashboard
npx mcpdog@latest start --http-only # HTTP + dashboard
npx mcpdog@latest start --no-dashboard # transports only
⚠️ Known Issue: Playwright MCP server (@playwright/mcp
) does not work reliably with MCPDog's stdio subprocess environment. This is due to Playwright's internal behavior when detecting non-interactive environments, causing it to enter "silent mode" and preventing proper tool execution.
Workaround: Use Playwright MCP directly if browser automation is needed, or consider alternative browser automation servers like @browsermcp/mcp
which are compatible with MCPDog.
Root Cause: Playwright detects the subprocess execution environment and disables its core functionality, resulting in tool call timeouts despite successful MCP protocol handshakes.
# Check server status
npx mcpdog@latest status
# Run diagnostics
npx mcpdog@latest diagnose --health-check
# Check logs
npx mcpdog@latest daemon logs
# Detect protocols
npx mcpdog@latest detect --all
# Check tool availability
npx mcpdog@latest config show my-server
# Test server connection
npx mcpdog@latest diagnose --connectivity
# Auto-fix issues
npx mcpdog@latest diagnose --fix
This project is licensed under the MIT License - see the LICENSE file for details.
MCPDog - Your loyal companion for MCP server management! 🐕🦴
"Good dog! Now fetch me that perfect MCP configuration!"
FAQs
MCPDog - Universal MCP Server Manager with Web Interface
We found that mcpdog demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Research
/Security News
Ongoing npm supply chain attack spreads to DuckDB: multiple packages compromised with the same wallet-drainer malware.
Security News
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.