mcp-registry

mcp-registry

Centralized registry for MCP tools, resources, and prompt templates with JSON schema validation and role-based access control filtering.

Category
Visit Server

README

<div align="center">

<img src="https://raw.githubusercontent.com/Devopstrio/.github/main/assets/Browser_logo.png" height="90"/>

<h1>mcp-registry</h1>

<p><strong>Centralized Model Context Protocol (MCP) Tool, Resource, & Prompt Registry</strong></p>

Build Status Python Version MCP Registry Terraform

</div>


Executive Summary

The mcp-registry repository provides a production-grade, centralized catalog and discovery registry for the Model Context Protocol (MCP). It indexes enterprise MCP tools, resources, and prompt templates with strict JSON schema validation and Role-Based Access Control (RBAC) filtering.

Business Problem

As autonomous AI agents expand across an enterprise, discovering and governing available MCP tools faces operational challenges:

  • Shadow Tool Sprawl: Unmonitored MCP tool servers registered directly by developers introduce unvetted execution endpoints.
  • Malformed Input Payloads: Invalid tool argument schemas lead to runtime agent crashes and unhandled exceptions.
  • Unrestricted Access: Lack of role-based tool discovery allows low-privilege agents to invoke sensitive administrative operations.

Business Value

  • Centralized Governance Catalog: Single source of truth for all approved MCP tools, resource URIs, and prompt templates across the organization.
  • Strict Schema Enforcement: Validates JSON schema definitions during tool registration to prevent invalid parameter calls.
  • Role-Based Access Control (RBAC): Dynamically filters tool discovery queries based on the calling user or agent's authorized roles.

Architecture

Architecture Diagram

High-Level Execution Sequence

graph TD
    Client["AI Agent / Assistant Client"] --> RegistryAPI["MCP Registry REST API"]
    RegistryAPI --> CatalogService["Central Tool Catalog Service"]
    RegistryAPI --> SchemaValidator["JSON Schema Validator"]
    RegistryAPI --> PromptStore["Prompt Template Store"]
    CatalogService --> RBACFilter["Role-Based Access Control Filter"]
    RBACFilter --> FilteredTools["Accessible MCP Tools & Resources"]

Core Components

  • Central Tool Catalog Service (src/mcp_registry/core/catalog.py): Core indexer storing tool definitions, server mappings, and role permissions.
  • JSON Schema Validator (src/mcp_registry/validators/schema_validator.py): Validates input schema definitions during tool registration.
  • Prompt Template Store (src/mcp_registry/services/prompt_store.py): Stores and serves standardized enterprise prompt templates.
  • FastAPI Async API Layer (src/mcp_registry/api/routes.py): REST endpoints for tool registration, RBAC filtering, and prompt listing.

Repository Structure

mcp-registry/
├── .github/              # CI/CD workflows, issue & PR templates, CODEOWNERS
├── architecture/         # Mermaid sequence flow diagrams
├── deployment/           # Kubernetes manifests & Kustomize environment overlays
├── docs/                 # Enterprise architectural, deployment, & operational guides
├── examples/             # Real-world request/response JSON payloads
├── images/               # High-resolution architecture & workflow diagrams
├── src/mcp_registry/     # Python Registry source (api, core, services, validators)
├── terraform/            # Multi-cloud OpenTofu / Terraform IaC modules
├── tests/                # Unit, integration, and API test suites
├── Dockerfile            # Container build specification
├── docker-compose.yml    # Multi-container local orchestration
├── pyproject.toml        # PEP 621 package configuration
└── README.md             # Accelerator documentation manual

Capabilities

  • Tool Registration & Discovery: Endpoint for registering new MCP tools and discovering available schemas.
  • RBAC Tool Filtering: Dynamic filtering based on caller role declarations.
  • Prompt Template Management: Centralized repository for versioned prompt templates.
  • Multi-Cloud IaC Automation: OpenTofu and Terraform modules for AWS VPC, IAM, ECS, and CloudWatch metrics.

Technology Stack

  • Core Registry: Python 3.11+, FastAPI 0.110+, Pydantic v2
  • Infrastructure as Code: OpenTofu 1.8.5 / Terraform 1.6+
  • Containerization: Docker, Docker Compose, Kubernetes 1.28+
  • Quality Assurance: Pytest 8.0+, GitHub Actions CI

Implementation

# Clone repository
git clone https://github.com/Devopstrio/mcp-registry.git
cd mcp-registry

# Install in editable mode
pip install -e .[dev]

# Run automated unit and integration tests
pytest -v tests/

Deployment

OpenTofu / Terraform Provisioning

cd terraform
tofu init
tofu plan
tofu apply -auto-approve

Kubernetes Kustomize Deployment

kubectl apply -k deployment/kubernetes/overlays/prod/

API Reference

  • GET /health — Returns registry health status and version.
  • POST /api/v1/tools/register — Registers an MCP tool with schema validation.
  • POST /api/v1/tools/filter — Returns accessible tools based on RBAC user roles.
  • GET /api/v1/prompts — Lists registered prompt templates.

Examples

Security

Refer to SECURITY.md for reporting security vulnerabilities. The registry enforces schema validation and role-based access filtering.

Observability

The platform exports structured CloudWatch log groups (/aws/mcp-registry/mcp-registry) and metric alarms for invalid schema registration attempts.

Scalability

Horizontal pod autoscaling (HPA) overlays scale registry replicas dynamically based on query volume.

Multi-cloud Strategy

Infrastructure blueprints support AWS ECS/VPC deployment with modular extensions for multi-cluster registry synchronization.

Roadmap

See docs/Roadmap.md for upcoming milestones including active MCP server health probing and semantic versioning support.

Contribution

See CONTRIBUTING.md and CODE_OF_CONDUCT.md for community standards and contribution workflows.


<div align="center"> © 2026 Devopstrio — Engineering the Autonomous Enterprise. </div>

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
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
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
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
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
E2B

E2B

Using MCP to run code via e2b.

Official
Featured