MC

MCP Marketplace Web Plugin for MCP Server Directory

**Crafting a compact description**

Quick Install
npx -y @AI-Agent-Hub/mcp-marketplace

Overview

The MCP Marketplace Web Plugin provides a lightweight directory and discovery layer for MCP (Model Context Protocol) servers. It offers a simple web UI and REST API that let developers browse, register, and query MCP-compatible servers and their metadata. This makes it easier to locate available model-context providers, compare capabilities, and bootstrap integrations for multi-agent or model orchestration workflows.

The plugin is designed for developers who need a compact, searchable registry of MCP servers. It can run standalone or alongside other MCP infrastructure, exposing endpoints that clients or tooling can call to find servers by name, tags, or capabilities.

Features

  • Web-based directory UI for browsing MCP servers
  • REST API endpoints to list, register, update, and remove server entries
  • Search and filter by name, tags, or metadata
  • Lightweight configuration via environment variables or a JSON file
  • Example client snippets to query the directory from scripts or agents
  • Extensible metadata fields to describe capabilities, authentication, or pricing

Installation / Configuration

Minimum steps to get a local instance running (Node.js example). Adjust to your environment if the repository uses a different runtime.

Clone and install dependencies:

git clone https://github.com/AI-Agent-Hub/mcp-marketplace.git
cd mcp-marketplace
npm install

Create a configuration file or copy the example environment file:

cp .env.example .env

Example .env variables you might set:

PORT=3000
MCP_MARKETPLACE_DB=./data/marketplace.json
ENABLE_REGISTRATION=true
ADMIN_API_KEY=changeme

Start the server (development):

npm run dev
# or production
npm start

Configuration options commonly available:

  • PORT — TCP port to listen on
  • MCP_MARKETPLACE_DB — path to a JSON file or DB connection
  • ENABLE_REGISTRATION — allow open registration endpoints
  • ADMIN_API_KEY — simple API key for protected operations

If using a file-based registry, ensure the process has write permissions to the configured database path.

Available Resources

Common HTTP endpoints provided by the plugin. Replace :id with the server entry identifier.

MethodPathDescription
GET/api/serversList all registered MCP servers
POST/api/serversRegister a new MCP server
GET/api/servers/:idRetrieve metadata for a single server
PUT/api/servers/:idUpdate an existing server entry
DELETE/api/servers/:idRemove a server from the directory
GET/Web UI for browsing/searching servers

Example: list servers with curl

curl -s http://localhost:3000/api/servers | jq

Register a server (example payload):

POST /api/servers
Content-Type: application/json
Authorization: Bearer <ADMIN_API_KEY>

{
  "name": "example-mcp",
  "url": "https://example.com/mcp",
  "description": "An MCP server exposing model context for retrieval",
  "tags": ["semantic", "open", "embeddings"],
  "metadata": {
    "contact": "[email protected]",
    "regions": ["us-east-1"],
    "models": ["gpt-4-like", "embedding-v1"]
  }
}

Use Cases

  • Discovering available MCP servers: Agents or orchestration services can query the marketplace to find servers that meet specific criteria (e.g., models supported, geographic region, or authentication type).
  • Bootstrapping integrations: Developers can use the registry to populate configuration when testing new clients or building multi-provider routing logic.
  • Public directory for operators: Server operators can register their MCP endpoints so others can find and evaluate them, including metadata about SLAs, contact points, and supported capabilities.
  • QA and testing: Create ephemeral registry entries for test servers and use the API to validate discovery and failover behaviors in distributed agent setups.

Example: Node.js client to find servers tagged “embeddings”

import fetch from 'node-fetch';

async function findEmbeddingsServers() {
  const res = await fetch('http://localhost:3000/api/servers');
  const servers = await res.json();
  return servers.filter(s => (s.tags || []).includes('embeddings'));
}

Notes and Extension Points

  • Authentication: For production use, secure registration and admin endpoints (API keys, OAuth, or mTLS).
  • Persistence: Replace file-based storage with a database for durability and concurrency (Postgres, MongoDB).
  • Metadata model: The plugin stores arbitrary metadata per server; standardizing fields (capabilities, pricing, regions) improves interoperability between clients.
  • UI customization: The bundled web UI is intended as a lightweight frontend—teams may replace or embed it in their control plane.

Repository and sources: https://github.com/AI-Agent-Hub/mcp-marketplace