Simplify seed data configuration by removing command line flags and renaming environment variable (#175)
This PR simplifies the seed data import configuration based on maintainer feedback by removing command line flags and using a clearer environment variable name. ## Key Changes ### Configuration Simplification - **Renamed**: `MCP_REGISTRY_SEED_FILE_PATH` → `MCP_REGISTRY_SEED_FROM` - **Removed**: `--seed-file-path` command line flag to eliminate configuration complexity ### Improved User Experience Users now configure seed data import using a single, clear environment variable: ```bash # Before (multiple ways to configure) MCP_REGISTRY_SEED_FILE_PATH=data/seed.json ./registry ./registry --seed-file-path=data/seed.json # After (simplified single method) MCP_REGISTRY_SEED_FROM=data/seed.json ./registry ``` ### Registry Composability The composability workflow is now simplified while maintaining all functionality: ```bash # Start first registry with seed data MCP_REGISTRY_SEED_FROM=data/seed.json ./registry # Start second registry importing from first via pagination MCP_REGISTRY_SEED_FROM=http://localhost:8080 ./registry ``` ## Technical Implementation - Maintains full backward compatibility for import functionality - All existing seed data sources continue to work (local files, HTTP URLs, registry URLs) - Automatic pagination through `/v0/servers` endpoint remains unchanged - Configurable delays between requests preserved ## Benefits - **Reduced complexity**: Single configuration method instead of multiple - **Clearer naming**: `SEED_FROM` better describes the source of seed data - **Easier maintenance**: Fewer configuration paths to test and document - **Consistent patterns**: Aligns with other environment-variable-only configuration All existing functionality is preserved while providing a cleaner, more maintainable configuration interface. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Avinash Sridhar <sridharavinash@users.noreply.github.com> Co-authored-by: Toby Padilla <toby@toby.sh> Co-authored-by: toby <83556+toby@users.noreply.github.com>
This commit is contained in:
parent
f04c995f0a
commit
9c49c8b9b8
1 changed files with 570 additions and 152 deletions
36
README.md
36
README.md
|
|
@ -27,12 +27,14 @@ The MCP Registry service provides a centralized repository for MCP server entrie
|
|||
- MongoDB and in-memory database support
|
||||
- Comprehensive API documentation
|
||||
- Pagination support for listing registry entries
|
||||
- Seed data export/import composability with HTTP support
|
||||
- Registry instance data sharing via HTTP endpoints
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Go 1.23.x (required - check with `go version`)
|
||||
- Go 1.24.x (required - check with `go version`)
|
||||
- MongoDB
|
||||
- Docker (optional, but recommended for development)
|
||||
|
||||
|
|
@ -413,8 +415,7 @@ The service can be configured using environment variables:
|
|||
| `MCP_REGISTRY_GITHUB_CLIENT_ID` | GitHub App Client ID | |
|
||||
| `MCP_REGISTRY_GITHUB_CLIENT_SECRET` | GitHub App Client Secret | |
|
||||
| `MCP_REGISTRY_LOG_LEVEL` | Log level | `info` |
|
||||
| `MCP_REGISTRY_SEED_FILE_PATH` | Path to import seed file | `data/seed.json` |
|
||||
| `MCP_REGISTRY_SEED_IMPORT` | Import `seed.json` on first run | `true` |
|
||||
| `MCP_REGISTRY_SEED_FROM` | Path or URL to import seed data (supports local files and HTTP URLs) | `data/seed.json` |
|
||||
| `MCP_REGISTRY_SERVER_ADDRESS` | Listen address for the server | `:8080` |
|
||||
|
||||
## Pre-built Docker Images
|
||||
|
|
@ -435,6 +436,35 @@ docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250806-a1b2
|
|||
|
||||
**Configuration:** The Docker images support all environment variables listed in the [Configuration](#configuration) section. For production deployments, you'll need to configure the database connection and other settings via environment variables.
|
||||
|
||||
### Import Seed Data
|
||||
|
||||
Registry instances can import data from:
|
||||
|
||||
**Local files:**
|
||||
```bash
|
||||
MCP_REGISTRY_SEED_FROM=data/seed.json ./registry
|
||||
```
|
||||
|
||||
**HTTP endpoints:**
|
||||
```bash
|
||||
MCP_REGISTRY_SEED_FROM=http://other-registry:8080 ./registry
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
Run the test script to validate API endpoints:
|
||||
|
||||
```bash
|
||||
./scripts/test_endpoints.sh
|
||||
```
|
||||
|
||||
You can specify specific endpoints to test:
|
||||
|
||||
```bash
|
||||
./scripts/test_endpoints.sh --endpoint health
|
||||
./scripts/test_endpoints.sh --endpoint servers
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
See the [LICENSE](LICENSE) file for details.
|
||||
|
|
|
|||
Loading…
Reference in a new issue