SE

Search MCP Server README Recommendations

Discover the best MCP server recommendations by searching this README to match your query and quickly select the right server.

Quick Install
npx -y @krzysztofkucmierz/search-mcp-server

Overview

This MCP (Model Context Protocol) server lets you search a curated collection of README-style server recommendations and match them to queries. It indexes short descriptions, capabilities, and metadata for available MCP servers so developers can quickly find the best server for a given workload (e.g., GPU availability, supported models, latency constraints, or special features).

The server exposes a simple HTTP API for text queries, returning ranked matches and metadata to help you decide which MCP server to use. It is useful when you manage several MCP-compatible endpoints or want a lightweight discovery layer that maps human queries to the most appropriate server configuration.

Features

  • Lightweight HTTP API for search and discovery
  • Full-text and fuzzy matching across README-like entries
  • Ranking and scoring of candidates with metadata (tags, GPU, model support)
  • Configurable data source: load JSON/YAML entries or a directory of README files
  • Health and status endpoints for automation and monitoring
  • Docker-ready and configurable via environment variables or config file

Installation / Configuration

Requirements:

  • Node.js LTS (14+) or a compatible runtime (the server can be packaged as a container)
  • Git (to clone the repo) and a shell environment

Clone and install:

git clone https://github.com/krzysztofkucmierz/search-mcp-server.git
cd search-mcp-server
npm install

Run locally:

# default port is 8080
npm start

Environment variables (example):

export PORT=8080
export DATA_DIR=./data              # directory with README or JSON entries
export INDEX_FILE=./data/index.db   # optional index path
export LOG_LEVEL=info

Or run with a config file (config.yaml):

port: 8080
dataDir: ./data
indexFile: ./data/index.db
logLevel: info

Docker:

docker build -t search-mcp-server .
docker run -p 8080:8080 -e DATA_DIR=/data -v $(pwd)/data:/data search-mcp-server

Available Resources

API endpoints at a glance:

EndpointMethodDescription
/searchGETSearch with query parameters (q, tags, limit)
/matchPOSTSubmit detailed criteria (JSON) and receive ranked servers
/serversGETList all indexed servers and metadata
/healthGETHealth check and status

Example: simple GET search

curl "http://localhost:8080/search?q=low-latency+gpt-4&limit=5"

Example: POST match (JSON body)

curl -X POST http://localhost:8080/match \
  -H "Content-Type: application/json" \
  -d '{
    "query": "fast inference for gpt-4, low latency, <16GB ram",
    "required_tags": ["gpu"],
    "prefer": ["a100", "rtx"]
  }'

Typical response (JSON):

{
  "results": [
    {
      "id": "server-1",
      "score": 0.92,
      "description": "MCP server with A100, optimized for low-latency GPT-4 inference",
      "tags": ["gpu", "a100", "low-latency"],
      "endpoint": "https://mcp.example.com"
    }
  ]
}

Use Cases

  • Find an MCP endpoint that supports a specific model: Search for “gpt-4” or “mistral” and filter by tags or GPU type.
    • Example: “Find servers with A100 and low latency for gpt-4 usage”.
  • Select a server by resource constraints: Query “≤16GB RAM” or “CPU-only” to find suitable environments for lightweight tasks.
    • Example curl:
      curl "http://localhost:8080/search?q=cpu-only&limit=10"
      
  • Automate deployment decisions: CI/CD pipeline queries the /match endpoint to pick a target server for a test job based on cost, latency, and model support.
    • Hook example (pseudo):
      - name: Choose MCP server
        run: |
          curl -X POST http://mcp-search.local/match -d '{"query":"smaller model, low-cost","max_cost":0.05}'
      
  • Admin monitoring and validation: Use /health and /servers to ensure the catalog and index remain consistent after updates.

Tips for Developers

  • Keep your data directory small, with concise README-like entries or structured JSON for best search quality.
  • Use tags and structured metadata (gpu, memory, models, latency) to improve ranking and filter precision.
  • Integrate the /match endpoint in orchestration tools to programmatically route jobs to the best matching MCP server.

This server is intended as a discovery and recommendation tool. It is designed to be extensible — you can replace the indexing/search backend or add custom ranking logic to suit your environment.

Tags:search