toolhive-registry-server
An API server that implements the official MCP Registry API, providing standardised access to MCP servers from multiple backends, including file-based and other API-compliant registries.
Description
An API server that implements the official MCP Registry API, providing standardised access to MCP servers from multiple backends, including file-based and other API-compliant registries.
README
Discover, govern, and control access to MCP servers and skills across your organization
The ToolHive Registry Server aggregates MCP servers and skills from Git repos, Kubernetes clusters, upstream registries, and internal APIs into named catalogs that your teams and AI clients can query. Each catalog has its own access control and audit trail, so you decide which entries are visible to which users -- and have a record of who accessed what.
It implements the official Model Context Protocol (MCP) Registry API specification. If you're not familiar with MCP: it's an open protocol that lets AI assistants connect to external tools and data sources. This server is the governance layer that sits between your MCP infrastructure and the teams consuming it.
- Features
- Quickstart
- Core Concepts
- API Endpoints
- Configuration
- The ToolHive Platform
- Documentation
- Contributing
- JWT claim-based visibility: Control which MCP servers and skills each user or team can see, per registry. A "production" registry can expose only vetted entries while a "dev-team" registry shows everything.
- OAuth 2.0/OIDC authentication: Plug in your existing identity provider (Okta, Auth0, Azure AD). OAuth is the default; anonymous mode is available for development.
- Role-based administration: Separate roles for managing sources, registries, and entries. Scope each role to specific JWT claims so teams manage their own resources.
- SIEM-compliant audit logging: Structured log covering all API operations with NIST SP 800-53 AU-3 compliant fields, dedicated file output, and configurable event filtering.
- Five source types: Pull entries from Git repos, upstream MCP registries, local files, Kubernetes clusters, or publish them via the Admin API.
- Compose catalogs from multiple sources: Each registry aggregates one or more sources, listed in order of precedence. One source can feed multiple registries, so the same internal catalog can serve different teams with different visibility rules.
- Background sync: Sources are polled on configurable intervals with retry logic. Registries stay current without manual intervention.
- Kubernetes-native discovery: A built-in reconciler watches for MCP server CRDs across namespaces and syncs them into the registry automatically. Per-entry access control via CRD annotations, multi-namespace support, and leader election for HA.
- OpenTelemetry: Distributed tracing and metrics out of the box.
- Standards-compliant: Implements the official MCP Registry API specification. Clients that speak the spec work out of the box.
- PostgreSQL backend: Database storage with automatic migrations.
- Go 1.26 or later (for building from source)
- Task for build automation
- PostgreSQL 16+
# Build the binary
task build
# Run with Git source
thv-registry-api serve --config examples/config-git.yaml
# Run with local file
thv-registry-api serve --config examples/config-file.yamlThe server starts on http://localhost:8080 by default.
# Using Task (recommended - ensures fresh state)
task docker-up
# Or detached mode
task docker-up-detached
# Access the API
curl http://localhost:8080/registry/default/v0.1/servers
# Stop and clean up
task docker-downNote: The
task docker-upcommand ensures a fresh start by rebuilding the image and clearing all volumes (database + registry data). This prevents stale state issues.
Most organizations have MCP servers and skills in more than one place -- a public catalog, an internal Git repo, a Kubernetes cluster running live instances. The Registry Server models this with two primitives: sources (where entries come from) and registries (what consumers query).
A source is a connection to where MCP server and skill entries live. It tells the server "go look here for entries." Sources come in five types:
| Type | What it does | Example | Sync |
|---|---|---|---|
| API | Pulls from an upstream registry API | The official MCP Registry at registry.modelcontextprotocol.io | Auto |
| Git | Clones entries from a Git repo | A version-controlled internal catalog | Auto |
| File | Reads from the local filesystem | A curated registry.json on disk |
Auto |
| Managed | Entries published via the Admin API | Dynamically registered internal servers | On-demand |
| Kubernetes | Discovers deployed MCP servers | Servers running in your K8s clusters | On-demand |
A registry is a named catalog that aggregates one or more sources into a single consumer-facing endpoint. Each registry can pull from different sources and enforce its own access control via JWT claims. Sources are listed in order -- when the same entry appears in multiple sources, the first source in the list wins.
Why they are separate: Sources and registries have a many-to-many relationship. One source can feed multiple registries, and one registry can pull from multiple sources. This lets you compose different catalogs for different audiences from the same underlying data:
Source: "official-catalog" โโโ
Source: "internal-tools" โโโผโโ> Registry: "production" (curated, vetted)
โ
Source: "internal-tools" โโโผโโ> Registry: "dev-team" (everything)
Source: "k8s-deployed" โโโ
In this example, the "production" registry only exposes vetted entries from the official catalog and internal tools, while the "dev-team" registry includes everything plus live Kubernetes-discovered servers.
Configuration example:
sources:
- name: official-catalog
format: upstream
api:
endpoint: https://registry.modelcontextprotocol.io
syncPolicy:
interval: "1h"
- name: internal-tools
format: toolhive
git:
repository: https://github.com/myorg/mcp-catalog.git
branch: main
path: registry.json
syncPolicy:
interval: "30m"
registries:
- name: production
sources:
- official-catalog
- internal-tools
- name: dev-team
sources:
- internal-toolsSee Configuration Guide for complete details.
Fully compatible with the upstream MCP Registry API specification:
GET /registry/{registryName}/v0.1/servers- List servers from a specific registryGET /registry/{registryName}/v0.1/servers/{name}/versions- List all versions of a serverGET /registry/{registryName}/v0.1/servers/{name}/versions/{version}- Get a specific server version
Note: Git, API, File, and Kubernetes sources are read-only through the registry API.
ToolHive-specific endpoints for managing sources, registries, and entries:
Source management (requires manageSources role):
GET /v1/sources- List all configured sourcesGET /v1/sources/{name}- Get a source by namePUT /v1/sources/{name}- Create or update a sourceDELETE /v1/sources/{name}- Delete a sourceGET /v1/sources/{name}/entries- List entries for a source
Registry management (reads: authenticated; writes require manageRegistries role):
GET /v1/registries- List all configured registries with statusGET /v1/registries/{name}- Get registry details and sync statusGET /v1/registries/{name}/entries- List entries for a registry (requiresmanageRegistriesrole)PUT /v1/registries/{name}- Create or update a registryDELETE /v1/registries/{name}- Delete a registry
Entry management (requires manageEntries role):
POST /v1/entries- Publish a server or skill entryDELETE /v1/entries/{type}/{name}/versions/{version}- Delete a published entryPUT /v1/entries/{type}/{name}/claims- Update entry claims
Read-only endpoints for discovering skills within a registry:
GET /registry/{registryName}/v0.1/x/dev.toolhive/skills- List skills (paginated)GET /registry/{registryName}/v0.1/x/dev.toolhive/skills/{namespace}/{name}- Get latest version of a skillGET /registry/{registryName}/v0.1/x/dev.toolhive/skills/{namespace}/{name}/versions- List all versions of a skillGET /registry/{registryName}/v0.1/x/dev.toolhive/skills/{namespace}/{name}/versions/{version}- Get a specific skill version
GET /health- Health checkGET /readiness- Readiness checkGET /version- Version informationGET /v1/me- Returns the caller's identity and rolesGET /.well-known/oauth-protected-resource- OAuth discovery (RFC 9728)
- Registry API: Standards-compliant MCP discovery for clients and upstream integrations
- Admin API: Manage sources and registries, publish entries, query registry status
See the MCP Registry API specification for full API details.
All configuration is done via YAML files. The server requires a --config flag.
sources:
- name: local
format: toolhive
file:
path: /data/registry.json
registries:
- name: my-registry
sources:
- local
auth:
mode: anonymous # Use "oauth" for production
database:
host: localhost
port: 5432
user: registry
database: registry- Configuration reference - Complete configuration options
- Environment variables - Using environment variables for configuration
- Database setup - PostgreSQL configuration, migrations, and security
- Authentication - OAuth/OIDC setup and security
The Registry Server is one component of the ToolHive platform. Together, they cover the full MCP lifecycle:
- Registry Server (this project) handles discovery and governance -- it knows what MCP servers and skills exist, who can access them, and tracks all operations.
- ToolHive Operator handles deployment -- it deploys and manages MCP servers on Kubernetes, using registry metadata to drive lifecycle decisions. MCP servers deployed by the Operator automatically appear in the registry.
- ToolHive Enterprise UI ties it all together -- catalog browsing, search, and admin management backed by the registry API.
See the ToolHive documentation for the complete platform architecture.
- Configuration reference - All configuration options
- Environment variables - Environment variable overrides
- Database setup - PostgreSQL setup and migrations
- Authentication - OAuth/OIDC security
- Observability - OpenTelemetry tracing and metrics
- Registry sync - How background sync works
- Kubernetes deployment - K8s deployment and HA
- Docker deployment - Docker Compose setup
- API documentation - Auto-generated OpenAPI docs
- CLI reference - Command-line interface docs
- Examples - Working configuration examples
We welcome contributions! See the Contributing guide to get started, including development setup, build commands, architecture overview, and project structure.
- Code of conduct - Community guidelines
- Security policy - Report security vulnerabilities
This project is licensed under the Apache 2.0 License.
Part of the ToolHive project - Simplify and secure MCP servers
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| v1.4.6 | ## What's Changed * Bump `golang.org/x/crypto` and `golang.org/x/net` for CVE fixes by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/799 * Update docker images by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/798 * Update github actions by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/797 * chore: add needs-triage caller workflow by @dussab in https://github.com/stacklok/toolhive-registry-server/pull/801 * Adop | High | 6/3/2026 |
| v1.4.5 | ## What's Changed * Update go modules by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/795 * Release v1.4.5 by @toolhive-release-app[bot] in https://github.com/stacklok/toolhive-registry-server/pull/796 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v1.4.4...v1.4.5 | High | 5/21/2026 |
| v1.4.3 | ## What's Changed * Fix `thv_reg_srv_servers_total`/`skills_total` staleness and labels by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/784 * Release v1.4.3 by @toolhive-release-app[bot] in https://github.com/stacklok/toolhive-registry-server/pull/785 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v1.4.2...v1.4.3 | High | 5/12/2026 |
| v1.4.1 | ## What's Changed * Update github actions by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/759 * Update index.docker.io/library/golang Docker digest to b54cbf5 - autoclosed by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/760 * ci(release): mint GitHub App installation token instead of RELEASE_TOKEN PAT by @Nashon-Steffen in https://github.com/stacklok/toolhive-registry-server/pull/763 * Update go modules by @renovate[bot] in https://gi | High | 5/6/2026 |
| v1.4.0 | ## What's Changed * Remove obsolete Vercel deploy hook for docs-website by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/753 * Enrich `ListRegistryEntries` response with version metadata by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/754 * Update anthropics/claude-code-action digest to e58dfa5 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/756 * Update index.docker.io/library/golang Docker digest to 1e598ea by | High | 4/24/2026 |
| v1.3.0 | ## What's Changed * Add claims-update smoke tests by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/748 * Add `.claude/rules/` and refresh `CLAUDE.md` by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/745 * Update anthropics/claude-code-action digest to 4e5d8b1 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/749 * Update docker images by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/751 * Up | High | 4/22/2026 |
| v1.2.2 | ## What's Changed * Persist `claims` on registry upsert conflict by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/746 * Release v1.2.2 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/747 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v1.2.1...v1.2.2 | High | 4/21/2026 |
| v1.2.1 | ## What's Changed * Return 400 for invalid server name on publish by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/741 * Gate claims check on `authzEnabled` by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/742 * Update anthropics/claude-code-action digest to 5d5c10a by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/743 * Release v1.2.1 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/744 **Full C | High | 4/21/2026 |
| v1.2.0 | ## What's Changed * Remove internal-only endpoints from OpenAPI docs by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/722 * Bump `github.com/moby/spdystream` to v0.5.1 by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/735 * Update github actions by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/733 * Update docker images by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/732 * Add database pass | High | 4/20/2026 |
| v1.1.2 | ## What's Changed * Add gzip response compression middleware by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/729 * Bump toolhive to v0.20.0 to fix groupRef type mismatch by @ChrisJBurns in https://github.com/stacklok/toolhive-registry-server/pull/728 * Release v1.1.2 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/730 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v1.1.1...v1.1.2 | High | 4/15/2026 |
| v1.1.1 | ## What's Changed * Fix integration test port contention by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/704 * Improve commit messages by Claude by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/705 * Update README with marketing and product feedback by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/706 * Update github actions by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/707 * Update index.docker | High | 4/14/2026 |
| v1.1.0 | ## What's Changed * Add commit message conventions to agents by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/698 * Add `WithSkipAuthz` to bypass claims filtering in auth-only mode by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/697 * Refactor audit middleware to per-route annotation by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/696 * Fix smoke-test skill for Compose v5 by @blkt in https://github.com/stacklok/toolhive-registry-se | High | 4/12/2026 |
| v1.0.2 | ## What's Changed * Fix underfilled pages in ListSources and ListRegistries by @lujunsan in https://github.com/stacklok/toolhive-registry-server/pull/688 * Add integration tests for authz gap coverage by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/689 * Stop pinning Go to patch versions, use stable in CI by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/693 * Add SIEM-compliant audit logging by @rdimitrov in https://github.com/stacklok/toolhiv | High | 4/11/2026 |
| v1.0.1 | ## What's Changed * Add sync support for skills from external sources by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/668 * Add per-entry claims for K8s sources via authz-claims annotation by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/662 * Split test CI into parallel jobs with matrix for DB tests by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/681 * Remove v2-final.md design doc by @rdimitrov in https://github.co | Medium | 4/9/2026 |
| v1.0.0 | ## What's Changed * Trigger sync when filter configuration changes but source data is unchanged by @lujunsan in https://github.com/stacklok/toolhive-registry-server/pull/618 * Merge v1 to main by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/622 * Update github/codeql-action digest to c6f9311 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/625 * Update go modules by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pul | Medium | 4/8/2026 |
| v0.6.6 | ## What's Changed * Eliminate double fetch per sync cycle by @lujunsan in https://github.com/stacklok/toolhive-registry-server/pull/577 * Update github/codeql-action digest to b1bff81 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/578 * Update opentelemetry-go monorepo to v1.42.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/596 * Update module sigs.k8s.io/controller-runtime to v0.23.3 by @renovate[bot] in https://github.com/stackl | Low | 3/19/2026 |
| v0.6.4 | ## What's Changed * Fix `registry_entry` uniqueness constraint by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/566 * Add v1 API stubs by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/565 * Rename the publish file to entries by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/568 * Split registry entries from their versions by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/569 * Update anthropics/claude-cod | Low | 3/16/2026 |
| v0.6.3 | ## What's Changed * Update anthropics/claude-code-action digest to 68cfeea by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/527 * Update github/codeql-action digest to 9e907b5 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/528 * Refactor service interface by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/529 * Move extension endpoints under `internal/api/x` by @blkt in https://github.com/stacklok/toolhive-registry- | Low | 3/9/2026 |
| v0.6.2 | ## What's Changed * Unify database connection setup for dynamic auth in migrations by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/513 * Fix `mcp_server_package` primary key by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/521 * Skip building the UBI image by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/518 * Add support for `version=latest` filter by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/522 | Low | 2/13/2026 |
| v0.6.1 | ## What's Changed * Fix metadata serialization by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/515 * Release v0.6.1 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/517 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.6.0...v0.6.1 | Low | 2/13/2026 |
| v0.6.0 | ## What's Changed * Update anthropics/claude-code-action digest to 006aaf2 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/483 * Update github/codeql-action digest to 45cbd0c by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/484 * Resolve vulnerability warnings by bumping Go to 1.25.7 by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/486 * Update anthropics/claude-code-action digest to b113f49 by @renovate[bot] | Low | 2/12/2026 |
| v0.5.3 | ## What's Changed * Tidy up `go.mod` manually by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/481 * Release v0.5.3 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/482 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.5.2...v0.5.3 | Low | 2/5/2026 |
| v0.5.2 | ## What's Changed * Output logs to stderr by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/479 * Release v0.5.2 by @stacklokbot in https://github.com/stacklok/toolhive-registry-server/pull/480 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.5.1...v0.5.2 | Low | 2/5/2026 |
| v0.5.1 | ## What's Changed * Upgrade to Go 1.25.6 to fix stdlib security vulnerabilities by @ChrisJBurns in https://github.com/stacklok/toolhive-registry-server/pull/429 * Update docker/login-action action to v3.7.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/424 * Update anthropics/claude-code-action digest to ff34ce0 - autoclosed by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/430 * Update module github.com/lib/pq to v1.11.0 by @renovate | Low | 2/5/2026 |
| v0.5.0 | ## What's Changed * Update module github.com/stacklok/toolhive to v0.7.1 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/375 * Pin stacklok/releaseo action to 103e7d5 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/377 * Update actions/checkout digest to 34e1148 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/378 * Update actions/setup-go action to v6 by @renovate[bot] in https://github.com/stacklok/tool | Low | 1/28/2026 |
| v0.4.9 | ## What's Changed * Update index.docker.io/library/golang Docker digest to 0f406d3 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/366 * Update index.docker.io/library/golang Docker digest to 8bbd140 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/368 * Fix name filter to support matching across slashes by @dmartinol in https://github.com/stacklok/toolhive-registry-server/pull/369 * Fix data when syncing from toolhive format by @blkt | Low | 1/15/2026 |
| v0.4.8 | ## What's Changed * Update module github.com/jackc/pgx/v5 to v5.8.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/348 * Update anchore/sbom-action action to v0.21.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/346 * Update index.docker.io/library/golang Docker digest to 31c1e53 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/349 * Update logos and README by @danbarr in https://github.com/stacklok/to | Low | 1/13/2026 |
| v0.4.7 | ## What's Changed * adds docs about release process by @ChrisJBurns in https://github.com/stacklok/toolhive-registry-server/pull/316 * Pin actions/checkout action to 34e1148 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/314 * Update module github.com/stacklok/toolhive to v0.6.14 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/317 * Update actions/checkout action to v6 by @renovate[bot] in https://github.com/stacklok/toolhive-reg | Low | 12/23/2025 |
| v0.4.5 | ## What's Changed * Fix flaky tests by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/296 * Update module github.com/stacklok/toolhive to v0.6.12 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/297 * Update github/codeql-action digest to 1b168cd by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/294 * Add Kubernetes OAuth configuration options by @jhrozek in https://github.com/stacklok/toolhive-registry-server/pu | Low | 12/17/2025 |
| v0.4.4 | ## What's Changed * Update anchore/sbom-action action to v0.20.11 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/277 * Update index.docker.io/library/golang Docker digest to a22b2e6 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/276 * Use Viper for configuration management by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/269 * Update module k8s.io/apimachinery to v0.34.3 by @renovate[bot] in https://git | Low | 12/12/2025 |
| v0.4.3 | ## What's Changed * Add workflow step to trigger docs website rebuild by @danbarr in https://github.com/stacklok/toolhive-registry-server/pull/255 * Update index.docker.io/library/golang Docker digest to 0ece421 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/271 * Update anthropics/claude-code-action digest to f0c8eb2 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/273 * Fix sync issue by @dmjb in https://github.com/stacklok/tool | Low | 12/9/2025 |
| v0.4.2 | ## What's Changed * Include swagger in the release assets (not just archive) by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/270 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.4.1...v0.4.2 | Low | 12/9/2025 |
| v0.4.1 | ## What's Changed * Change title in README from API Server to Server by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/252 * Use standard testing pkgs instead of ginkgo/gomega by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/251 * Update module github.com/go-git/go-billy/v5 to v5.7.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/256 * Update github/codeql-action digest to cf1bb45 by @renovate[bot] in https:// | Low | 12/9/2025 |
| v0.4.0 | ## What's Changed * Update module github.com/spf13/cobra to v1.10.2 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/246 * Fix readme by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/245 * Add support for remotely hosted registry files by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/247 * Silence usage on errors and ignore logging /health and /readiness by @rdimitrov in https://github.com/stacklok/toolhive-reg | Low | 12/4/2025 |
| v0.3.9 | ## What's Changed * Use stderr for logging by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/244 * Update the readme file by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/243 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.3.8...v0.3.9 | Low | 12/4/2025 |
| v0.3.8 | ## What's Changed * Bring the in-memory storage layer up-to-date by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/237 * Initial implementation of API registry support by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/238 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.3.7...v0.3.8 | Low | 12/3/2025 |
| v0.3.7 | ## What's Changed * Update golangci/golangci-lint-action action to v9.2.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/235 * Add examples for multiple registries and filters by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/234 * Migrate logging to log/slog by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/236 * Change PK of mcp_registry, take #2 by @dmjb in https://github.com/stacklok/toolhive-registry-serve | Low | 12/3/2025 |
| v0.3.6 | ## What's Changed * Update actions/checkout digest to 8e8c483 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/230 * Update module github.com/stacklok/toolhive to v0.6.10 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/231 * Update index.docker.io/library/golang Docker digest to 20b91ed by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/232 * we want to skip servers without desired annotations by @ChrisJ | Low | 12/2/2025 |
| v0.3.5 | ## What's Changed * Improve Docker Compose setup for local development by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/227 * Implement search for listing servers and set pagination limits by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/229 * Add MCP Server reconciler by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/228 **Full Changelog**: https://github.com/stacklok/toolhive-registry-server/compare/v0.3.4...v0.3.5 | Low | 12/2/2025 |
| v0.3.4 | ## What's Changed * Make `auth` config mandatory by @blkt in https://github.com/stacklok/toolhive-registry-server/pull/222 * Update anthropics/claude-code-action digest to 6337623 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/224 * Update registry.access.redhat.com/ubi10/ubi-minimal Docker tag to v10.1-1764604111 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/225 * Add k8s registry type by @dmjb in https://github.com/stacklok/t | Low | 12/1/2025 |
| v0.3.3 | ## What's Changed * Update module github.com/golang-migrate/migrate/v4 to v4.19.1 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/218 * Add proper URL path parameter encoding/decoding by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/219 * Switch the authentication default to OAuth from anonymous by @jhrozek in https://github.com/stacklok/toolhive-registry-server/pull/203 * Update github/codeql-action digest to fe4161a by @renovate[bot] | Low | 12/1/2025 |
| v0.3.2 | ## What's Changed * Add missing operational endpoints to public paths by @jhrozek in https://github.com/stacklok/toolhive-registry-server/pull/202 * Update docker/metadata-action action to v5.10.0 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/206 * Update module github.com/stacklok/toolhive to v0.6.8 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/205 * Implement the openapi endpoint by @rdimitrov in https://github.com/stacklok/ | Low | 11/29/2025 |
| v0.3.1 | The main change in this release is to support Postgres password files as an authentication option for the database. ## What's Changed * Alter DB code to use a standard pgpassfile by @dmjb in https://github.com/stacklok/toolhive-registry-server/pull/198 * Update module github.com/stacklok/toolhive to v0.6.7 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/194 * Remove the legacy v0 endpoints by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/ | Low | 11/27/2025 |
| v0.3.0 | # ๐ Toolhive Registry Server v0.3.0 is live! This release represents a major architectural step forward with database-backed storage, comprehensive authentication, and a more streamlined API surface. **Architecture & Storage** โข Database-backed registry implementation replaces in-memory storage for better persistence and scalability โข Automatic database migrations run on startupโno manual intervention needed โข Added `prime-db` command for quick database initialization and testing โข St | Low | 11/26/2025 |
| v0.2.0 | # ๐ ToolHive Registry Server v0.2.0 is live! This release marks a significant milestone with major infrastructure improvements, new API capabilities, and enhanced data management features. **Architecture & Infrastructure** โข Introduced database-backed storage with schema definitions and migration support for better scalability โข Added Source Manager for handling upstream registry data synchronization โข Implemented sqlc for type-safe database queries with comprehensive test coverage โข | Low | 11/19/2025 |
| v0.1.0 | ## What's Changed * Add CODE_OF_CONDUCT, CONTRIBUTING, MAINTAINERS, SECURITY files by @rdimitrov in https://github.com/stacklok/toolhive-registry-server/pull/1 * Initial split by @dmartinol in https://github.com/stacklok/toolhive-registry-server/pull/3 * CI Fixes by @dmartinol in https://github.com/stacklok/toolhive-registry-server/pull/10 * Pin github/codeql-action action to f443b60 by @renovate[bot] in https://github.com/stacklok/toolhive-registry-server/pull/11 * Update sigstore/cosign-i | Low | 10/20/2025 |
