Directories
¶
| Path | Synopsis |
|---|---|
|
Package api contains the REST API for ToolHive.
|
Package api contains the REST API for ToolHive. |
|
v1
Package v1 contains the V1 API for ToolHive.
|
Package v1 contains the V1 API for ToolHive. |
|
Package audit provides audit logging functionality for ToolHive.
|
Package audit provides audit logging functionality for ToolHive. |
|
Package auth provides authentication and authorization utilities.
|
Package auth provides authentication and authorization utilities. |
|
discovery
Package discovery provides authentication discovery utilities for detecting authentication requirements from remote servers.
|
Package discovery provides authentication discovery utilities for detecting authentication requirements from remote servers. |
|
oauth
Package oauth provides OAuth 2.0 and OIDC authentication functionality.
|
Package oauth provides OAuth 2.0 and OIDC authentication functionality. |
|
remote
Package remote provides authentication handling for remote MCP servers.
|
Package remote provides authentication handling for remote MCP servers. |
|
tokenexchange
Package tokenexchange provides OAuth 2.0 Token Exchange (RFC 8693) support.
|
Package tokenexchange provides OAuth 2.0 Token Exchange (RFC 8693) support. |
|
Package authz provides authorization utilities using Cedar policies.
|
Package authz provides authorization utilities using Cedar policies. |
|
Package certs provides utilities for certificate validation and handling.
|
Package certs provides utilities for certificate validation and handling. |
|
Package cli provides utility functions specific to the CLI that we want to test more thoroughly.
|
Package cli provides utility functions specific to the CLI that we want to test more thoroughly. |
|
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. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
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. |
|
docker/sdk
Package sdk provides a factory method for creating a Docker client.
|
Package sdk provides a factory method for creating a Docker client. |
|
images
Package images handles container image management operations.
|
Package images handles container image management operations. |
|
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. |
|
kubernetes/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
runtime/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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). |
|
verifier
Package verifier provides a client for verifying artifacts using sigstore
|
Package verifier provides a client for verifying artifacts using sigstore |
|
Package core provides the core domain model for the ToolHive system.
|
Package core provides the core domain model for the ToolHive system. |
|
Package env provides abstractions for environment variable access to enable dependency injection and testing isolation.
|
Package env provides abstractions for environment variable access to enable dependency injection and testing isolation. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
Package errors provides error types and utilities for the toolhive application.
|
Package errors provides error types and utilities for the toolhive application. |
|
Package export provides functionality for exporting ToolHive configurations to various formats.
|
Package export provides functionality for exporting ToolHive configurations to various formats. |
|
Package groups provides functionality for managing logical groupings of MCP servers.
|
Package groups provides functionality for managing logical groupings of MCP servers. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
Package healthcheck provides common healthcheck functionality for ToolHive proxies.
|
Package healthcheck provides common healthcheck functionality for ToolHive proxies. |
|
Package ignore provides functionality for processing .thvignore files to filter bind mount contents using tmpfs overlays.
|
Package ignore provides functionality for processing .thvignore files to filter bind mount contents using tmpfs overlays. |
|
Package k8s provides common Kubernetes utilities for creating clients, configs, and namespace detection that can be shared across packages.
|
Package k8s provides common Kubernetes utilities for creating clients, configs, and namespace detection that can be shared across packages. |
|
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. |
|
Package lockfile provides utilities for managing file locks and cleanup.
|
Package lockfile provides utilities for managing file locks and cleanup. |
|
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 |
|
Package mcp provides MCP (Model Context Protocol) parsing utilities and middleware.
|
Package mcp provides MCP (Model Context Protocol) parsing utilities and middleware. |
|
server
Package server provides the MCP (Model Context Protocol) server implementation for ToolHive.
|
Package server provides the MCP (Model Context Protocol) server implementation for ToolHive. |
|
Package migration handles any migrations needed to maintain compatibility
|
Package migration handles any migrations needed to maintain compatibility |
|
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
|
|
|
accessors
Package accessors provides accessor functions for the ToolHive operator
|
Package accessors provides accessor functions for the ToolHive operator |
|
telemetry
Package telemetry provides telemetry functionality for the ToolHive operator.
|
Package telemetry provides telemetry functionality for the ToolHive operator. |
|
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. |
|
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. |
|
Package registry contains the core type definitions for the MCP registry system.
|
Package registry contains the core type definitions for the MCP registry system. |
|
api
Package api provides client functionality for interacting with MCP Registry API endpoints
|
Package api provides client functionality for interacting with MCP Registry API endpoints |
|
converters
Package converters provides bidirectional conversion between toolhive registry formats and the upstream MCP (Model Context Protocol) ServerJSON format.
|
Package converters provides bidirectional conversion between toolhive registry formats and the upstream MCP (Model Context Protocol) ServerJSON format. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
Package runner provides functionality for running MCP servers
|
Package runner provides functionality for running MCP servers |
|
retriever
Package retriever contains logic for fetching or building MCP servers.
|
Package retriever contains logic for fetching or building MCP servers. |
|
Package runtime provides workload deployment setup functionality that was previously part of the transport package.
|
Package runtime provides workload deployment setup functionality that was previously part of the transport package. |
|
Package secrets contains the secrets management logic for ToolHive.
|
Package secrets contains the secrets management logic for ToolHive. |
|
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 |
|
clients
Package clients contains code for connecting to secret provider APIs.
|
Package clients contains code for connecting to secret provider APIs. |
|
clients/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
keyring
Package keyring provides a composite keyring provider that supports multiple backends.
|
Package keyring provides a composite keyring provider that supports multiple backends. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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.) |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
Package telemetry provides OpenTelemetry instrumentation for ToolHive MCP server proxies.
|
Package telemetry provides OpenTelemetry instrumentation for ToolHive MCP server proxies. |
|
providers
Package providers contains telemetry provider implementations and builder logic
|
Package providers contains telemetry provider implementations and builder logic |
|
providers/otlp
Package otlp provides OpenTelemetry Protocol (OTLP) provider implementations
|
Package otlp provides OpenTelemetry Protocol (OTLP) provider implementations |
|
providers/prometheus
Package prometheus provides Prometheus metric exporter implementation
|
Package prometheus provides Prometheus metric exporter implementation |
|
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. |
|
errors
Package errors provides error types and constants for the transport package.
|
Package errors provides error types and constants for the transport package. |
|
middleware
Package middleware provides middleware functions for the transport package.
|
Package middleware provides middleware functions for the transport package. |
|
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. |
|
proxy/streamable
Package streamable provides a streamable HTTP proxy for MCP servers.
|
Package streamable provides a streamable HTTP proxy for MCP servers. |
|
proxy/transparent
Package transparent provides MCP ping functionality for transparent proxies.
|
Package transparent provides MCP ping functionality for transparent proxies. |
|
session
Package session provides a session manager with TTL cleanup.
|
Package session provides a session manager with TTL cleanup. |
|
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. |
|
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. |
|
tunnel/ngrok
Package ngrok provides an implementation of the TunnelProvider interface using ngrok.
|
Package ngrok provides an implementation of the TunnelProvider interface using ngrok. |
|
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. |
|
types/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
Package usagemetrics provides internal usage metrics for tracking usage and adoption.
|
Package usagemetrics provides internal usage metrics for tracking usage and adoption. |
|
Package validation provides functions for validating input data.
|
Package validation provides functions for validating input data. |
|
Package versions provides version information for the ToolHive application.
|
Package versions provides version information for the ToolHive application. |
|
Package vmcp provides the Virtual MCP Server implementation.
|
Package vmcp provides the Virtual MCP Server implementation. |
|
aggregator
Package aggregator provides capability aggregation for Virtual MCP Server.
|
Package aggregator provides capability aggregation for Virtual MCP Server. |
|
aggregator/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
auth
Package auth provides authentication for Virtual MCP Server.
|
Package auth provides authentication for Virtual MCP Server. |
|
auth/converters
Package converters provides functions to convert external authentication configurations to vMCP auth strategy metadata.
|
Package converters provides functions to convert external authentication configurations to vMCP auth strategy metadata. |
|
auth/factory
Package factory provides factory functions for creating vMCP authentication components.
|
Package factory provides factory functions for creating vMCP authentication components. |
|
auth/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
auth/strategies
Package strategies provides authentication strategy implementations for Virtual MCP Server.
|
Package strategies provides authentication strategy implementations for Virtual MCP Server. |
|
cache
Package cache provides token caching interfaces for Virtual MCP Server.
|
Package cache provides token caching interfaces for Virtual MCP Server. |
|
client
Package client provides MCP protocol client implementation for communicating with backend servers.
|
Package client provides MCP protocol client implementation for communicating with backend servers. |
|
client/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
composer
Package composer provides composite tool workflow execution for Virtual MCP Server.
|
Package composer provides composite tool workflow execution for Virtual MCP Server. |
|
composer/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
config
Package config provides the configuration model for Virtual MCP Server.
|
Package config provides the configuration model for Virtual MCP Server. |
|
discovery
Package discovery provides lazy per-user capability discovery for vMCP servers.
|
Package discovery provides lazy per-user capability discovery for vMCP servers. |
|
discovery/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
router
Package router provides request routing for Virtual MCP Server.
|
Package router provides request routing for Virtual MCP Server. |
|
router/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
server
Package server implements the Virtual MCP Server that aggregates multiple backend MCP servers into a unified interface.
|
Package server implements the Virtual MCP Server that aggregates multiple backend MCP servers into a unified interface. |
|
server/adapter
Package adapter provides a layer between aggregator and SDK.
|
Package adapter provides a layer between aggregator and SDK. |
|
server/adapter/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
session
Package session provides vMCP-specific session types that extend transport sessions with domain logic.
|
Package session provides vMCP-specific session types that extend transport sessions with domain logic. |
|
workloads
Package workloads provides the WorkloadDiscoverer interface for discovering backend workloads in both CLI and Kubernetes environments.
|
Package workloads provides the WorkloadDiscoverer interface for discovering backend workloads in both CLI and Kubernetes environments. |
|
workloads/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
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. |
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
statuses
Package statuses provides an interface and implementation for managing workload statuses.
|
Package statuses provides an interface and implementation for managing workload statuses. |
|
statuses/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
|
types
Package types contains types and validation functions for workloads in ToolHive.
|
Package types contains types and validation functions for workloads in ToolHive. |
Click to show internal directories.
Click to hide internal directories.