PAGES
← all tools
◆ AI/LLM Security

ToolHive

v0.60.0 open-source

ToolHive is an enterprise-grade platform for running and managing Model Context ProtocolModel Context ProtocolModel Context Protocol, a standard for connecting AI applications to external tools and data sources. A compatible server exposes capabilities an assistant can use through a common interface. (MCPMCPModel Context Protocol, a standard for connecting AI applications to external tools and data sources. A compatible server exposes capabilities an assistant can use through a common interface.) servers.

Summary

ToolHive is an open-source platform, licensed under Apache 2.0, that runs Model Context Protocol (MCP) servers in isolated containers and enforces identity and access policy on each request. It is run as a command-line tool, with a Kubernetes operator for cluster deployments, and covers developers connecting clients like Claude Code or Cursor to MCP servers, platform engineers standardizing MCP on existing Kubernetes infrastructure, and enterprises with compliance needs that rule out SaaSSaaSSoftware delivered over the internet and run on the provider's infrastructure, so the buyer pays a subscription instead of installing or operating anything locally.. Its own documentation contrasts it with SaaS-based MCP offerings, positioning self-hosting as the reason to choose it. Recent work adds Cedar-based authorization, OAuth token exchangeOAuth token exchangeAn OAuth 2.0 extension (RFC 8693) that lets a service swap one token for another with different scopes, audience, or type, so cyber tools can delegate access across service boundaries without re-authenticating the user. for agentic delegation, and OpenTelemetryOpenTelemetryAn open standard and set of tools for collecting traces, metrics and logs from applications. It lets services export observability data without tying instrumentation to one monitoring vendor. tracing for rate limiting, and with 143 contributors and a release cut 16 days ago, it is under active development.

ToolHive is an enterprise-grade platform for running and managing Model Context Protocol (MCP) servers.

How ToolHive helps

Which MCP servers running on this machine can see my real credentials?

wraps each server in an isolated container with a minimal permission file, so none of them hold local credentials directly

Which of my developers are running MCP servers my security team never approved?

gives platform teams audit logs and identity enforcement across every MCP server in use, closing off unsanctioned shadow use

Can an agent act on a user's behalf without that agent inheriting the user's full access?

issues delegated tokens through OAuth token exchange that carry both the user's identity and the acting agent's identity, so downstream checks see who really made the call

Who was denied access to an MCP server, and why?

logs authorization denials on the request path, giving a trail of exactly which requests were rejected and on what grounds

Is a client actually enforcing the access rules I wrote, including on nested claims?

evaluates Cedar policies against the request's claims, including nested map values, and returns the verdict per request

Is my traffic being throttled, and by what rule?

emits metrics and traces for rate limiting so throttling behavior on a given request can be traced back to its cause

all 42 features, with the evidence for each →

Languages

Not documented

Features

42 capabilities across 5 capability groups · 4 backed by code, an API document or a real run

Built from ToolHive's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • ToolHive covers 1 of the 6 ai evaluation and governance capabilities we track.
  • ToolHive covers 1 of the 5 supply chain security capabilities we track.

What ToolHive offers you

  • Command-line interface15
  • MCP server5
  • Plugin system2
  • REST API2
  • Administrative audit log1
  • CI/CD pipeline integration1
  • Kubernetes-native deployment1
  • Outbound webhooks (the product notifies you)1
  • Plugin API support1
  • Role-based access control1
MCP server 2 features Interfaces and integrations since 2025
MCP server lifecycle management (thv run / proxy) shipped Runs MCP servers as containers and proxies their traffic, controlling network access and enforcing protocol conformance. 68 releases · 12 other sources · first seen Mar 2025

Shared capability: MCP server

Also counts toward: Command-line interface, MCP server

release 68 total

  • Wires OIDC transport flags into thv run auth middleware config, making OIDC transport options available directly on server launch. v0.57.0 · Oct 2026 · source · release history
  • Wires OIDC transport flags into thv run auth middleware config, allowing OIDC settings to be passed directly at server launch. v0.57.0 · Oct 2026 · source · release history
  • thv llm teardown now purges cached OIDC tokens by default on a full teardown (all tools removed) and exits non-zero if the secrets provider is unavailable or token operations fail. Scripts that relied on tokens surviving teardown must add --keep-tokens. --keep-tokens and --purge-tokens are mutually exclusive. v0.52.0 · Oct 2026 · source · release history
  • thv llm teardown now accepts --keep-tokens to preserve cached OIDC tokens when tearing down all configured LLM tools. v0.52.0 · Oct 2026 · source · release history
  • Default builder image for go:// workloads updated from golang:1.26-alpine to golang:1.27-alpine. v0.49.0 · Sep 2026 · source · release history
  • runtime_config.build_with on npx:// or go:// images via POST /api/v1beta/workloads now returns 400 Bad Request instead of silently discarding the field. v0.45.0 · Aug 2026 · source · release history

docs

  • Open-source MCP platform that runs MCP servers in isolated containers with identity/access policy enforcement for local and Kubernetes deployments.

example 11 total

  • Allow a browser-based MCP client served from a custom origin to reach ToolHive's SSE transport after the wildcard CORS removal. thv run --transport sse --allowed-origins https://my-web-app.example.com some/mcp-server v0.32.0 · Jun 2026 · source
  • Configure a deployment to scale backend replicas and tune session caching via the RunConfig struct. runCfg := config.RunConfig{ BackendReplicas: 3, SessionCacheSize: 500, } v0.12.5 · Mar 2026 · source
  • Configure specific network isolation or host networking for a ToolHive instance. toolhive start --network host v0.4.1 · Oct 2025 · source
  • Manage workloads on a remote server, such as restarting a specific tool instance. toolhive restart <remote-server-id> <tool-id> v0.2.12 · Aug 2025 · source
  • Migrate your custom MCPServer manifests to use the new schema_version field. spec: schema_version: "1" ... toolhive-operator-crds-0.0.14 · Aug 2025 · source
  • Deploy an MCP container with elevated privileges for kernel-level operations. toolhive run --privileged <container_name> v0.2.7 · Aug 2025 · source
Virtual MCP server (vMCP) aggregation shipped Combines multiple MCP servers behind a single virtual endpoint, with deterministic tool ordering and session-scoped capability forwarding. 32 releases · 4 other sources · first seen Jun 2025

Shared capability: MCP server

Also counts toward: MCP server

release 32 total

  • Adds backend-scoped vMCP authorization, allowing per-backend authorization policies on the Virtual MCP server. v0.57.0 · Oct 2026 · source · release history
  • Adds backend-scoped vMCP authorization, enabling per-backend access control policies on the Virtual MCP Server. v0.57.0 · Oct 2026 · source · release history
  • Virtual MCP now honours operational.timeouts configured values and propagates backend health changes to live sessions. v0.45.0 · Aug 2026 · source · release history
  • Virtual MCP now honours operational.timeouts and propagates backend health changes to live sessions. v0.45.0 · Aug 2026 · source · release history
  • Virtual MCP honours operational.timeouts; values below 30 s cut backend calls that previously got the silent 30 s default v0.45.0 · Aug 2026 · source · release history
  • Virtual MCP now honours operational.timeouts; a configured value below 30 s will now actually cut backend calls that previously received the silent 30 s default. v0.45.0 · Aug 2026 · source · release history

example

  • Enforce per-backend SSRF/private-range dial policy in a vMCP embedder — deny private ranges for most backends, but allow private dialing for a trusted internal workload. factory := session.NewSessionFactory(registry, session.WithDialControlResolver( func(workloadID string) func(network, address string, c syscall.RawConn) error { if allowsPrivateDialing(workloadID) {… v0.49.0 · Sep 2026 · source
  • Lock down a vMCP group so new workloads are hidden by default and only explicitly listed ones expose tools. name: "engineering-vmcp" groupRef: "engineering-team" aggregation: defaultToolVisibility: deny tools: - workload: github - workload: jira v0.42.1 · Aug 2026 · source
  • Lock down a vMCP group so only explicitly listed workloads expose tools — prevents newly added workloads from silently advertising all their tools. aggregation: defaultToolVisibility: deny tools: - workload: github - workload: jira v0.42.1 · Aug 2026 · source
  • Launch a vMCP instance with the new code mode decorator enabled for enhanced session handling toolhive run my-service --code-mode v0.31.0 · Jun 2026 · source
OIDC SSO 1 feature Identity and access since 2025
Embedded OAuth 2.0 / OIDC authorization server shipped Runs an in-cluster OAuth 2.0 and OIDC authorization server with dynamic client registration and token exchange support. 94 releases · 9 other sources · first seen May 2025

Shared capability: OIDC SSO

release 94 total

  • Let DCR upstreams choose their token endpoint authentication method, expanding the range of identity providers that work with dynamic client registration. v0.60.0 · Nov 2026 · source · release history
  • Derive the signing algorithm for delegate clients automatically rather than requiring manual configuration. v0.60.0 · Nov 2026 · source · release history
  • Issue and rotate OAuth 2.0 refresh tokens through the token exchange flow, so delegate clients can maintain long-lived sessions without re-authentication. v0.60.0 · Nov 2026 · source · release history
  • Require a trust mode for private_key_jwt delegates, enforcing explicit trust configuration before asymmetric client authentication is permitted. v0.60.0 · Nov 2026 · source · release history
  • Store OAuth 2.0 exchange grants in Redis by configuring the new Redis storage backend for the token exchange subsystem. v0.60.0 · Nov 2026 · source · release history
  • Limit delegate token exchange to the configured source clients only, so tokens cannot be exchanged by unregistered callers. v0.60.0 · Nov 2026 · source · release history

example 9 total

  • Restrict which OAuth scopes are requested when registering an LLM provider, so tokens carry only the permissions your deployment needs. thv llm setup --scopes openid,profile,email v0.60.0 · Nov 2026 · source
  • Opt a pre-registered OAuth2 upstream into HTTP Basic authentication at the token endpoint when your IdP requires it. upstreamProviders: - name: my-idp type: oauth2 oauth2Config: clientId: my-client clientSecretRef: name: idp-client-secret key: client-secret tokenEndpoint: https://idp.example.com/oauth2/token… v0.49.0 · Sep 2026 · source
  • Opt a pre-registered OAuth2 upstream into HTTP Basic auth at the token endpoint when your IdP requires it. upstreamProviders: - name: my-idp type: oauth2 oauth2Config: clientId: my-client clientSecretRef: name: idp-client-secret key: client-secret tokenEndpoint: https://idp.example.com/oauth2/token… v0.49.0 · Sep 2026 · source
  • Point an embedded auth server at an in-cluster IdP behind a private CA so ToolHive can reach its OIDC discovery and token endpoints. caBundleRef: my-internal-ca-secret v0.46.0 · Aug 2026 · source
  • Trust an internal CA for an in-cluster OIDC provider so the embedded auth server can reach it for discovery and token calls. caBundleRef: my-internal-ca-secret v0.46.0 · Aug 2026 · source
  • Allow a dev/test MCPOIDCConfig to use a plain-HTTP in-cluster Keycloak without breaking reconciliation after upgrading. apiVersion: toolhive.stacklok.dev/v1beta1 kind: MCPOIDCConfig metadata: name: keycloak-auth spec: type: inline inline: issuer: http://keycloak:8080/realms/toolhive jwksUrl:… v0.42.1 · Aug 2026 · source
Role-based access control 1 feature Identity and access since 2025
Kubernetes operator for MCP workloads shipped Deploys and manages MCP servers on Kubernetes using an operator, custom resource definitions, and Helm charts. 107 releases · 13 other sources · first seen Mar 2025

Shared capability: Role-based access control

Also counts toward: Kubernetes-native deployment, MCP server, Role-based access control

release 107 total

  • Classifies MCPRemoteProxy pods by container readiness rather than phase alone, improving accuracy of pod status reporting. v0.57.0 · Oct 2026 · source · release history
  • Classifies MCPRemoteProxy pods by container readiness rather than phase alone, improving accuracy of proxy pod health reporting. v0.57.0 · Oct 2026 · source · release history
  • Exposes DCR client cap and register rate limit as CRD fields, letting Kubernetes operators declare limits declaratively.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.56.0 · Oct 2026 · source · release history
  • Exposes DCR client cap and register rate limit as configurable fields in the CRD.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.56.0 · Oct 2026 · source · release history
  • Restricts pods/attach RBAC permission to stdio transport only, tightening the least-privilege posture. v0.55.0 · Oct 2026 · source · release history
  • Exposes group-based upstream filter via the vMCP CRD, letting operators scope which upstreams a virtual MCP session can reach. v0.55.0 · Oct 2026 · source · release history

docs

  • Open-source MCP platform that runs MCP servers in isolated containers with identity/access policy enforcement for local and Kubernetes deployments.

example 12 total

  • Encrypt Redis session storage in the operator with a private CA — required for production deployments where the Redis TLS cert is signed by an internal CA. spec: sessionStorage: tls: caCertSecretRef: name: redis-ca-secret key: ca.crt v0.52.0 · Oct 2026 · source
  • Opt out of the StorageVersionMigrator on a namespace-scoped Helm install to avoid a broken helm upgrade. operator: rbac: scope: namespace features: storageVersionMigrator: false v0.41.0 · Jul 2026 · source
  • Customize the pod spec for an MCPRemoteProxy deployment — useful when you need node selectors, resource limits, or custom annotations on the proxy pod. spec: podTemplateSpec: metadata: annotations: my-org/team: security spec: nodeSelector: kubernetes.io/arch: amd64 containers: - name: proxy resources: limits: memory: 256Mi v0.37.0 · Jul 2026 · source
  • Install only the server CRDs when deploying the operator via Helm. helm install toolhive-operator-crds . --set crds.install.server=true --set crds.install.registry=false --set crds.install.virtualMcp=false toolhive-operator-crds-0.0.80 · Dec 2025 · source
  • Deploy the ToolHive Operator to a Kubernetes cluster using the newly provided chart. helm install toolhive-operator ./toolhive-operator-0.5.2/helm-chart toolhive-operator-0.5.2 · Nov 2025 · source
  • Deploy the operator using the standard Helm workflow after adding the repository. helm repo add toolhive https://stacklok.github.io/toolhive helm install toolhive-operator toolhive/toolhive-operator --version 0.5.0 toolhive-operator-0.5.0 · Nov 2025 · source
LLM application tracing 1 feature AI evaluation and governance since 2025
Distributed tracing shipped Propagates trace context through MCP requests so the full path from client to backend can be viewed as a single end-to-end trace. 9 releases · first seen Jul 2025

Shared capability: LLM application tracing

release 9 total

  • W3C trace context propagates through outbound MCP _meta (SEP-414), joining backend spans to the client→proxy→server trace. v0.41.0 · Jul 2026 · source · release history
  • Adds W3C trace context propagation through outbound MCP _meta fields for distributed tracing v0.41.0 · Jul 2026 · source · release history
  • W3C trace context propagates through outbound MCP _meta, joining backend spans to the client→proxy→server trace. v0.41.0 · Jul 2026 · source · release history
  • OTLP exporter headers from the OTEL_EXPORTER_OTLP_HEADERS environment variable are no longer dropped on POST /api/v1/workloads. v0.29.2 · Jun 2026 · source · release history
  • Adds support for custom OpenTelemetry resource attributes to enrich trace metadata. v0.4.1 · Oct 2025 · source · release history
  • Adds telemetry field in the configmap to support propagating telemetry toolhive-operator-crds-0.0.25 · Sep 2025 · source · release history
Artifact signing 1 feature Supply chain security since 2025
Skill artifact signing and provenance shipped Signs MCP skill artifacts using Sigstore so that their origin and integrity can be verified before use. 23 releases · 1 other source · first seen May 2025

Shared capability: Artifact signing

release 23 total

  • Enforces catalog provenance for plugin installs, ensuring plugins are verified against registry provenance before installation. v0.50.0 · Sep 2026 · source · release history
  • Honoured pinned cosign key is now applied on sync and upgrade operations, and plugin pushes are signed with the lock feature gate removed. v0.47.0 · Sep 2026 · source · release history
  • Enables the signer-blocking behaviour via the TOOLHIVE_PLUGINS_LOCK_ENABLED environment variable (experimental plugins lock file). v0.46.0 · Aug 2026 · source · release history
  • Controlled by the TOOLHIVE_PLUGINS_LOCK_ENABLED environment variable; lock entries with no recorded provenance are unaffected by the new signer-rotation check. v0.46.0 · Aug 2026 · source · release history
  • thv skill push now returns 400 when both --key and --no-sign are supplied; exactly one of --key, --identity-token, or --no-sign is required. v0.45.0 · Aug 2026 · source · release history
  • thv skill push now signs keylessly by default; requires exactly one of --key, --identity-token, or --no-sign. v0.45.0 · Aug 2026 · source · release history

example

  • Push a skill artifact with keyless signing using --identity-token now that thv skill push requires exactly one signing option. thv skill push --identity-token "$(cat /var/run/secrets/token)" ./my-skill v0.45.0 · Aug 2026 · source
Other / not yet classified 36 features Features we have not matched to a capability yet. A suggested match is marked.
Registry interface capabilities shipped Supports OCI container registries for tool storage, allowing local registry configuration and dynamic registry specification via API. 43 releases · 4 other sources · first seen Mar 2025

Also counts toward: Command-line interface

release 43 total

  • Adds Context7 ownership verification and expanded library configuration for the Context7 integration. v0.59.0 · Oct 2026 · source · release history
  • The MCPRegistry CRD is deprecated and will be removed in a future release. v0.29.2 · Jun 2026 · source · release history
  • Exposes an OpenAPI spec at /api/openapi.json for v0.1 skills registry endpoints, enabling tooling-driven API exploration v0.20.0 · Apr 2026 · source · release history
  • Introduces type-safe UpdateRegistryConfig and DeleteRegistryConfig structs for registry policy gates v0.17.0 · Apr 2026 · source · release history
  • Wires non-interactive registry authentication for serve mode, allowing thv serve to authenticate with a registry without manual prompts. v0.12.5 · Mar 2026 · source · release history
  • Adds thv registry login and thv registry logout CLI commands for authenticating with remote registries v0.12.2 · Mar 2026 · source · release history

example

  • Use the new Go API to create a backend registry that discovers backends from Kubernetes resources. registry := toolhive.NewKubernetesBackendRegistry(ctx, k8sClient) v0.30.1 · Jun 2026 · source
  • Configure pgpass credentials for the MCPRegistry operator to access PostgreSQL backends. # Add .pgpass entries to the operator's service account volume # then set env: MCP_REGISTRY_PGPASS=/path/to/pgpass v0.6.14 · Dec 2025 · source
  • Configure the ToolHive operator to connect to an external PostgreSQL instance for its registry. helm install toolhive-operator-crds ./toolhive-operator-crds --set registry.database.host=postgres.example.com --set registry.database.port=5432 toolhive-operator-crds-0.0.71 · Nov 2025 · source
  • Configure ToolHive to pull containers from a local registry using a file-based path. thv config set-registry --path /local/registry/config.yaml v0.2.2 · Aug 2025 · source
Skill (MCP tool) package management verified Installs, upgrades, and removes MCP skill packages as plugins, with project-scoped lock files for reproducible environments. 32 releases · 10 other sources · first seen Dec 2025

Also counts toward: CI/CD pipeline integration, Command-line interface, Plugin system

release 32 total

  • Enforces catalog provenance for plugin installs, requiring plugins to pass provenance checks before installation. v0.50.0 · Sep 2026 · source · release history
  • Verifies key-signed skill and plugin installs against a public key, and records the pinned cosign key in the lock schema. v0.47.0 · Sep 2026 · source · release history
  • Verifies key-signed skill and plugin installs against a public key, recording the pinned cosign key in the lock schema v0.47.0 · Sep 2026 · source · release history
  • Experimental plugins lock file enabled by setting TOOLHIVE_PLUGINS_LOCK_ENABLED environment variable v0.46.0 · Aug 2026 · source · release history
  • Adds --allow-signer-change flag to thv ai-plugin upgrade, which re-records a new signer identity in the project lock file; without it, upgrades whose signature identity differs from the lock file (or that are unsigned) exit with code 4 and report signer-change-blocked. v0.46.0 · Aug 2026 · source · release history
  • Adds --allow-signer-change flag to thv ai-plugin upgrade so operators can explicitly confirm a signer rotation; without it, upgrades whose signature identity differs from the lock file — or that are unsigned — are blocked with exit code 4 and signer-change-blocked. v0.46.0 · Aug 2026 · source · release history

command line

  • --public-key — Path to the cosign public key (cosign.pub) a key-pair-signed plugin must verify against. Required the first time such a plugin is installed project-scoped; the key is then pinned in the lock file and reused automatically v0.47.0 · Sep 2026 · command-line history

example 9 total

  • Upgrade a plugin whose signing identity has legitimately rotated, explicitly approving the new signer so it is recorded in the lock file. thv ai-plugin upgrade --allow-signer-change <plugin-name> v0.46.0 · Aug 2026 · source
  • Upgrade a plugin while explicitly approving a signer identity change — required when the new release is signed by a different identity than what the lock file recorded. thv ai-plugin upgrade --allow-signer-change <plugin-name> v0.46.0 · Aug 2026 · source
  • Scope a REST skill sync to specific clients so CI pipelines do not unexpectedly expand to all skill-supporting clients after upgrade. curl -X POST http://127.0.0.1:8080/api/v1beta/skills/sync \ -H 'Content-Type: application/json' \ -d '{"clients": ["claude-code", "cursor"]}' v0.45.0 · Aug 2026 · source
  • Sync skills only to a specific client to avoid unexpected drift into .qoder/skills/ after the new qoder client was added. thv skill sync --clients claude-code thv skill sync --check --clients claude-code v0.45.0 · Aug 2026 · source
  • Sync skills to only a specific client in CI so that the addition of the new qoder client does not cause unexpected drift and a non-zero exit. thv skill sync --check --clients claude-code v0.45.0 · Aug 2026 · source
  • Restore and verify a project's pinned MCP skill set in CI to ensure every machine uses exactly the locked versions. thv skill sync v0.41.0 · Jul 2026 · source
LLM client / gateway setup shipped Configures ToolHive to connect with LLM clients and gateways such as Claude Desktop and AWS Bedrock in proxy or direct mode. 32 releases · 6 other sources · first seen Apr 2025

Also counts toward: Command-line interface

release 32 total

  • ToolHive now adds a credential helper for Windows Claude Desktop, extending client integration to Windows users. v0.59.0 · Oct 2026 · source · release history
  • ToolHive adds a credential helper for Claude Desktop on Windows, extending MCP client integration to the Windows platform. v0.59.0 · Oct 2026 · source · release history
  • Supports Pi in the LLM gateway setup. v0.55.0 · Oct 2026 · source · release history
  • Adds thv client connector for Claude Desktop, enabling automatic client wiring. v0.55.0 · Oct 2026 · source · release history
  • thv llm teardown now purges cached OIDC tokens by default on a full teardown (all tools removed) and exits non-zero if the secrets provider is unavailable or token operations fail. Scripts that relied on tokens surviving teardown must add --keep-tokens. --keep-tokens and --purge-tokens are mutually exclusive. v0.52.0 · Oct 2026 · source · release history
  • thv llm setup now configures Claude Code for one-hour prompt caching by default; pass --short-prompt-cache to opt out. v0.52.0 · Oct 2026 · source · release history

example

  • Restrict the OAuth scopes requested when connecting an LLM provider, so the token carries only the permissions the integration needs. thv llm setup --scopes openid,profile,email v0.60.0 · Nov 2026 · source
  • Set up Claude Code without one-hour prompt caching when shorter cache windows are preferred for cost or freshness reasons. thv llm setup --short-prompt-cache v0.52.0 · Oct 2026 · source
  • Tear down all LLM tools in CI without invalidating cached tokens needed by a subsequent thv llm setup step. thv llm teardown --keep-tokens v0.52.0 · Oct 2026 · source
  • Configure ToolHive to use an AWS Bedrock-compatible LLM endpoint instead of a default provider. thv llm setup --bedrock v0.39.0 · Jul 2026 · source
  • Connect ToolHive to a Zed editor instance using the new supported client type. toolhive run --client zed v0.6.10 · Dec 2025 · source
  • Run an MCP proxy in stdio mode suitable for direct invocation by Claude Desktop or other LLM clients. toolhive proxy stdio <container_name> v0.2.7 · Aug 2025 · source
Backend authentication strategies shipped Authenticates outbound proxy requests to upstream MCP servers using pluggable strategies including on-behalf-of and cross-application token exchange. 32 releases · 2 other sources · first seen Jul 2025

Also counts toward: Plugin API support, Plugin system

release 32 total

  • Adds opt-in upstream subject identifiers, letting operators surface the upstream identity subject in token and auth flows. v0.57.0 · Oct 2026 · source · release history
  • Lets embedders refuse refresh grants on dead upstreams, preventing token refresh attempts against unavailable upstream services. v0.57.0 · Oct 2026 · source · release history
  • Returns HTTP 401 when a token session holds no upstream access token. v0.56.0 · Oct 2026 · source · release history
  • Allows omitting scope on upstream token refresh, simplifying token exchange flows. v0.55.0 · Oct 2026 · source · release history
  • Refreshes upstream tokens automatically when the ID token expires.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.54.0 · Oct 2026 · source · release history
  • Authenticates MCP clients using SPIFFE JWT-SVIDs, enabling workload identity-based access control for MCP servers.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.51.0 · Sep 2026 · source · release history

example

  • Configure an OAuth token-exchange backend in vmcp so that downstream calls use RFC 8693 delegate tokens — now fully reachable after this release. backends: github: type: token_exchange tokenExchange: tokenUrl: "https://keycloak.example.com/realms/myrealm/protocol/openid-connect/token" clientId: "vmcp-github-exchange" clientSecretEnv:… v0.43.0 · Aug 2026 · source
  • Authenticate with a Slack MCP server that requires the user_scope OAuth parameter instead of the standard scope toolhive proxy --remote-url https://slack-mcp.example.com --remote-auth-scope-param-name user_scope v0.20.0 · Apr 2026 · source
Cedar-based authorization policy engine shipped suggested Evaluates whether requests are permitted using Cedar policies that can inspect and normalise JWT claims from the incoming auth chain. 29 releases · first seen Apr 2025

Suggested capability: Data access governance. This is our guess, not confirmed.

release 29 total

  • Lets delegate clients change policy on restart, so updated authorization policies take effect without full redeployment. v0.57.0 · Oct 2026 · source · release history
  • Lets delegate clients change policy on restart, enabling dynamic policy updates without a full redeployment. v0.57.0 · Oct 2026 · source · release history
  • Decodes IPv4 addresses embedded in IPv4-compatible and SIIT (IPv4-mapped) IPv6 addresses. v0.56.0 · Oct 2026 · source · release history
  • AWS STS role claims that are an object, number, boolean, or null now fail closed with HTTP 403 (Failed to determine IAM role) instead of silently receiving the fallback role. v0.49.0 · Sep 2026 · source · release history
  • AWS STS role claims of type object, number, boolean, or null now fail closed with HTTP 403 instead of silently granting the fallback role; a bare-string claim that exactly matches a configured claim now selects its mapped role instead of fallbackRoleArn. v0.49.0 · Sep 2026 · source · release history
  • Fails closed on malformed protected list responses, hardening tool allow/deny enforcement. v0.48.0 · Sep 2026 · source · release history
Multi-protocol MCP proxy (stateless / streamable / SSE) verified Bridges MCP clients and servers that speak different protocol revisions, translating between SSE, streamable, and stateless variants automatically. 23 releases · 5 other sources · first seen May 2025

release 23 total

  • Tolerates MethodNotFound responses for optional capabilities in ListCapabilities, avoiding hard failures against non-conforming backends. v0.50.0 · Sep 2026 · source · release history
  • Adds configurable proxy request read timeout, enabling operators to tune how long the proxy waits for upstream reads. v0.48.0 · Sep 2026 · source · release history
  • Adds dial-control option to the vMCP session factory for fine-grained connection control.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.48.0 · Sep 2026 · source · release history
  • Stabilizes vMCP protocol negotiation, stopping flapping between Modern and Legacy MCP revisions. v0.42.0 · Aug 2026 · source · release history
  • Enables multiple MCP clients to share a single stdio server concurrently. v0.42.0 · Aug 2026 · source · release history
  • Supports the MCP 2026-07-28 stateless (Modern) spec revision end to end across transport proxies, transparent proxy, and Virtual MCP — bridging era-mismatched client×backend combinations. v0.41.0 · Jul 2026 · source · release history

command line

  • --proxy-read-timeout — Maximum time to read a full request on the proxy (e.g., 30s, 1m); zero uses the default (30s) v0.48.0 · Sep 2026 · command-line history

example

  • Enable per-backend dial policy (e.g. deny private ranges for some workloads, allow for others) in a vMCP session factory factory := session.NewSessionFactory(registry, session.WithDialControlResolver( func(workloadID string) func(string, string, syscall.RawConn) error { if allowsPrivateDialing(workloadID) { return nil… v0.49.0 · Sep 2026 · source
  • Apply a per-backend dial-control policy so private-range access is blocked for most workloads but permitted for a trusted internal service. factory := session.NewSessionFactory(registry, session.WithDialControlResolver( func(workloadID string) func(string, string, syscall.RawConn) error { if allowsPrivateDialing(workloadID) { return nil… v0.49.0 · Sep 2026 · source
  • Allow a specific web app to access the SSE transport from a different origin without CORS errors thv run --transport sse --allowed-origins https://my-web-app.example.com some/mcp-server v0.32.0 · Jun 2026 · source
  • Configure ToolHive to trust internal corporate CA certificates when connecting to restricted MCP servers. TOOLHIVE_CA_CERT_FILE=/etc/ssl/certs/internal-ca.pem toolhive start v0.0.38 · May 2025 · source
Secret management integration shipped Retrieves secrets from external providers like 1Password and manages their lifecycle via environment variables, keyrings, and automatic injection during container builds. 17 releases · 3 other sources · first seen Mar 2025

Also counts toward: MCP server

release 17 total

  • Derives the secrets encryption key using Argon2id, replacing the previous key derivation approach. v0.50.0 · Sep 2026 · source · release history
  • Adds lock-driven skill key rotation and plugin key rotation workflows for automated credential management v0.50.0 · Sep 2026 · source · release history
  • thv secret list --system and thv secret delete --system flags expose internal __thv_* tokens v0.22.0 · Apr 2026 · source · release history
  • Introduces DataStorage interface with cleaner Upsert/Create semantics for secrets management v0.15.0 · Apr 2026 · source · release history
  • Enables reusable Kubernetes secrets functionality within the Operator toolhive-operator-crds-0.0.81 · Dec 2025 · source · release history
  • Warns users about affected workloads when updating or deleting secrets toolhive-operator-0.5.11 · Dec 2025 · source · release history

example

  • Load secrets for a new MCP server from an .env file instead of CLI args. thv run --env-file ./server.env <server_name> v0.2.9 · Aug 2025 · source
  • Run ToolHive in a Kubernetes pod with external secret management, skipping internal secret storage. toolhive run --secrets-provider none v0.0.44 · Jun 2025 · source
  • Pipe a secret value directly into ToolHive without creating an intermediate file. echo "my-secret-value" | toolhive secret set MY_KEY - v0.0.5 · Apr 2025 · source
Session state management shipped Manages MCP session state persistently using a Redis backend instead of in-memory storage. 14 releases · 2 other sources · first seen Sep 2025

Also counts toward: Command-line interface

release 14 total

  • Store OAuth 2.0 exchange grants in Redis as an alternative to in-memory storage, enabling persistent grant state across restarts. v0.60.0 · Nov 2026 · source · release history
  • Enable TLS for operator-wide Redis defaults to secure broker connections in Kubernetes deployments.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.59.0 · Oct 2026 · source · release history
  • ToolHive now enables TLS for operator-wide Redis defaults, securing Redis connections in Kubernetes operator deployments.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.59.0 · Oct 2026 · source · release history
  • Refreshes upstream tokens automatically when the ID token expires.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.54.0 · Oct 2026 · source · release history
  • Adds TLS support for Redis session storage, with corresponding Kubernetes operator Helm values for encrypted session backends.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.52.0 · Oct 2026 · source · release history
  • Enables TLS for Redis session storage in the proxy runner, vMCP, and their rate limiters, with support for system roots or a private CA bundle. v0.52.0 · Oct 2026 · source · release history

example

  • Encrypt Redis session storage in the operator with a private CA — required for production deployments where the Redis TLS cert is signed by an internal CA. spec: sessionStorage: tls: caCertSecretRef: name: redis-ca-secret key: ca.crt v0.52.0 · Oct 2026 · source
  • Initialize a session manager that persists state in Redis rather than memory, using a specific cache size for performance. manager := sessions.NewManagerWithRedis(ctx, redisClient, 1000) v0.12.5 · Mar 2026 · source
Audit logging shipped suggested Logs authorization denials and records delegation chains so operators can tell whether a request came from an agent acting on behalf of a user. 11 releases · 1 other source · first seen May 2025

Suggested capability: Data access governance. This is our guess, not confirmed.

Also counts toward: Administrative audit log

release 11 total

  • Recovered HTTP panics no longer produce a slog.Error log line or stack trace; log-based alerts on recovered panics will silently stop firing unless Sentry is configured. v0.42.0 · Aug 2026 · source · release history
  • Cedar authorization policy is now evaluated against the post-mutation MCP request — if you run a mutating webhook (--webhook-config with a mutating: entry, or MCPWebhookConfig.spec.mutating) alongside Cedar authz, policy decisions and audit records (type, target.name) can change on upgrade; re-audit policies… v0.42.0 · Aug 2026 · source · release history
  • Audit logs capture the RFC 8693 act claim and full delegation chain, making 'agent X acting for Alice' distinguishable from Alice. v0.41.0 · Jul 2026 · source · release history
  • Audits authorization denials on the proxy runner path, giving operators a log trail of rejected requests. v0.40.1 · Jul 2026 · source · release history
  • Proxy audit middleware distinguishes JSON-RPC application errors via outcome=application_error (toggled by detectApplicationErrors) v0.22.0 · Apr 2026 · source · release history
  • Proxy startup log is now structured JSON instead of plain text. v0.16.0 · Apr 2026 · source · release history

example

  • View proxy logs for a running ToolHive instance to debug connectivity or request issues. thv logs --proxy v0.2.2 · Aug 2025 · source
Tool discovery commands shipped Provides CLI subcommands to list available MCP tools, resources, and prompts. 10 releases · 1 other source · first seen Mar 2025

Also counts toward: Command-line interface, MCP server

release 10 total

  • aggregation.defaultToolVisibility: deny config key to hide new workload tools from tools/list by default v0.42.1 · Aug 2026 · source · release history
  • Adds registry catalog support to the thv ai-plugin commands for browsing available plugins v0.42.0 · Aug 2026 · source · release history
  • Guarantees tools/list pagination completeness for aggregated sets exceeding 1,000 tools. v0.41.0 · Jul 2026 · source · release history
  • Enables Cedar policy enforcement for optimizer meta-tools (find_tool, call_tool) including filtering discovery results v0.15.0 · Apr 2026 · source · release history
  • Introduces thv ls as a new alias for the existing thv list command v0.2.6 · Aug 2025 · source · release history
  • Adds an experimental MCP server (thv mcp serve) to list available workloads in ToolHive v0.2.6 · Aug 2025 · source · release history

example

  • Use a human-readable identifier instead of the full URL when listing MCP servers. thv mcp list my-server-name toolhive-operator-0.2.6 · Aug 2025 · source
Rate limiting for MCP endpoints shipped Enforces configurable rate limits on virtual MCP endpoints and exposes metrics and traces for throttling behaviour. 10 releases · first seen Apr 2026

release 10 total

  • Exposes DCR client cap and register rate limit as CRD fields, letting Kubernetes operators declare limits declaratively.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.56.0 · Oct 2026 · source · release history
  • Prometheus metrics move to a dedicated diagnostics port, controlled by a migration switch. v0.45.0 · Aug 2026 · source · release history
  • Adds rate-limiting observability via metrics and tracing (OpenTelemetry), covering the proxy rate-limit path. v0.43.0 · Aug 2026 · source · release history
  • The rate-limit JSON-RPC error code changed from -32029 to 429; clients branching on error.code == -32029 must match 429 instead. v0.41.0 · Jul 2026 · source · release history
  • Adds metrics and tracing for rate limiting, enabling observability into throttling behavior. v0.35.0 · Jul 2026 · source · release history
  • Supports configuring rate limits on VirtualMCPServer via the new rate-limit configuration. v0.33.0 · Jul 2026 · source · release history
CLI configuration management verified Provides subcommands for initializing, managing, and editing the tool configuration file structure. 7 releases · 2 other sources · first seen Apr 2025

Also counts toward: Command-line interface

release 7 total

  • Scope LLM authentication by passing --scopes to thv llm setup and thv config set when configuring an LLM provider.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.60.0 · Nov 2026 · source · release history
  • Scope LLM authentication at setup time by passing --scopes to thv llm setup and thv config set.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.60.0 · Nov 2026 · source · release history
  • Signs the macOS thv binary with a Developer ID certificate, removing Gatekeeper warnings for macOS users. v0.43.0 · Aug 2026 · source · release history
  • TOOLHIVE_API_TIMEOUT environment variable to configure CLI API client timeout for thv skill and thv ai-plugin v0.42.1 · Aug 2026 · source · release history
  • Adds --tls-skip-verify flag to thv llm setup, config set, and proxy start commands. v0.26.1 · Apr 2026 · source · release history
  • Validates --volume source paths at CLI invocation time to surface nonexistent paths immediately. v0.16.0 · Apr 2026 · source · release history

command line

  • --max-request-body-size — Maximum inbound request body size in bytes; zero uses the default (8 MiB) v0.47.0 · Sep 2026 · command-line history

example

  • Fail CI faster when thv skill calls time out in a slow environment by shortening the API client timeout. TOOLHIVE_API_TIMEOUT=30s thv skill list v0.42.1 · Aug 2026 · source
Semantic tool embedding and optimization shipped Ranks and filters available MCP tools by semantic similarity to the current request using a configurable embedding provider. 9 releases · first seen Jan 2026

Also counts toward: REST API

release 9 total

  • Lets embedders refuse refresh grants on dead upstreams, preventing silent token refresh against unreachable upstream services. v0.57.0 · Oct 2026 · source · release history
  • Root Go module requires Go 1.27; builds pinned to Go 1.26 with GOTOOLCHAIN=local fail v0.49.0 · Sep 2026 · source · release history
  • Root Go module now requires Go 1.27.0; builds using GOTOOLCHAIN=local pinned to Go 1.26 fail with go: go.mod requires go >= 1.27. go:// workloads without an explicit image pin now build against golang:1.27-alpine instead of golang:1.26-alpine. v0.49.0 · Sep 2026 · source · release history
  • Adds TOOLHIVE_API_TIMEOUT environment variable to override the CLI API client timeout for thv skill and thv ai-plugin commands (default is 10 minutes). v0.42.1 · Aug 2026 · source · release history
  • Allows custom HTTP headers on the OpenAI embedding client for flexible authentication and routing. v0.34.0 · Jul 2026 · source · release history
  • Allows vMCP optimizer to use an OpenAI-compatible embedding client via embeddingProvider and embeddingModel config fields v0.32.0 · Jun 2026 · source · release history
Composite tool output configuration shipped Controls how multiple tool outputs are handled and validated in composed tools. 7 releases · first seen Nov 2025

release 7 total

  • Composite tools now support MCP annotations (readOnlyHint, destructiveHint, etc.) for explicit capability labeling v0.42.1 · Aug 2026 · source · release history
  • fromJson function available in CompositeTools for manipulating text structures v0.6.14 · Dec 2025 · source · release history
  • Adds structured_content capability to Composite Tools within the ToolHive Operator CRDs toolhive-operator-crds-0.0.84 · Dec 2025 · source · release history
  • Adds Output Schema Support to CompositeToolSpec CRD, enabling schema definitions for composite tool outputs v0.6.10 · Dec 2025 · source · release history
  • Adds outputSchema field to the CompositeToolSpec CRD, enabling structured output validation for composed tools toolhive-operator-crds-0.0.73 · Dec 2025 · source · release history
  • Standard JSON Schema format now used for composite tool parameters v0.6.9 · Nov 2025 · source · release history
Header injection authentication strategy shipped Allows upstream requests to be authenticated via custom HTTP headers. 7 releases · first seen Nov 2025

release 7 total

  • Adds --custom-headers flag (or equivalent configuration) to the OpenAI embedding client to allow custom HTTP headers v0.34.0 · Jul 2026 · source · release history
  • spec.passthroughHeaders on VirtualMCPServer allows an allowlist of incoming header names to be forwarded unchanged to backend services v0.30.0 · Jun 2026 · source · release history
  • Add --header-forward CLI flags to configure header forward configuration for remote MCP servers v0.8.1 · Jan 2026 · source · release history
  • Adds forward_headers configuration option to wire a header forward middleware in the runner toolhive-operator-crds-0.0.104 · Jan 2026 · source · release history
  • Adds unauthenticated and header-injection auth strategies to MCPExternalAuthConfig v0.6.12 · Dec 2025 · source · release history
  • Adds header injection authentication support as a new strategy for authenticating upstream requests via custom HTTP headers. v0.6.8 · Nov 2025 · source · release history
SPIFFE workload identity authentication shipped Authenticates MCP clients using SPIFFE JWT-SVIDs for zero-trust, workload-based access control. 6 releases · first seen Sep 2026

release

  • Mounts workload auth secrets in inline mode, so inline-mode deployments can consume workload identity credentials. v0.57.0 · Oct 2026 · source · release history
  • Mounts workload auth secrets in inline mode, enabling credential injection for workload identity in inline deployments. v0.57.0 · Oct 2026 · source · release history
  • Authenticates MCP clients using SPIFFE JWT-SVIDs, enabling workload identity-based access control for MCP servers.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.51.0 · Sep 2026 · source · release history
  • Adds SPIFFE client authentication dispatch, enabling workload-identity-based auth routing. v0.48.0 · Sep 2026 · source · release history
  • Adds SPIFFE trust configuration and exposes SPIFFE client-auth registration through the operator CRDs. v0.47.0 · Sep 2026 · source · release history
  • Defines SPIFFE trust configuration and exposes SPIFFE client-auth registration through operator CRDs v0.47.0 · Sep 2026 · source · release history
MCP 2026-07-28 protocol support shipped Supports the stateless Modern MCP revision (2026-07-28) with `Mcp-Method`/`Mcp-Name` headers and `_meta` vocabulary. 6 releases · first seen Oct 2025

Also counts toward: Command-line interface

release

  • Supports parsing of multi-line Modern SSE events, improving compatibility with SSE-based MCP transports. v0.43.0 · Aug 2026 · source · release history
  • Readiness probe now sends the current MCP protocol version instead of a hardcoded 2024-11-05. v0.41.0 · Jul 2026 · source · release history
  • operator.features.storageVersionMigrator is enabled by default; namespace-scoped Helm installs must set operator.features.storageVersionMigrator: false to prevent render failures. v0.41.0 · Jul 2026 · source · release history
  • Adds --stateless flag to proxy MCP servers that only accept POST requests, returning spec-compliant 405 for GET/HEAD/DELETE v0.20.0 · Apr 2026 · source · release history
  • Expands the MCP parser to include support for notifications, elicitation, and complete messages v0.12.2 · Mar 2026 · source · release history
  • Adds _meta field parsing in the request parser to handle additional metadata in MCP messages toolhive-operator-crds-0.0.38 · Oct 2025 · source · release history
Strict Content-Type enforcement shipped Returns 400 for MCP POST requests lacking `Content-Type: application/json` when Cedar authorization is enabled. 3 releases · 2 other sources · first seen Aug 2026

release

  • Rejects request bodies on non-POST methods, hardening the MCP HTTP transport against malformed or abusive requests. v0.57.0 · Oct 2026 · source · release history
  • thv serve now requires Content-Type: application/json on state-changing requests that carry a body; non-JSON callers get 415 Unsupported Media Type v0.45.0 · Aug 2026 · source · release history
  • With Cedar authorization enabled (--authz-config), POST requests without Content-Type: application/json (including a missing header) now return 400 instead of being forwarded unauthorized; all MCP POST clients must send Content-Type: application/json. v0.42.1 · Aug 2026 · source · release history

example

  • Call the thv serve management API correctly after v0.45.0 requires Content-Type: application/json on mutating TCP requests. curl -X POST http://127.0.0.1:8080/api/v1beta/workloads \ -H 'Content-Type: application/json' \ -d '{"name":"fetch","image":"ghcr.io/example/fetch:latest"}' v0.45.0 · Aug 2026 · source
  • Create a workload via the management API now that Content-Type: application/json is required on state-changing TCP requests. curl -X POST http://127.0.0.1:8080/api/v1beta/workloads \ -H 'Content-Type: application/json' \ -d '{"name":"fetch","image":"ghcr.io/example/fetch:latest"}' v0.45.0 · Aug 2026 · source
Network binding configuration shipped Allows binding the CLI and API server to specific network interfaces using host configuration flags. 3 releases · 2 other sources · first seen May 2025

Also counts toward: Command-line interface

release

  • REST API network_isolation field now defaults to enabled (optional *bool) when omitted in create/modify requests v0.30.1 · Jun 2026 · source · release history
  • Add support for --host flag to bind the CLI/API to a specific interface toolhive-operator-crds-0.0.3 · May 2025 · source · release history
  • --host flag for the CLI and API server to bind to a specific network interface v0.0.34 · May 2025 · source · release history

example

  • Run the local vMCP server on a custom interface and port instead of the defaults. vmcp serve --host 0.0.0.0 --port 8090 toolhive-operator-crds-0.0.51 · Nov 2025 · source
  • Run the vMCP server on a specific interface and port for remote access. vmcp serve --host 0.0.0.0 --port 8080 toolhive-operator-0.3.6 · Nov 2025 · source
Corporate CA certificate support shipped Configures trusted CA certificates for internal proxies and corporate environments via dedicated configuration paths. 4 releases · 1 other source · first seen May 2025

release

  • Adds caBundleRef field on MCPTelemetryOTelConfig to mount custom CA bundles for OTLP exporters v0.17.0 · Apr 2026 · source · release history
  • Adds OIDCConfig.CACertPath field in the CRD to map from thvCABundle for OIDC CA configuration toolhive-operator-crds-0.0.99 · Jan 2026 · source · release history
  • New CA certificate configuration options for corporate proxy environments v0.0.38 · May 2025 · source · release history
  • Adds CA certificate support for corporate environments via new configuration paths toolhive-operator-0.0.6 · May 2025 · source · release history

example

  • Skip TLS verification for local development environments where self-signed certs are used. thv llm setup --tls-skip-verify v0.26.1 · Apr 2026 · source
Insecure HTTPS enforcement shipped Blocks reconciliation for `MCPOIDCConfig` resources with plain-HTTP or malformed issuers/jwksUrls. 3 releases · 1 other source · first seen Oct 2025

release

  • MCPOIDCConfig resources of spec.type: inline with a plain-HTTP, malformed, or scheme-less issuer or jwksUrl flip to Valid=False on next reconcile and block reconciliation of every MCPServer, MCPRemoteProxy, and VirtualMCPServer referencing them; add insecureAllowHTTP: true or switch to HTTPS. v0.42.1 · Aug 2026 · source · release history
  • Adds insecureAllowHTTP: true field under spec.inline in MCPOIDCConfig to explicitly opt in to plain-HTTP issuer and JWKS URLs for dev/test environments; production configs must use HTTPS. v0.42.1 · Aug 2026 · source · release history
  • insecure mode added to allow HTTP-based OIDC discovery for local development workflows v0.4.2 · Oct 2025 · source · release history

example

  • Allow a dev/test inline OIDC config pointing at an in-cluster Keycloak over HTTP to pass URL validation after upgrading. apiVersion: toolhive.stacklok.dev/v1beta1 kind: MCPOIDCConfig metadata: name: keycloak-auth spec: type: inline inline: issuer: http://keycloak:8080/realms/toolhive jwksUrl:… v0.42.1 · Aug 2026 · source
TLS and SPIFFE/X.509 endpoint security shipped Secures MCP server endpoints with TLS listener configuration and SPIFFE X.509 authority support for workload identity. 3 releases · first seen Oct 2026

release

  • Adds TLS listener and SPIFFE middleware to the auth server, and starts it in vMCP. v0.56.0 · Oct 2026 · source · release history
  • Adds TLS listener and SPIFFE middleware to the auth server, with the TLS listener also started in vMCP. v0.56.0 · Oct 2026 · source · release history
  • Adds TLS listener config and SPIFFE X.509 authority capability for securing MCP server endpoints. v0.55.0 · Oct 2026 · source · release history
AI plugin lifecycle management shipped Manages AI-tool plugins end-to-end via CLI and REST API, including installation, upgrade, signer verification, and automated key rotation workflows. 3 releases · first seen Aug 2026

Also counts toward: Command-line interface, REST API

release

  • Honours the pinned cosign key on sync and upgrade, and signs plugin pushes with the lock feature gate removed v0.47.0 · Sep 2026 · source · release history
  • thv ai-plugin upgrade now accepts --allow-signer-change flag to confirm signer identity rotation v0.46.0 · Aug 2026 · source · release history
  • Adds thv ai-plugin subcommands for managing AI-tool plugins end-to-end via CLI and REST API v0.42.0 · Aug 2026 · source · release history
Remote MCP server connector management verified Provides CLI subcommands to add and manage remote MCP servers configured directly in a client. 2 other sources · first seen Oct 2026

Also counts toward: Command-line interface

command line

  • connector — Manage remote MCP servers configured directly in a client v0.55.0 · Oct 2026 · command-line history
  • add — Add a remote MCP server to a client v0.55.0 · Oct 2026 · command-line history
HTTP security response headers shipped Automatically appends security headers such as X-Content-Type-Options and Cross-Origin-Resource-Policy to REST API responses. 2 releases · first seen Jun 2026

release

  • Drops the build fingerprint from the proxy /health response, reducing information exposure on that endpoint. v0.43.0 · Aug 2026 · source · release history
  • Adds X-Content-Type-Options: nosniff and Cross-Origin-Resource-Policy: same-origin headers to all thv REST API responses. v0.29.2 · Jun 2026 · source · release history
Debug logging configuration shipped Toggles verbose debug-level logging output via CLI flags for troubleshooting runtime behavior. 2 releases · first seen Apr 2025

Also counts toward: Command-line interface

release

  • Adds --debug flag to the vmcp subcommand to enable debug output in virtual MCP sessions v0.24.1 · Apr 2026 · source · release history
  • Connects the logger to the --debug flag to enable or disable debug logging v0.0.23 · Apr 2025 · source · release history
Log streaming and programmatic access shipped Exposes real-time log streaming from the CLI and a dedicated API endpoint to retrieve execution logs programmatically. 1 release · 1 other source · first seen May 2025

release

  • Added logs API endpoint to expose tool execution logs programmatically v0.1.0 · Jun 2025 · source · release history

example

  • Monitor logs from a running ToolHive instance as they are generated. toolhive logs --tail v0.0.32 · May 2025 · source
Fuzz testing for untrusted input parsers shipped Adds native Go fuzz targets to test untrusted parser code paths for robustness against malformed input. 1 release · first seen Oct 2026

release

OSS dependency audit scanning shipped Adds OSS Scanner audit configuration to identify vulnerabilities or policy violations in open-source dependencies. 1 release · first seen Oct 2026

release

Configuration directory environment variable override shipped Allows overriding the Pi MCP and skills configuration directory via the PI_CODING_AGENT_DIR environment variable. 1 release · first seen Oct 2026

release

  • Honors PI_CODING_AGENT_DIR environment variable for Pi MCP and skills configuration. v0.55.0 · Oct 2026 · source · release history
JSON-RPC batch rejection shipped Rejects JSON-RPC batch requests (top-level arrays) with HTTP 400 to enforce individual request handling. 1 release · first seen Jul 2026

release

  • JSON-RPC batch requests (top-level arrays) are rejected with HTTP 400 / -32600; clients must send individual requests. v0.41.0 · Jul 2026 · source · release history
Rate limit error code standardization shipped Updates JSON-RPC rate-limit error codes to the standard 429 value. 1 release · first seen Jul 2026

release

  • Rate-limit JSON-RPC error code changed from -32029 to 429; clients branching on error.code == -32029 must match 429 instead. v0.41.0 · Jul 2026 · source · release history
Webhook-based tool authorization shipped Authorizes tool calls asynchronously by sending payloads to configurable webhook endpoints. 1 release · first seen Apr 2026

Also counts toward: Command-line interface, Outbound webhooks (the product notifies you)

release

  • thv run gains --webhook-url, --webhook-timeout, and --webhook-failure-policy flags to enable webhook-based tool call authorization v0.19.0 · Apr 2026 · source · release history
Dynamic request/response mutation middleware shipped Applies JSONPatch transformations to inbound and outbound MCP requests and responses through a configurable webhook middleware pipeline. 1 release · first seen Apr 2026

release

  • Adds JSONPatch support to mutating webhook middleware for dynamic request/response mutation v0.17.0 · Apr 2026 · source · release history
Runtime dependency validation shipped Verifies that required runtime binaries and dependencies are correctly installed before execution. 1 release · first seen Jul 2025

Also counts toward: Command-line interface

release

  • New thv runtime check command for verifying runtime dependencies toolhive-operator-0.2.0 · Jul 2025 · source · release history
MCP debugging inspector shipped suggested Spawns an isolated containerized inspector interface for debugging MCP connections and payloads. 1 release · first seen Jun 2025

Suggested capability: LLM application tracing. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • thv inspector subcommand spawns an MCP inspector container for debugging v0.0.39 · Jun 2025 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for ToolHive, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail ToolHive puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Coverage

Missing something? Tell us

What ToolHive connects to, runs on and detects, read from its release notes and docs. So far: 1 new integration.

Show

1 change, tracked since Oct 19, 2026.

  • Oct 192026

    new Homebrew cask distribution for thv

    Publish thv to Homebrew as a cask by @rdimitrov in https://github.com/stacklok/toolhive/pull/6859

    v0.55.1 Source ↗

How we count

Read from 8 of 268 release notes and docs updates we hold for ToolHive. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through ToolHive's life, so an old integration can show a recent first-seen date.

Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.

Releases

Show
Coverage in all entries

268 entries

  1. November 20261
  2. October 20269
  3. September 20265
  4. August 20266
  5. July 202610
  6. June 20267
  7. May 20264
  8. April 202614
  9. March 202614
  10. February 20266
  11. January 202623
  12. December 202521
  13. November 202525
  14. October 202528
  15. September 202518
  16. August 202519
  17. July 202516
  18. June 202515
  19. May 202515
  20. April 202510
  21. March 20252
    Show
    Coverage in all entries

    268 entries

    Project health

    Issue, contributor and maintainer activity in stacklok/toolhive, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 107 +56 vs prior 12 months
    2. Maintainers 11 +7 joined · −2 left, last 12 months
    3. Bus factor 4 committers behind half the commits
    4. Community-filed 52% of issues opened, last 12 months
    5. Median time to close 7 days first maintainer reply 3.9 days
    6. Open backlog 318 of 1,865 issues ever filed
    1. Issues opened / month 22 · 8 communitymaintainers
    2. Open backlog 318
    3. Contributors / month 26
    4. Commits / month 105
    5. Stars 2,180
    Issue themes, last 12 months
    • bugs 28%
    • features 46%
    • questions 0%
    • docs 1%
    • other 25%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →