MCP Capability Matchmaker

MCP Capability Matchmaker

An MCP gateway and offline catalog CLI that aggregates multiple upstream MCP servers into a single stdio endpoint, and provides tool recommendation and catalog inspection without connecting to upstreams.

Category
Visit Server

README

MCP Capability Matchmaker

MCP Capability Matchmaker is an MCP gateway and an offline catalog CLI. The gateway reads a trusted catalog, starts or connects to the configured upstream MCP servers, discovers their live tools, and exposes those tools through one stdio MCP endpoint. The CLI remains useful for importing, inspecting, and ranking catalog metadata without connecting to any upstream.

Gateway quick start

Install and build once:

npm install
npm run build

Configure an MCP client with the gateway entry point:

{
  "mcpServers": {
    "capability-gateway": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-capability-matchmaker/dist/mcp-server.js",
        "--catalog",
        "/absolute/path/to/catalog.json"
      ]
    }
  }
}

The package also installs the equivalent executable alias mcp-capability-gateway (the historical mcp-capability-matchmaker alias is retained). For local development:

npm run dev:mcp -- --catalog examples/catalog.json

The gateway connects all configured upstreams in parallel. A healthy upstream is still available when another one fails. Discovered tools are published as server__tool; names are normalized and made unique when necessary. Calls to those tools are forwarded to the original upstream tool with its JSON Schema, annotations, output schema, and result content preserved.

The gateway also exposes two built-in read-only tools:

MCP tool Purpose
gateway__recommend_tools Recommend a small, explainable set from currently connected tools
gateway__inspect_catalog Report configured upstreams, connection state, live tool counts, and metadata gaps

The gateway uses stdio for its downstream interface. Upstreams may use either stdio or Streamable HTTP. HTTP authentication belongs in headers. Every env or headers value must be a complete ${ENV_VAR} placeholder resolved from the gateway process environment. Missing variables disable only the affected upstream and are never returned in status or error messages.

Catalog format

Catalog files use version: 1. tools is optional in the gateway workflow and defaults to an empty array: live tools/list results are authoritative. Static tools are still useful to the offline CLI for ranking and metadata review.

{
  "version": 1,
  "servers": [
    {
      "name": "linear",
      "description": "Read and update Linear issues.",
      "transport": {
        "command": "npx",
        "args": ["-y", "@example/linear-mcp"],
        "env": { "LINEAR_API_KEY": "${LINEAR_API_KEY}" }
      },
      "tools": []
    },
    {
      "name": "slack",
      "transport": {
        "url": "https://mcp.example.com/slack",
        "headers": { "Authorization": "${SLACK_AUTHORIZATION}" }
      },
      "tools": []
    }
  ]
}

Each transport is either stdio (command, optional args and env) or Streamable HTTP (url, optional headers). Treat a catalog as executable configuration: starting the gateway can execute local commands and make network requests.

Offline CLI

The mcp-match CLI never starts, connects to, or executes an MCP server. It normalizes registry exports, checks metadata quality, and produces an explainable tool recommendation.

node dist/cli.js index examples/registry-export.json --output catalog.json
node dist/cli.js inspect --catalog catalog.json
node dist/cli.js recommend \
  "Read Linear issue ENG-42, modify the GitHub repository, then notify Slack" \
  --catalog catalog.json

Commands:

Command Purpose
mcp-match index <input> Normalize JSON/YAML catalog data from a file or URL
mcp-match inspect -c <catalog> Report catalog size and metadata quality
mcp-match recommend <task> -c <catalog> Select and explain a minimal tool set

Output formats are markdown, json, claude, cursor, and codex.

Runtime boundaries

  • Only Tools are proxied in this release; Resources, Prompts, Sampling, Elicitation, and task-based execution are not gateway features.
  • There is no gateway-level automatic reconnect. Streamable HTTP transport may perform its own short-lived reconnects.
  • The gateway downstream transport is stdio only; HTTP gateway serving, production authentication, auditing, and rate limiting are out of scope.
  • A failed upstream is isolated and reported by the inspection tool. A failed refresh keeps its last known tool snapshot until the connection closes.

Development

npm install
npm run check

MIT licensed. See CONTRIBUTING.md and SECURITY.md.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured