MCP Server Compass: Discovery and Recommendations
Find the ideal MCP server with personalized discovery and recommendations to match your needs fast.
npx -y @liuyoshio/mcp-compassOverview
MCP Server Compass is a lightweight discovery and recommendation service for MCP (Model Context Protocol) servers. It helps developers and operators find the best MCP server instances for a given workload by collecting server metadata, evaluating capabilities (latency, cost, model support, resources), and returning ranked recommendations. This reduces manual search and speeds integration of models and tools that depend on MCP endpoints.
Compass is useful when you operate or consume multiple MCP servers across regions, cloud providers, or providers with different hardware. By centralizing discovery and exposing a simple API, Compass makes it easy to select servers that meet constraints such as model compatibility, GPU availability, geographic proximity, or budget limits.
Features
- Server discovery: aggregate MCP server metadata from registries or manual registration
- Recommendation engine: score and rank servers based on customizable criteria (latency, cost, capabilities)
- Simple HTTP API: query with filters, get structured recommendations
- Containerized deployment: run Compass as a Docker container for easy integration
- Configurable policies: tune scoring weights, region preferences, and whitelists
- Health & metrics: basic health endpoints for monitoring and integration with observability tools
Installation / Configuration
Clone the repository and run from source or use the provided Docker image. The examples below are general-purpose; refer to the repository README for build details if you need language-specific build steps.
Clone and run locally (example):
# If there's a Makefile or build script:
Run with Docker:
# Pull a published image (replace with actual image name if available)
# Run with environment configuration
Example minimal config (YAML):
server:
bind: "0.0.0.0:8080"
registry:
url: "https://registry.example.com"
poll_interval_seconds: 60
recommendation:
weights:
latency: 0.5
cost: 0.3
capabilities: 0.2
max_results: 5
Environment variables commonly used:
- MCP_REGISTRY_URL — URL of an MCP registry to discover servers
- RECOMMENDATION_WEIGHTS — JSON string controlling scoring weights
- PORT or SERVER_BIND — port or address to bind HTTP API
Available Resources
Compass exposes a small set of HTTP endpoints for discovery and recommendations. Typical endpoints include:
- GET /health — basic liveness/ readiness checks
- POST /discover — register or update server metadata (if using push model)
- GET /servers — list discovered servers with filters
- POST /recommend — request ranked recommendations for a given requirement
Example request to /recommend:
Typical recommendation response (JSON):
Reference table: common request parameters and response fields
| Parameter (request) | Type | Description |
|---|---|---|
| model | string | Model name required (e.g., “gpt-4o”) |
| region | string | Preferred geographic region |
| max_cost_per_minute | number | Upper bound for cost |
| require_gpu | boolean | Require GPU-enabled servers |
| Field (response) | Type | Description |
|---|---|---|
| id | string | Unique server identifier |
| address | string | Base URL of MCP server |
| score | number | Normalized recommendation score (0-1) |
| latency_ms | number | Measured or estimated latency |
| cost_per_min | number | Cost estimate per minute of usage |
| capabilities | array | Supported models/features |
Use Cases
Selecting the lowest-latency server for interactive inference
- Query /recommend with region and max acceptable latency; Compass returns ranked servers with measured latency values so your client can pick the top result.
Choosing a cost-effective GPU server for batch model fine-tuning
- Set require_gpu=true and max_cost_per_minute to limit costly instances. Compass ranks GPU-enabled servers by cost and capability.
Multi-region failover and routing
- Use /servers to fetch available servers in multiple regions. If a primary instance fails health checks, automatically fall back to the next recommended server.
Model compatibility filtering for heterogeneous fleets
- Request recommendations for a specific model name; Compass filters out servers that lack compatible model runtimes or required features (streaming, batch transforms).
Continuous integration and canary testing
- Integrate Compass into CI pipelines to direct test traffic to targeted MCP instances (e.g., canaries in a staging region) based on configured policies.
Getting Started Tips
- Start by registering a small set of MCP servers and verify /health and /servers responses.
- Tune recommendation weights to match your SLA priorities (latency vs cost).
- Use containerized deployment for consistent staging and production environments.
- Monitor the registry and poll intervals so discovery reflects current fleet state.
For the latest source, issues, and contribution guidelines, see the project repository: https://github.com/liuyoshio/mcp-compass.