A Flask-based application that serves the Model Context Protocol (MCP) server registry. The application provides a web interface and API endpoints to browse and access MCP server configurations.
mcp-registry/
├── src/
│ └── app.py # Main Flask application
├── templates/
│ ├── index.html # Home page template
│ └── detail.html # Server detail page template
├── v0/
│ └── servers.json # MCP server registry data
├── Dockerfile # Docker configuration
├── requirements.txt # Python project dependencies
├── Makefile # Build and run automation
└── README.md # This file
- Python 3.9+
- Flask 2.3.3
- Gunicorn 22.0.0
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtpython -m flask --app src.app run --host 0.0.0.0 --port 8080Or using Gunicorn (production):
gunicorn -w 2 -b 0.0.0.0:8080 src.app:appOpen your browser and navigate to:
- Home page: http://localhost:8080/
- Server details: http://localhost:8080/server/
- API endpoints:
- Health check: http://localhost:8080/health
# Build the Docker image
make build
# Run the Docker container
make run
# Stop the container
make stop
# Clean up (remove image and container)
make clean
# Rebuild everything from scratch
make rebuild
# View logs
make logs
# Show all available commands
make helpIf you prefer not to use Make:
# Build
docker build -t mcp-registry:latest .
# Run
docker run -d -p 8080:8080 --name mcp-registry mcp-registry:latest
# View logs
docker logs mcp-registry
# Stop
docker stop mcp-registry
# Remove
docker rm mcp-registry- GET /: Home page with list of all servers
- GET /server/: Detailed view of a specific server
- GET /v0/servers: JSON API endpoint for server registry (v0)
- GET /v0.1/servers: JSON API endpoint for server registry (v0.1)
- GET /registry: JSON API endpoint for server registry
- GET /health: Health check endpoint
Once running, the application will be available at http://localhost:8080/
The application loads server configurations from v0/servers.json. This file contains all MCP server definitions served by the registry.
For development, you can use Flask's development server:
export FLASK_APP=src.app
export FLASK_ENV=development
flask run --host 0.0.0.0 --port 8080See LICENSE file for details.