Fixes #584 ## Summary Changes the default seed source from local file to production API with filtering to keep startup fast. This ensures local development environments mirror production behavior and all seed data passes validation by default. ## Changes - **Default seed source**: `https://registry.modelcontextprotocol.io/v0/servers?search=domdomegg` (4 servers) - Fast startup (~1-2 seconds) - All data passes validation - Production-like environment by default - **Updated `data/seed.json`**: Now contains filtered production data (4 servers) for offline development - **Clear documentation**: Added comments in `docker-compose.yml` and updated `README.md` and `.env.example` explaining: - How to use offline mode: `MCP_REGISTRY_SEED_FROM=data/seed.json` - How to fetch all servers: `MCP_REGISTRY_SEED_FROM=https://registry.modelcontextprotocol.io/v0/servers` - **Validation stays enabled**: `MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=true` by default ## Why this approach Per @domdomegg's comment in #584, the goal is to make local environments as similar to production as possible. Using the production API with filtering achieves this while keeping startup fast.
40 lines
1.9 KiB
Shell
40 lines
1.9 KiB
Shell
# MCP Registry Configuration
|
|
|
|
# Server configuration
|
|
MCP_REGISTRY_SERVER_ADDRESS=:8080
|
|
MCP_REGISTRY_VERSION=dev
|
|
|
|
# Database configuration
|
|
MCP_REGISTRY_DATABASE_URL=postgres://username:password@localhost:5432/mcp-registry
|
|
|
|
# Path or URL to import seed data (supports local files and HTTP URLs)
|
|
# For offline development, use: data/seed.json
|
|
MCP_REGISTRY_SEED_FROM=https://registry.modelcontextprotocol.io/v0/servers
|
|
|
|
# GitHub OAuth configuration
|
|
# These creds are for local development with the 'MCP Registry Login (Local)' GitHub App
|
|
# They don't provide any real privileged access, hence why it's okay that they're here
|
|
# The staging and prod credentials client secrets are sensitive and are stored in encrypted form in ./deploy
|
|
MCP_REGISTRY_GITHUB_CLIENT_ID=Iv23licy3GSiM9Km5jtd
|
|
MCP_REGISTRY_GITHUB_CLIENT_SECRET=0e8db54879b02c29adef51795586f3c510a9341d
|
|
|
|
# JWT configuration
|
|
# This should be a 32-byte Ed25519 seed (not the full private key). Generate a new seed with: `openssl rand -hex 32`
|
|
MCP_REGISTRY_JWT_PRIVATE_KEY=bb2c6b424005acd5df47a9e2c87f446def86dd740c888ea3efb825b23f7ef47c
|
|
|
|
# Anonymous authentication for development/testing only
|
|
# When enabled, allows anyone to get tokens for publishing to io.modelcontextprotocol.anonymous/* namespace
|
|
# This should be disabled in prod
|
|
MCP_REGISTRY_ENABLE_ANONYMOUS_AUTH=false
|
|
|
|
# Google Cloud Identity OIDC configuration for admin access
|
|
# Enable OIDC authentication for @modelcontextprotocol.io admin accounts
|
|
MCP_REGISTRY_OIDC_ENABLED=false
|
|
# Example for Google Cloud Identity issuer
|
|
MCP_REGISTRY_OIDC_ISSUER=https://accounts.google.com
|
|
MCP_REGISTRY_OIDC_CLIENT_ID=1234.apps.googleusercontent.com
|
|
# Require @modelcontextprotocol.io Google Workspace domain
|
|
MCP_REGISTRY_OIDC_EXTRA_CLAIMS=[{"hd":"modelcontextprotocol.io"}]
|
|
# Grant admin permissions to OIDC-authenticated users
|
|
MCP_REGISTRY_OIDC_EDIT_PERMISSIONS=*
|
|
MCP_REGISTRY_OIDC_PUBLISH_PERMISSIONS=*
|