registry/.env.example
adam jones 53d67be5bd
fix: seed from production API by default to ensure validation passes (#611)
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.
2025-10-03 23:58:37 +03:00

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=*