MCP Discover — Find and Register MCP Servers
Quick Reference
Automatically discover MCP servers in your environment, list their available tools, check health, and register new endpoints. The discovery layer for the MCP ecosystem.
Overview
MCP Discover scans local network, registry files, or known URLs to find available MCP servers. For each server it reports the transport type (stdio/HTTP/SSE), available tools with full JSON Schema, health status, and authentication requirements. Combined with MCP Client, it enables zero-config server onboarding: discover, connect, invoke — no manual configuration needed.
Quick Start
- Broadcast scan:
mcp-discover scan --network 192.168.1.0/24 --port-range 5000-5100— finds servers on local network - List registered:
mcp-discover list --verbose— shows all known servers with tool counts - Check health:
mcp-discover --health-check --timeout 5s— validates each server is responsive
Key Pattern: Continuous Discovery Agent
from mcp_discover import DiscoveryAgent
agent = DiscoveryAgent(
scan_interval=300, # check every 5 minutes
auto_register=True, # register new servers automatically
health_required=True # only register healthy servers
)
agent.start()
@agent.on_server_registered
def handle_new(server):
print(f"New server: {server.name} ({server.transport})")
client = MCPClient(server.name)
tools = client.list_tools()
print(f" Tools: {[t.name for t in tools]}")
Discovery Methods
| Method | Use Case | Command |
|---|---|---|
| Network scan | Find servers on LAN | mcp-discover scan --network 10.0.0.0/8 |
| Registry | Pre-registered servers | mcp-discover list --verbose |
| URL probe | Remote server catalog | mcp-discover probe https://mcp.example.com/tools.json |
Discovery Checklist
-
mcp-discover listshows all expected servers with tool schemas - Health check passes for every server (timeout policy configured)
- Auto-discovery runs on schedule (scan_interval set appropriately)
- New servers are auto-registered and appear in tool routing
- Failed servers are detected and removed from active pool within configured interval
When to Use
Use when working with mcp discover.
Workflow
Execute these steps sequentially:
- Broadcast scan:
mcp-discover scan --network 192.168.1.0/24 --port-range 5000-5100— finds servers on local network - List registered:
mcp-discover list --verbose— shows all known servers with tool counts - Check health:
mcp-discover --health-check --timeout 5s— validates each server is responsive
Anti-Rationalization Table
| Rationalization | Reality |
|---|---|
| "I know all the servers I need" | Discovery often surfaces servers you did not know existed — that is the point. Manual lists go stale |
| "Discovery is a one-time setup" | Servers come and go, ports change, versions update. Continuous discovery keeps the ecosystem alive |
| "Auto-discovery is over-engineering" | With 5+ servers, manual registration breaks constantly. Automate it before it becomes a time sink |
Process
- Broadcast scan —
mcp-discover scan --network 192.168.1.0/24 --port-range 5000-5100 - List registered —
mcp-discover list --verboseshows all known servers with tool counts - Health check —
mcp-discover --health-check --timeout 5svalidates responsiveness - Register new — Add discovered servers to registry with tool metadata
- Schedule — Run continuous discovery (cron/daemon) to keep registry fresh
Verification
- All discovered servers respond to health check within timeout
- Registry contains tool counts and capability metadata for each server
- Continuous discovery daemon runs without errors
- New servers auto-registered within configured scan interval
- Stale entries removed after configurable TTL