toolhive

module
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2025 License: Apache-2.0

README ΒΆ

ToolHive Studio logo ToolHive wordmark ToolHive mascot

Release Build status Star on GitHub Discord

ToolHive - simplify and secure MCP servers

Run any Model Context Protocol (MCP) server β€” securely, instantly, anywhere.

ToolHive is the easiest way to discover, deploy, and manage MCP servers. Launch any MCP server in a locked-down container with a single command. No manual setup, no security headaches, no runtime hassles.

ToolHive diagram

Why ToolHive?

  • Instant deployment: Start any MCP server with one command, using Docker or Kubernetes.
  • Secure by default: Every server runs in an isolated container with only the permissions it needs. Secrets are managed securely, never in plaintext.
  • Works everywhere: Use the CLI for local development, or the Kubernetes Operator for production and scale.
  • Seamless integration: ToolHive auto-configures popular clients like GitHub Copilot, Cursor, and more.

ToolHive sources diagram

Contributing

We welcome contributions and feedback from the community!

If you have ideas, suggestions, or want to get involved, check out our contributing guide or open an issue. Join us in making ToolHive even better!


License

This project is licensed under the Apache 2.0 License.

Directories ΒΆ

Path Synopsis
cmd
help command
Package main is the entry point for the ToolHive CLI Doc Generator.
Package main is the entry point for the ToolHive CLI Doc Generator.
regup command
Package main is the entry point for the regup command
Package main is the entry point for the regup command
regup/app
Package app provides the entry point for the regup command-line application.
Package app provides the entry point for the regup command-line application.
thv command
Package main is the entry point for the ToolHive CLI.
Package main is the entry point for the ToolHive CLI.
thv-operator command
Package main is the entry point for the ToolHive Kubernetes Operator.
Package main is the entry point for the ToolHive Kubernetes Operator.
thv-operator/api/v1alpha1
Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API group +kubebuilder:object:generate=true +groupName=toolhive.stacklok.dev
Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API group +kubebuilder:object:generate=true +groupName=toolhive.stacklok.dev
thv-operator/controllers
Package controllers contains the reconciliation logic for the MCPServer custom resource.
Package controllers contains the reconciliation logic for the MCPServer custom resource.
thv/app
Package app provides the entry point for the toolhive command-line application.
Package app provides the entry point for the toolhive command-line application.
thv/app/inspector
Package inspector contains definitions for the inspector command.
Package inspector contains definitions for the inspector command.
thv/app/ui
Package ui provides terminal UI helpers for the ToolHive CLI.
Package ui provides terminal UI helpers for the ToolHive CLI.
docs
pkg
api
Package api contains the REST API for ToolHive.
Package api contains the REST API for ToolHive.
api/v1
Package v1 contains the V1 API for ToolHive.
Package v1 contains the V1 API for ToolHive.
audit
Package audit provides audit logging functionality for ToolHive.
Package audit provides audit logging functionality for ToolHive.
auth
Package auth provides authentication and authorization utilities.
Package auth provides authentication and authorization utilities.
auth/oauth
Package oauth provides OAuth 2.0 and OIDC authentication functionality.
Package oauth provides OAuth 2.0 and OIDC authentication functionality.
authz
Package authz provides authorization utilities using Cedar policies.
Package authz provides authorization utilities using Cedar policies.
certs
Package certs provides utilities for certificate validation and handling.
Package certs provides utilities for certificate validation and handling.
client
Package client provides utilities for managing client configurations and interacting with MCP servers.
Package client provides utilities for managing client configurations and interacting with MCP servers.
config
Package config contains the definition of the application config structure and logic required to load and update it.
Package config contains the definition of the application config structure and logic required to load and update it.
container
Package container provides utilities for managing containers, including creating, starting, stopping, and monitoring containers.
Package container provides utilities for managing containers, including creating, starting, stopping, and monitoring containers.
container/docker
Package docker provides Docker-specific implementation of container runtime, including creating, starting, stopping, and monitoring containers.
Package docker provides Docker-specific implementation of container runtime, including creating, starting, stopping, and monitoring containers.
container/docker/sdk
Package sdk provides a factory method for creating a Docker client.
Package sdk provides a factory method for creating a Docker client.
container/images
Package images handles container image management operations.
Package images handles container image management operations.
container/kubernetes
Package kubernetes provides a client for the Kubernetes runtime including creating, starting, stopping, and retrieving container information.
Package kubernetes provides a client for the Kubernetes runtime including creating, starting, stopping, and retrieving container information.
container/runtime
Package runtime provides interfaces and types for container runtimes, including creating, starting, stopping, and monitoring containers.
Package runtime provides interfaces and types for container runtimes, including creating, starting, stopping, and monitoring containers.
container/runtime/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
container/templates
Package templates provides utilities for generating Dockerfile templates based on different transport types (uvx, npx).
Package templates provides utilities for generating Dockerfile templates based on different transport types (uvx, npx).
container/verifier
Package verifier provides a client for verifying artifacts using sigstore
Package verifier provides a client for verifying artifacts using sigstore
environment
Package environment provides utilities for handling environment variables and environment-related operations for containers.
Package environment provides utilities for handling environment variables and environment-related operations for containers.
errors
Package errors provides error types and utilities for the toolhive application.
Package errors provides error types and utilities for the toolhive application.
healthcheck
Package healthcheck provides common healthcheck functionality for ToolHive proxies.
Package healthcheck provides common healthcheck functionality for ToolHive proxies.
labels
Package labels provides utilities for managing container labels used by the toolhive application.
Package labels provides utilities for managing container labels used by the toolhive application.
logger
Package logger provides a logging capability for toolhive for running locally as a CLI and in Kubernetes
Package logger provides a logging capability for toolhive for running locally as a CLI and in Kubernetes
mcp
Package mcp provides MCP (Model Context Protocol) parsing utilities and middleware.
Package mcp provides MCP (Model Context Protocol) parsing utilities and middleware.
networking
Package networking provides utilities for network operations, such as finding available ports and checking network connectivity.
Package networking provides utilities for network operations, such as finding available ports and checking network connectivity.
operator/telemetry
Package telemetry provides telemetry functionality for the ToolHive operator.
Package telemetry provides telemetry functionality for the ToolHive operator.
permissions
Package permissions provides utilities for managing container permissions and permission profiles for the toolhive application.
Package permissions provides utilities for managing container permissions and permission profiles for the toolhive application.
process
Package process provides utilities for managing process-related operations, such as PID file handling and process management.
Package process provides utilities for managing process-related operations, such as PID file handling and process management.
registry
Package registry provides access to the MCP server registry
Package registry provides access to the MCP server registry
runner
Package runner provides functionality for running MCP servers
Package runner provides functionality for running MCP servers
runner/retriever
Package retriever contains logic for fetching or building MCP servers.
Package retriever contains logic for fetching or building MCP servers.
secrets
Package secrets contains the secrets management logic for ToolHive.
Package secrets contains the secrets management logic for ToolHive.
secrets/aes
Package aes contains functions for encrypting and decrypting data using AES-GCM
Package aes contains functions for encrypting and decrypting data using AES-GCM
secrets/clients
Package clients contains code for connecting to secret provider APIs.
Package clients contains code for connecting to secret provider APIs.
secrets/clients/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
secrets/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
state
Package state provides functionality for storing and retrieving runner state across different environments (local filesystem, Kubernetes, etc.)
Package state provides functionality for storing and retrieving runner state across different environments (local filesystem, Kubernetes, etc.)
telemetry
Package telemetry provides OpenTelemetry instrumentation for ToolHive MCP server proxies.
Package telemetry provides OpenTelemetry instrumentation for ToolHive MCP server proxies.
transport
Package transport provides utilities for handling different transport modes for communication between the client and MCP server.
Package transport provides utilities for handling different transport modes for communication between the client and MCP server.
transport/errors
Package errors provides error types and constants for the transport package.
Package errors provides error types and constants for the transport package.
transport/proxy
Package proxy contains code for managing proxy processes.
Package proxy contains code for managing proxy processes.
transport/proxy/httpsse
Package httpsse provides an HTTP proxy implementation for Server-Sent Events (SSE) used in communication between the client and MCP server.
Package httpsse provides an HTTP proxy implementation for Server-Sent Events (SSE) used in communication between the client and MCP server.
transport/proxy/streamable
Package streamable provides a streamable HTTP proxy for MCP servers.
Package streamable provides a streamable HTTP proxy for MCP servers.
transport/proxy/transparent
Package transparent provides MCP ping functionality for transparent proxies.
Package transparent provides MCP ping functionality for transparent proxies.
transport/ssecommon
Package ssecommon provides common types and utilities for Server-Sent Events (SSE) used in communication between the client and MCP server.
Package ssecommon provides common types and utilities for Server-Sent Events (SSE) used in communication between the client and MCP server.
transport/streamable
Package streamable provides common types and utilities for Streamable HTTP connections used in communication between the client and MCP server.
Package streamable provides common types and utilities for Streamable HTTP connections used in communication between the client and MCP server.
transport/types
Package types provides common types and interfaces for the transport package used in communication between the client and MCP server.
Package types provides common types and interfaces for the transport package used in communication between the client and MCP server.
updates
Package updates contains logic for checking if an update is available for ToolHive.
Package updates contains logic for checking if an update is available for ToolHive.
versions
Package versions provides version information for the ToolHive application.
Package versions provides version information for the ToolHive application.
workloads
Package workloads contains high-level logic for managing the lifecycle of ToolHive-managed containers.
Package workloads contains high-level logic for managing the lifecycle of ToolHive-managed containers.
test
e2e
Package e2e provides end-to-end testing utilities for ToolHive.
Package e2e provides end-to-end testing utilities for ToolHive.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL