v0.0.1

modelcontextprotocol/registryv0.0.1Sep 8, 2025by rdimitrov

AI Summary

The v0.0.1 release introduces the initial Model Context Protocol Registry, featuring a basic API server with Swagger documentation and authentication flows via GitHub OAuth and DNS verification. It includes a publisher CLI for creating server manifests, support for multiple package types (NuGet, MCP Bundles), and foundational infrastructure for deployment and monitoring.

Key Highlights

  • Init world. Basic registry API server <WIP>
  • Implement GitHub OAuth and publish endpoint functionality
  • Add NuGet to the MCP Registry, similar to npm and Python
  • feat: Add support for MCP Bundles (MCPB) in registry
  • infra: Add Pulumi-based Kubernetes deployment infrastructure

New Features

  • Basic Registry API Server
  • Swagger API Documentation
  • GitHub OAuth Authentication
  • DNS Authentication
  • Publisher CLI Tool
  • MongoDB Data Importer
  • NuGet Package Support
  • MCP Bundle (MCPB) Support
  • Kubernetes Deployment Infrastructure
  • OpenTelemetry Instrumentation

Full Release Notes

## What's Changed
* Init world. Basic registry API server <WIP> by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/4
* Update README to reflect binary name change  by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/5
* Add count to server response and fix Makefile paths by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/6
* Add Swagger API documentation and handlers for v0 by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/7
* Use Docker compose and caarlos0/env by @toby in https://github.com/modelcontextprotocol/registry/pull/8
* feat: add MongoDB data importer tool and update README by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/9
* Add basic CONTRIBUTING.md file by @tadasant in https://github.com/modelcontextprotocol/registry/pull/16
* Implement GitHub OAuth and publish endpoint functionality by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/10
* Auto-import `seed.json` by @toby in https://github.com/modelcontextprotocol/registry/pull/17
* Require GitHub Client ID for authentication by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/18
* docs: update env var docs in readme by @toby in https://github.com/modelcontextprotocol/registry/pull/23
* OpenAPI spec for official registry API by @tadasant in https://github.com/modelcontextprotocol/registry/pull/3
* feat: refine representation of commands in the API by @connor4312 in https://github.com/modelcontextprotocol/registry/pull/33
* Add a description of the API directory in the project structure. by @luoxiner in https://github.com/modelcontextprotocol/registry/pull/35
* Api-schema-updates-1 by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/46
* feat: use new seed file in docker build by @toby in https://github.com/modelcontextprotocol/registry/pull/47
* docs: update readme with new schema, some cleanup by @toby in https://github.com/modelcontextprotocol/registry/pull/48
* fix: add needed env vars to docker-compose.yml by @toby in https://github.com/modelcontextprotocol/registry/pull/66
* Fix naming to use reverse DNS instead of deprecated `@` syntax by @tadasant in https://github.com/modelcontextprotocol/registry/pull/58
* Remove package_canonical by @tadasant in https://github.com/modelcontextprotocol/registry/pull/59
* Enhance health check endpoint with GitHub client ID by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/67
* Ignore local MongoDB .db directory during re-build And refactor Dockerfile by @ayoyu in https://github.com/modelcontextprotocol/registry/pull/72
* fix(model): inline ServerDetail fields in PublishRequest by @yshngg in https://github.com/modelcontextprotocol/registry/pull/62
* Integrate GitHub Client ID into device flow authentication and fix inline model handling during publish by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/73
* docs: update readme and mcp.json with repository url by @debin-ge in https://github.com/modelcontextprotocol/registry/pull/76
* Add MCP Developers Summit slides and rename `api` folder to `docs` by @tadasant in https://github.com/modelcontextprotocol/registry/pull/77
* Tests and linters by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/80
* Publish Auth Interface  by @sridharavinash in https://github.com/modelcontextprotocol/registry/pull/112
* chore(docker-compose): enhance environment variable configuration using interpolation by @yshngg in https://github.com/modelcontextprotocol/registry/pull/78
* fix: make repository optional in openapi spec by @toby in https://github.com/modelcontextprotocol/registry/pull/119
* Rename mcp.json to server.json by @chenmingyong0423 in https://github.com/modelcontextprotocol/registry/pull/106
* feat(config): specify to use in-memory database by @yshngg in https://github.com/modelcontextprotocol/registry/pull/74
* feat(database): support SeedFile import for memory database by @chenmingyong0423 in https://github.com/modelcontextprotocol/registry/pull/128
* Add docs: design principles, FAQ, roadmap, architecture by @tadasant in https://github.com/modelcontextprotocol/registry/pull/134
* First cut at server.json by @tadasant in https://github.com/modelcontextprotocol/registry/pull/153
* Add `create` command to publisher CLI for generating server.json files by @Copilot in https://github.com/modelcontextprotocol/registry/pull/152
* Add NuGet to the MCP Registry, similar to npm and Python by @joelverhagen in https://github.com/modelcontextprotocol/registry/pull/163
* Resolve packages and remove unknown registries by @connor4312 in https://github.com/modelcontextprotocol/registry/pull/138
* Add more information about the value field under Input in the API doc by @luoxiner in https://github.com/modelcontextprotocol/registry/pull/164
* Align the server.json schema with the YAML by @joelverhagen in https://github.com/modelcontextprotocol/registry/pull/168
* Split "general" server.json from "registry-specific" server.json by @tadasant in https://github.com/modelcontextprotocol/registry/pull/167
* Add CLAUDE.md file for Claude Code guidance by @tadasant in https://github.com/modelcontextprotocol/registry/pull/170
* Split OpenAPI specs into base and official registry versions by @tadasant in https://github.com/modelcontextprotocol/registry/pull/171
* Make value_hint optional to allow constant positional arguments by @joelverhagen in https://github.com/modelcontextprotocol/registry/pull/172
* Add documentation for the repository section by @joelverhagen in https://github.com/modelcontextprotocol/registry/pull/174
* Add linting documentation and pre-commit hooks by @tadasant in https://github.com/modelcontextprotocol/registry/pull/177
* Add validation tools for server.json schemas and examples by @tadasant in https://github.com/modelcontextprotocol/registry/pull/176
* End-to-end publish test using examples from docs by @chlowell in https://github.com/modelcontextprotocol/registry/pull/199
* Add automatic runtime_hint setting to publisher create command by @Copilot in https://github.com/modelcontextprotocol/registry/pull/205
* Add a status field indicating if a server is deprecated or active by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/210
* auto build image by @kofj in https://github.com/modelcontextprotocol/registry/pull/147
* Do not gitignore all folders and files named publisher by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/215
* fix: fix missing seed.json on startup by renaming file by @chenmingyong0423 in https://github.com/modelcontextprotocol/registry/pull/75
* fix: resolve registry image conflict in docker-compose by @8806667653 in https://github.com/modelcontextprotocol/registry/pull/114
* feat: migrate golangci-lint from v1 to v2 by @TomCN0803 in https://github.com/modelcontextprotocol/registry/pull/144
* Configure the Dockerfile to run the application as a non-root user. by @hurricane1988 in https://github.com/modelcontextprotocol/registry/pull/202
* Add redirect from root path to Swagger UI documentation by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/223
* Add helpful targets via Makefile by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/211
* Consolidate documentation and remove redundancy by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/222
* Add Docker image documentation and workflow by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/225
* Simplify seed data configuration by removing command line flags and renaming environment variable by @Copilot in https://github.com/modelcontextprotocol/registry/pull/175
* Add Claude Code GitHub workflow for @claude mentions by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/231
* Update Claude workflow configuration by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/234
* Add development setup improvements and automated testing script by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/243
* Remove tracked binaries and fix build output directory by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/248
* Clean up API documentation by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/236
* feat(infra): Add Pulumi-based Kubernetes deployment infrastructure by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/237
* deploy: Deploy the registry to GCP by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/255
* chore(deps): bump github.com/golang/glog from 0.0.0-20160126235308-23def4e6c14b to 1.2.4 by @dependabot[bot] in https://github.com/modelcontextprotocol/registry/pull/254
* chore(deps): bump google.golang.org/protobuf from 1.27.1 to 1.33.0 by @dependabot[bot] in https://github.com/modelcontextprotocol/registry/pull/253
* chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.56.3 by @dependabot[bot] in https://github.com/modelcontextprotocol/registry/pull/252
* infra/ci: Add GitHub Actions workflow for staging and production deployment by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/256
* fix(ci): Fix dev-local target in the Makefile by @andreyvelich in https://github.com/modelcontextprotocol/registry/pull/259
* chore(deps): bump the go_modules group across 2 directories with 5 updates by @dependabot[bot] in https://github.com/modelcontextprotocol/registry/pull/261
* api: Use Huma to generate swagger docs and parse JSON automatically by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/262
* infra: Always pull latest images by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/265
* infra: Update Ingress configuration to support prod registry domain at registry.modelcontextprotocol.io by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/266
* infra: Improve local development flow and avoid false positive infra diffs by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/267
* auth: New auth flow by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/273
* infra: Recreate pods on infra deploys by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/275
* feat: Add creds for GitHub auth, add "none" auth to publisher by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/276
* auth: Add GitHub OIDC auth by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/278
* 102 Otel instrumentation by @pree-dew in https://github.com/modelcontextprotocol/registry/pull/290
* Update LICENSE copyright holder to MCP Contributors by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/293
* chore: bump golangci-lint to v2.4.0 by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/288
* build: Optimize Dockerfile by splitting out dependency installation and go build by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/286
* Remove requirement of repository.id from server.json by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/285
* auth: Add DNS auth by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/279
* auth: Add HTTP-based authentication support to validate domain ownership by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/282
* Refactor database implementation to use PostgreSQL instead of MongoDB by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/289
* Allow for vendor extensions via x-publisher by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/298
* Add database backup functionality with GCS integration by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/297
* Add OpenAPI example demonstrating publisher extensions by @JAORMX in https://github.com/modelcontextprotocol/registry/pull/299
* feat: implement server versioning approach with semantic versioning support by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/296
* Update server names in examples to use reverse DNS format by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/303
* Disable ireturn linter rule by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/307
* Update documentation structure and content by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/302
* feat: implement DNS namespace validation and remote URL uniqueness checks by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/306
* Add  $schema to server.json specification to enable versioning, IDE autocomplete by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/308
* Add formatting and validation for free-form fields by @Avish34 in https://github.com/modelcontextprotocol/registry/pull/272
* feat: Add support for MCP Bundles (MCPB) in registry by @joan-anthropic in https://github.com/modelcontextprotocol/registry/pull/295
* Replace Codecov with GitHub Actions artifacts by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/310
* feat: add version field to OpenAPI specification by @JAORMX in https://github.com/modelcontextprotocol/registry/pull/312
* Fix the path for openapi.yaml in README by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/314
* feat: implement OIDC authentication for admin users by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/316
* feat: add admin edit endpoint for server moderation by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/315
* feat: add namespace blocking functionality for JWT authentication by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/313
* Deduplicate server JSON structs between publisher and registry by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/318
* Rename api/v1 -> api/v0 to match API paths by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/320
* Clean up publish and edit handler and service logic by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/319
* Reflect the latest changes in the README by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/322
* feat: add admin operations documentation and scripts for server management by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/323
* fix: Named arguments should identify the argument name by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/321
* Tidy up command structure for MCP Publisher by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/324
* Move publisher CLI from tools/ to cmd/ by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/326
* Remove leftover bson tags from the Go structs by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/327
* refactor: update registry type from 'docker-hub' to 'oci' across seed data by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/325
* Use constants instead of hardcoded strings by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/330
* docs: fix grammar in README description by @oheriko in https://github.com/modelcontextprotocol/registry/pull/329
* Implement flattened _meta format for server extensions by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/331
* Update examples.md for more realism by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/332
* Database implementation cleanup by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/335
* 102 infra for monitoring by @pree-dew in https://github.com/modelcontextprotocol/registry/pull/328
* fix: remove id property from Server schema by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/339
* fix: use path.Join instead of filepath.Join for embedded migrations by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/338
* Add transport type property to Packages by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/340
* deploy: Reduce resource requests and limits to unblock scheduling pods by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/341
* deploy: fix: update Grafana ingress host format for consistency by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/342
* deploy: feat: set Grafana root_url to make oauth flow smoother by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/344
* Update the schema to remove stdio transport type for remote servers by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/343
* Remove Azure/AKS deployment configuration from deploy by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/347
* Validate server registry urls are allowlisted for that registry type by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/348
* config: remove unused database and logging configuration options by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/349
* Add registry validators by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/350
* Bump release date by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/357
* Add terms of service documentation by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/346
* Check for localhost in remote url by @Avish34 in https://github.com/modelcontextprotocol/registry/pull/355
* Update docs for new package registry contributions by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/362
* Reflect the latest registry changes in openapi.yaml by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/345
* Add optional subfolder field to Repository schema by @KalleBylin in https://github.com/modelcontextprotocol/registry/pull/363
* Add embedded CLI example by @KalleBylin in https://github.com/modelcontextprotocol/registry/pull/352
* Improve stdio transport validation and function naming by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/365
* Big docs tidy up in preparation for launch by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/364
* Introduce Goreleaser by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/366
* Enforce and document file hash requirement for MCPB packages by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/368
* Fix _meta field format for MCP spec compliance by @domdomegg in https://github.com/modelcontextprotocol/registry/pull/367
* Move releases.md and update the deployment image reference from latest to main by @rdimitrov in https://github.com/modelcontextprotocol/registry/pull/369

## New Contributors
* @sridharavinash made their first contribution in https://github.com/modelcontextprotocol/registry/pull/4
* @toby made their first contribution in https://github.com/modelcontextprotocol/registry/pull/8
* @tadasant made their first contribution in https://github.com/modelcontextprotocol/registry/pull/16
* @connor4312 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/33
* @luoxiner made their first contribution in https://github.com/modelcontextprotocol/registry/pull/35
* @ayoyu made their first contribution in https://github.com/modelcontextprotocol/registry/pull/72
* @yshngg made their first contribution in https://github.com/modelcontextprotocol/registry/pull/62
* @debin-ge made their first contribution in https://github.com/modelcontextprotocol/registry/pull/76
* @chenmingyong0423 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/106
* @Copilot made their first contribution in https://github.com/modelcontextprotocol/registry/pull/152
* @joelverhagen made their first contribution in https://github.com/modelcontextprotocol/registry/pull/163
* @chlowell made their first contribution in https://github.com/modelcontextprotocol/registry/pull/199
* @rdimitrov made their first contribution in https://github.com/modelcontextprotocol/registry/pull/210
* @kofj made their first contribution in https://github.com/modelcontextprotocol/registry/pull/147
* @8806667653 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/114
* @TomCN0803 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/144
* @hurricane1988 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/202
* @domdomegg made their first contribution in https://github.com/modelcontextprotocol/registry/pull/223
* @dependabot[bot] made their first contribution in https://github.com/modelcontextprotocol/registry/pull/254
* @andreyvelich made their first contribution in https://github.com/modelcontextprotocol/registry/pull/259
* @pree-dew made their first contribution in https://github.com/modelcontextprotocol/registry/pull/290
* @JAORMX made their first contribution in https://github.com/modelcontextprotocol/registry/pull/299
* @Avish34 made their first contribution in https://github.com/modelcontextprotocol/registry/pull/272
* @joan-anthropic made their first contribution in https://github.com/modelcontextprotocol/registry/pull/295
* @oheriko made their first contribution in https://github.com/modelcontextprotocol/registry/pull/329
* @KalleBylin made their first contribution in https://github.com/modelcontextprotocol/registry/pull/363

**Full Changelog**: https://github.com/modelcontextprotocol/registry/commits/v0.0.1