diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100644 new mode 100755 diff --git a/docs/toolhive/concepts/vmcp.mdx b/docs/toolhive/concepts/vmcp.mdx index 4e53d216..93312dc5 100644 --- a/docs/toolhive/concepts/vmcp.mdx +++ b/docs/toolhive/concepts/vmcp.mdx @@ -161,9 +161,15 @@ MCPRemoteProxy backends into a single endpoint. The use cases range from simple aggregation to complex workflows with approval gates, making it valuable for teams managing multiple MCP servers. +## Next steps + +- [Try the Quickstart](../guides-vmcp/quickstart.mdx) to deploy your first vMCP + on a Kubernetes cluster +- [Learn how to deploy vMCP](../guides-vmcp/intro.mdx) for a full overview of + configuration and architecture + ## Related information -- [Deploy vMCP](../guides-vmcp/intro.mdx) - [Configure authentication](../guides-vmcp/authentication.mdx) - [Tool aggregation and conflict resolution](../guides-vmcp/tool-aggregation.mdx) - [Composite tools and workflows](../guides-vmcp/composite-tools.mdx) diff --git a/docs/toolhive/faq.mdx b/docs/toolhive/faq.mdx index 5a4d1fc6..2492d840 100644 --- a/docs/toolhive/faq.mdx +++ b/docs/toolhive/faq.mdx @@ -62,13 +62,13 @@ from the web using the [GoFetch MCP server](https://github.com/StacklokLabs/gofetch), and for popular services and platforms like: -- **Atlassian** – Access Jira and Confluence -- **AWS Documentation** – Query AWS service documentation -- **GitHub** – Access repositories, issues, and pull requests -- **Kubernetes** – Interact with Kubernetes clusters via the +- **Atlassian** - Access Jira and Confluence +- **AWS Documentation** - Query AWS service documentation +- **GitHub** - Access repositories, issues, and pull requests +- **Kubernetes** - Interact with Kubernetes clusters via the [MKP MCP server](https://github.com/StacklokLabs/mkp) -- **MongoDB**, **PostgreSQL**, **Redis** – Connect to databases -- **Notion** – Connect to Notion workspaces +- **MongoDB**, **PostgreSQL**, **Redis** - Connect to databases +- **Notion** - Connect to Notion workspaces - And many more ### Can I run MCP servers that aren't in the registry? @@ -158,8 +158,8 @@ ToolHive provides secure secrets management: Yes. ToolHive uses permission profiles to control: -- **File system access** – Which directories the server can read or write -- **Network access** – Which hosts and ports the server can connect to +- **File system access** - Which directories the server can read or write +- **Network access** - Which hosts and ports the server can connect to You can use built-in profiles or create custom ones for specific security requirements. @@ -213,21 +213,21 @@ Yes. ToolHive supports corporate environments with: ### Where can I get help if I'm stuck? -- **Documentation** – Check the comprehensive guides and reference documentation -- **GitHub Issues** – Report bugs or request features on the +- **Documentation** - Check the comprehensive guides and reference documentation +- **GitHub Issues** - Report bugs or request features on the [ToolHive GitHub repository](https://github.com/stacklok/toolhive/issues) -- **Discord Community** – Join the +- **Discord Community** - Join the [Stacklok Discord](https://discord.gg/stacklok) for community support -- **Troubleshooting sections** – Each guide includes troubleshooting tips for +- **Troubleshooting sections** - Each guide includes troubleshooting tips for common issues ### How do I report a bug or request a feature? Open an issue in the appropriate GitHub repository: -- [**ToolHive UI**](https://github.com/stacklok/toolhive-studio/issues) – For +- [**ToolHive UI**](https://github.com/stacklok/toolhive-studio/issues) - For issues specific to the graphical desktop app -- [**ToolHive CLI & Kubernetes**](https://github.com/stacklok/toolhive/issues) – +- [**ToolHive CLI & Kubernetes**](https://github.com/stacklok/toolhive/issues) - For issues related to the CLI tool or Kubernetes operator ### Is there a community I can join? diff --git a/docs/toolhive/guides-cli/advanced-cicd.mdx b/docs/toolhive/guides-cli/advanced-cicd.mdx index f803324f..5db353f8 100644 --- a/docs/toolhive/guides-cli/advanced-cicd.mdx +++ b/docs/toolhive/guides-cli/advanced-cicd.mdx @@ -310,9 +310,15 @@ When implementing advanced CI/CD patterns: 6. **Implement change detection** to avoid unnecessary builds 7. **Store sensitive data** in CI/CD secrets, not in code +## Next steps + +- [Deploy to Kubernetes](../guides-k8s/run-mcp-k8s.mdx) to run your CI/CD-built + servers in production +- [Aggregate multiple servers](../guides-vmcp/index.mdx) into a single endpoint + with Virtual MCP Server + ## Related information - [Build MCP server containers](./build-containers.mdx) -- [Run MCP servers in Kubernetes](../guides-k8s/run-mcp-k8s.mdx) - [`thv build` command reference](../reference/cli/thv_build.md) - [Secrets management](./secrets-management.mdx) diff --git a/docs/toolhive/guides-cli/api-server.mdx b/docs/toolhive/guides-cli/api-server.mdx index bf46742a..458acf6c 100644 --- a/docs/toolhive/guides-cli/api-server.mdx +++ b/docs/toolhive/guides-cli/api-server.mdx @@ -83,6 +83,12 @@ Open a browser to `http://localhost:8080/api/doc` to view the API documentation. The OpenAPI specification is also available at `http://localhost:8080/api/openapi.json`. +## Next steps + +- [Secure your servers](./auth.mdx) with authentication and authorization +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus + ## Related information - [ToolHive API documentation](../reference/api.mdx) diff --git a/docs/toolhive/guides-cli/auth.mdx b/docs/toolhive/guides-cli/auth.mdx index d487daee..b1517c15 100644 --- a/docs/toolhive/guides-cli/auth.mdx +++ b/docs/toolhive/guides-cli/auth.mdx @@ -143,13 +143,22 @@ to perform an action, ToolHive will evaluate the request against the policies. If the request is permitted, the action will proceed; otherwise, it will be denied with a 403 Forbidden response. +## Next steps + +- [Configure token exchange](./token-exchange.mdx) to let MCP servers + authenticate to backend services +- [Enable telemetry and metrics](./telemetry-and-metrics.mdx) to gain + observability into MCP server interactions +- [Learn about the auth framework](../concepts/auth-framework.mdx) for a deeper + understanding of ToolHive's authentication and authorization model + ## Related information -- For conceptual understanding, see - [Authentication and authorization framework](../concepts/auth-framework.mdx) -- For detailed Cedar policy syntax, see - [Cedar policies](../concepts/cedar-policies.mdx) and the - [Cedar documentation](https://docs.cedarpolicy.com/) +- [Authentication and authorization framework](../concepts/auth-framework.mdx) + for conceptual understanding +- [Cedar policies](../concepts/cedar-policies.mdx) and the + [Cedar documentation](https://docs.cedarpolicy.com/) for detailed policy + syntax ## Troubleshooting diff --git a/docs/toolhive/guides-cli/client-configuration.mdx b/docs/toolhive/guides-cli/client-configuration.mdx index 8c3926ad..29dad8ec 100644 --- a/docs/toolhive/guides-cli/client-configuration.mdx +++ b/docs/toolhive/guides-cli/client-configuration.mdx @@ -148,6 +148,12 @@ Example output: Configure your client or library to connect to the MCP server using the URL ToolHive provides. +## Next steps + +- [Set up custom permissions](./custom-permissions.mdx) to control filesystem + and network access for your servers +- [Secure your servers](./auth.mdx) with OIDC authentication and Cedar policies + ## Related information - [`thv client` command reference](../reference/cli/thv_client.md) diff --git a/docs/toolhive/guides-cli/custom-permissions.mdx b/docs/toolhive/guides-cli/custom-permissions.mdx index 2fa313fa..cdad21dd 100644 --- a/docs/toolhive/guides-cli/custom-permissions.mdx +++ b/docs/toolhive/guides-cli/custom-permissions.mdx @@ -229,6 +229,11 @@ When creating and using permission profiles: - Keep permission profiles in version control to track changes and share them with your team +## Next steps + +- [Set up authentication](./auth.mdx) for user-level access control with OIDC + and Cedar policies + ## Related information - [`thv run` command reference](../reference/cli/thv_run.md) diff --git a/docs/toolhive/guides-cli/filesystem-access.mdx b/docs/toolhive/guides-cli/filesystem-access.mdx index 23cce9c1..51d57243 100644 --- a/docs/toolhive/guides-cli/filesystem-access.mdx +++ b/docs/toolhive/guides-cli/filesystem-access.mdx @@ -217,6 +217,13 @@ container, use the server's `--db` flag to specify the new path: thv run --volume ~/my-database.db:/data/my-database.db sqlite -- --db /data/my-database.db ``` +## Next steps + +- [Exclude sensitive files](./thvignore.mdx) from MCP server access with + `.thvignore` +- [Restrict network access](./network-isolation.mdx) to control outbound + connections + ## Related information - [`thv run` command reference](../reference/cli/thv_run.md) diff --git a/docs/toolhive/guides-cli/group-management.mdx b/docs/toolhive/guides-cli/group-management.mdx index 2218bef9..bfdf1d35 100644 --- a/docs/toolhive/guides-cli/group-management.mdx +++ b/docs/toolhive/guides-cli/group-management.mdx @@ -120,9 +120,14 @@ Using `--with-workloads` permanently deletes all servers in the group. ::: +## Next steps + +- [Configure your AI client](./client-configuration.mdx) to connect to your + server groups +- [Manage secrets](./secrets-management.mdx) for the MCP servers in your groups + ## Related information -- [Client configuration](client-configuration.mdx) - [Run MCP servers](run-mcp-servers.mdx) - [`thv group` command reference](../reference/cli/thv_group.md) - [`thv client` command reference](../reference/cli/thv_client.md) diff --git a/docs/toolhive/guides-cli/manage-mcp-servers.mdx b/docs/toolhive/guides-cli/manage-mcp-servers.mdx index 35ab0aa9..e55a0c98 100644 --- a/docs/toolhive/guides-cli/manage-mcp-servers.mdx +++ b/docs/toolhive/guides-cli/manage-mcp-servers.mdx @@ -151,6 +151,15 @@ thv start This will always prompt for re-authentication, even if valid tokens exist. +## Next steps + +- [Organize servers into groups](./group-management.mdx) to manage related + servers together +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus +- [Configure your AI client](./client-configuration.mdx) to connect to your + servers + ## Related information - [`thv list` command reference](../reference/cli/thv_list.md) @@ -158,4 +167,3 @@ This will always prompt for re-authentication, even if valid tokens exist. - [`thv stop` command reference](../reference/cli/thv_stop.md) - [`thv start` command reference](../reference/cli/thv_start.md) - [`thv rm` command reference](../reference/cli/thv_rm.md) -- [Monitor with OpenTelemetry](../guides-cli/telemetry-and-metrics.mdx) diff --git a/docs/toolhive/guides-cli/network-isolation.mdx b/docs/toolhive/guides-cli/network-isolation.mdx index 2375ba07..7d768bed 100644 --- a/docs/toolhive/guides-cli/network-isolation.mdx +++ b/docs/toolhive/guides-cli/network-isolation.mdx @@ -318,6 +318,11 @@ default behavior of allowing traffic only from the container's own hostname, ::: +## Next steps + +- [Set up authentication](./auth.mdx) for user-level access control with OIDC + and Cedar policies + ## Related information - [`thv run` command reference](../reference/cli/thv_run.md) diff --git a/docs/toolhive/guides-cli/run-mcp-servers.mdx b/docs/toolhive/guides-cli/run-mcp-servers.mdx index f7a1ada3..bd3564e3 100644 --- a/docs/toolhive/guides-cli/run-mcp-servers.mdx +++ b/docs/toolhive/guides-cli/run-mcp-servers.mdx @@ -888,11 +888,14 @@ The configuration file must contain all server settings. ## Next steps -See [Monitor and manage MCP servers](./manage-mcp-servers.mdx) to monitor and -control your servers. - -[Test your MCP server](./test-mcp-servers.mdx) using the MCP Inspector or -`thv mcp` commands. +- [Monitor and manage MCP servers](./manage-mcp-servers.mdx) to control your + running servers +- [Test your MCP servers](./test-mcp-servers.mdx) using the MCP Inspector or + `thv mcp` commands +- [Secure your servers](./auth.mdx) with OIDC authentication and Cedar policies +- [Enable telemetry and metrics](./telemetry-and-metrics.mdx) to gain + observability into MCP server interactions +- [Run the API server](./api-server.mdx) for programmatic access to ToolHive ## Related information diff --git a/docs/toolhive/guides-cli/secrets-management.mdx b/docs/toolhive/guides-cli/secrets-management.mdx index e7cccf9f..27abdfce 100644 --- a/docs/toolhive/guides-cli/secrets-management.mdx +++ b/docs/toolhive/guides-cli/secrets-management.mdx @@ -267,10 +267,17 @@ This command retrieves the `token` and `team_id` fields from the `slackbot` item in the `MCPVault` vault and passes them to the `slack` MCP server as the `SLACK_BOT_TOKEN` and `SLACK_TEAM_ID` environment variables. +## Next steps + +- [Configure your AI client](./client-configuration.mdx) to connect to your + servers +- [Set up custom permissions](./custom-permissions.mdx) to control filesystem + and network access + ## Related information - [`thv secret` command reference](../reference/cli/thv_secret.md) -- [Run MCP servers](../guides-cli/run-mcp-servers.mdx) +- [Run MCP servers](./run-mcp-servers.mdx) ## Troubleshooting diff --git a/docs/toolhive/guides-cli/telemetry-and-metrics.mdx b/docs/toolhive/guides-cli/telemetry-and-metrics.mdx index 16e6335a..78ad3e52 100644 --- a/docs/toolhive/guides-cli/telemetry-and-metrics.mdx +++ b/docs/toolhive/guides-cli/telemetry-and-metrics.mdx @@ -406,6 +406,15 @@ Telemetry adds minimal overhead when properly configured: - Use appropriate sampling rates for your traffic volume - Monitor your observability backend costs and adjust sampling accordingly +## Next steps + +- [Learn about ToolHive's observability model](../concepts/observability.mdx) + for a deeper understanding of the telemetry architecture +- [Monitor and manage MCP servers](./manage-mcp-servers.mdx) for server + lifecycle management including logs and status monitoring +- [Collect telemetry for MCP workloads](../integrations/opentelemetry.mdx) for a + hands-on tutorial with an OpenTelemetry Collector + ## Related information - Tutorial: diff --git a/docs/toolhive/guides-cli/test-mcp-servers.mdx b/docs/toolhive/guides-cli/test-mcp-servers.mdx index 37b70a69..602ea931 100644 --- a/docs/toolhive/guides-cli/test-mcp-servers.mdx +++ b/docs/toolhive/guides-cli/test-mcp-servers.mdx @@ -89,6 +89,14 @@ and see how your MCP server responds to various prompts. See [Test MCP servers in the ToolHive UI](../guides-ui/playground.mdx) to learn about the playground's features and how to get started. +## Next steps + +- [Build MCP containers](./build-containers.mdx) to package your tested servers + for deployment +- [Set up CI/CD patterns](./advanced-cicd.mdx) to automate testing in your + pipeline +- [Secure your servers](./auth.mdx) with authentication and authorization + ## Related information - [`thv inspector` command reference](../reference/cli/thv_inspector.md) diff --git a/docs/toolhive/guides-cli/thvignore.mdx b/docs/toolhive/guides-cli/thvignore.mdx index 90f50ba3..37fe16a3 100644 --- a/docs/toolhive/guides-cli/thvignore.mdx +++ b/docs/toolhive/guides-cli/thvignore.mdx @@ -128,6 +128,11 @@ example, `.env*`, build artifacts) in your project's local `.thvignore`. +## Next steps + +- [Restrict network access](./network-isolation.mdx) to control outbound + connections from MCP servers + ## Related information - [File system access](./filesystem-access.mdx) diff --git a/docs/toolhive/guides-cli/token-exchange.mdx b/docs/toolhive/guides-cli/token-exchange.mdx index 72a86409..cd9d7cba 100644 --- a/docs/toolhive/guides-cli/token-exchange.mdx +++ b/docs/toolhive/guides-cli/token-exchange.mdx @@ -200,6 +200,12 @@ Key points in this example: (`api:read`, `api:write`). The user's identity is preserved, but the permissions are transformed for the target service. +## Next steps + +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus +- [Test your MCP servers](./test-mcp-servers.mdx) to validate your configuration + ## Related information - [Backend authentication](../concepts/backend-auth.mdx) - conceptual overview diff --git a/docs/toolhive/guides-k8s/auth-k8s.mdx b/docs/toolhive/guides-k8s/auth-k8s.mdx index 20fcd4ec..f88a4f2e 100644 --- a/docs/toolhive/guides-k8s/auth-k8s.mdx +++ b/docs/toolhive/guides-k8s/auth-k8s.mdx @@ -476,7 +476,7 @@ kubectl apply -f embedded-auth-config.yaml The MCPServer needs two configuration references: `externalAuthConfigRef` enables the embedded authorization server, and `oidcConfig` validates the JWTs -that the embedded authorization server issues. Unlike approaches 1–3 where +that the embedded authorization server issues. Unlike approaches 1-3 where `oidcConfig` points to an external identity provider, here it points to the embedded authorization server itself—the `oidcConfig` issuer must match the `issuer` in your `MCPExternalAuthConfig`. @@ -760,6 +760,13 @@ kubectl logs -n toolhive-system -l app.kubernetes.io/name=weather-server-k8s 2. Make requests that should be denied 3. Check the proxy logs to see authorization decisions +## Next steps + +- [Configure token exchange](./token-exchange-k8s.mdx) to let MCP servers + authenticate to backend services +- [Set up audit logging](./logging.mdx) to track authentication decisions and + MCP server activity + ## Related information - For conceptual understanding, see diff --git a/docs/toolhive/guides-k8s/customize-tools.mdx b/docs/toolhive/guides-k8s/customize-tools.mdx index c176fd09..00aaaf1a 100644 --- a/docs/toolhive/guides-k8s/customize-tools.mdx +++ b/docs/toolhive/guides-k8s/customize-tools.mdx @@ -234,6 +234,12 @@ kubectl -n toolhive-system get mcpserver github -o yaml - If an MCPServer references a missing MCPToolConfig, the server enters Failed and the controller logs include the missing name and namespace. +## Next steps + +- [Secure your servers](./auth-k8s.mdx) with authentication and authorization +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus + ## Related information - See the diff --git a/docs/toolhive/guides-k8s/deploy-operator.mdx b/docs/toolhive/guides-k8s/deploy-operator.mdx index 7f586d00..6c117814 100644 --- a/docs/toolhive/guides-k8s/deploy-operator.mdx +++ b/docs/toolhive/guides-k8s/deploy-operator.mdx @@ -440,10 +440,9 @@ kubectl delete namespace toolhive-system ## Next steps -See [Run MCP servers in Kubernetes](./run-mcp-k8s.mdx) to learn how to create -and manage MCP servers using the ToolHive operator in your Kubernetes cluster. -The operator supports deploying MCPServer resources based on the deployment mode -configured during installation. +- [Run MCP servers in Kubernetes](./run-mcp-k8s.mdx) to create and manage MCP + servers using the ToolHive operator +- [Configure authentication](./auth-k8s.mdx) before exposing servers externally ## Related information diff --git a/docs/toolhive/guides-k8s/redis-session-storage.mdx b/docs/toolhive/guides-k8s/redis-session-storage.mdx index aaf3e845..35ac2909 100644 --- a/docs/toolhive/guides-k8s/redis-session-storage.mdx +++ b/docs/toolhive/guides-k8s/redis-session-storage.mdx @@ -595,6 +595,13 @@ session storage is working correctly. +## Next steps + +- [Configure token exchange](./token-exchange-k8s.mdx) to let MCP servers + authenticate to backend services +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus + ## Related information - [Set up embedded authorization server authentication](./auth-k8s.mdx#set-up-embedded-authorization-server-authentication) diff --git a/docs/toolhive/guides-k8s/run-mcp-k8s.mdx b/docs/toolhive/guides-k8s/run-mcp-k8s.mdx index 339d6f9c..2d04e672 100644 --- a/docs/toolhive/guides-k8s/run-mcp-k8s.mdx +++ b/docs/toolhive/guides-k8s/run-mcp-k8s.mdx @@ -441,22 +441,15 @@ kubectl -n describe mcpserver ## Next steps -Learn how to [connect clients to your MCP servers](./connect-clients.mdx) from -outside the cluster using Ingress or Gateway API, or from applications running -within the cluster. See the -[Client compatibility](../reference/client-compatibility.mdx) reference for -information about supported MCP clients. - -Learn how to customize MCP tools using -[filters and overrides](./customize-tools.mdx). - -Collect telemetry data from your MCP servers by following the -[Telemetry and metrics](./telemetry-and-metrics.mdx) guide. Configure audit -logging by following the [Set up logging](./logging.mdx) guide. - -Discover your deployed MCP servers automatically using the -[Kubernetes registry](../guides-registry/configuration.mdx#kubernetes-registry) -feature in the ToolHive Registry Server. +- [Connect clients to your MCP servers](./connect-clients.mdx) from outside the + cluster using Ingress or Gateway API, or from within the cluster +- [Secure your servers](./auth-k8s.mdx) with OIDC authentication and Cedar + policies +- [Customize MCP tools](./customize-tools.mdx) with filters and overrides +- [Aggregate multiple servers](../guides-vmcp/index.mdx) into a single endpoint + with Virtual MCP Server +- [Curate a server catalog](../guides-registry/index.mdx) for your team with the + Registry Server ## Related information diff --git a/docs/toolhive/guides-k8s/telemetry-and-metrics.mdx b/docs/toolhive/guides-k8s/telemetry-and-metrics.mdx index 232da38a..f2ce9421 100644 --- a/docs/toolhive/guides-k8s/telemetry-and-metrics.mdx +++ b/docs/toolhive/guides-k8s/telemetry-and-metrics.mdx @@ -275,12 +275,18 @@ Telemetry adds minimal overhead when properly configured: - Use appropriate sampling rates for your traffic volume - Monitor your observability backend costs and adjust sampling accordingly +## Next steps + +- [Set up audit logging](./logging.mdx) for structured request and authorization + event tracking +- [Secure your servers](./auth-k8s.mdx) with authentication and authorization + ## Related information - Tutorial: [Collect telemetry for MCP workloads](../integrations/opentelemetry.mdx) - - Step-by-step guide to set up a local observability stack -- [Telemetry and monitoring concepts](../concepts/observability.mdx) - Overview + step-by-step guide to set up a local observability stack +- [Telemetry and monitoring concepts](../concepts/observability.mdx) - overview of ToolHive's observability architecture - [Kubernetes CRD reference](../reference/crd-spec.md#apiv1alpha1mcpserver) - Reference for the `MCPServer` Custom Resource Definition (CRD) diff --git a/docs/toolhive/guides-k8s/token-exchange-k8s.mdx b/docs/toolhive/guides-k8s/token-exchange-k8s.mdx index 1befe9ff..aa666bc2 100644 --- a/docs/toolhive/guides-k8s/token-exchange-k8s.mdx +++ b/docs/toolhive/guides-k8s/token-exchange-k8s.mdx @@ -251,6 +251,13 @@ Key points in this example: user's identity is preserved, but the permissions are transformed for the target service. +## Next steps + +- [Monitor server activity](./telemetry-and-metrics.mdx) with OpenTelemetry and + Prometheus +- [Set up audit logging](./logging.mdx) to track requests and authentication + decisions + ## Related information - [Backend authentication](../concepts/backend-auth.mdx) - conceptual overview diff --git a/docs/toolhive/guides-registry/authentication.mdx b/docs/toolhive/guides-registry/authentication.mdx index b98377b2..f0101226 100644 --- a/docs/toolhive/guides-registry/authentication.mdx +++ b/docs/toolhive/guides-registry/authentication.mdx @@ -547,6 +547,6 @@ If tokens from some providers work but others don't: ## Next steps -- [Configure database storage](./database.mdx) for production deployments -- [Deploy the server](./deployment.mdx) with authentication enabled -- [Configure registry sources](./configuration.mdx) for your environment +- [Set up the database](./database.mdx) for production storage and migrations +- [Configure telemetry](./telemetry-metrics.mdx) for distributed tracing and + metrics collection diff --git a/docs/toolhive/guides-registry/configuration.mdx b/docs/toolhive/guides-registry/configuration.mdx index ebd9bae1..99cc52f2 100644 --- a/docs/toolhive/guides-registry/configuration.mdx +++ b/docs/toolhive/guides-registry/configuration.mdx @@ -522,7 +522,6 @@ distributed tracing and metrics collection. See the ## Next steps -- [Configure authentication](./authentication.mdx) for secure access -- [Configure telemetry](./telemetry-metrics.mdx) for metrics and tracing -- [Deploy the server](./deployment.mdx) with your configuration -- [Configure database storage](./database.mdx) +- [Configure authentication](./authentication.mdx) to secure access to your + registry +- [Set up the database](./database.mdx) for production storage diff --git a/docs/toolhive/guides-registry/database.mdx b/docs/toolhive/guides-registry/database.mdx index 24d19b1b..a8cfa5ab 100644 --- a/docs/toolhive/guides-registry/database.mdx +++ b/docs/toolhive/guides-registry/database.mdx @@ -306,5 +306,6 @@ If you see permission errors during normal operations: ## Next steps -- [Deploy the server](./deployment.mdx) with database configuration -- [Configure data sources](./configuration.mdx) to populate the registry +- [Configure telemetry](./telemetry-metrics.mdx) for distributed tracing and + metrics collection +- [Deploy the server](./deployment.mdx) to your Kubernetes environment diff --git a/docs/toolhive/guides-registry/deploy-manual.mdx b/docs/toolhive/guides-registry/deploy-manual.mdx index 50166a3f..c1fbeeac 100644 --- a/docs/toolhive/guides-registry/deploy-manual.mdx +++ b/docs/toolhive/guides-registry/deploy-manual.mdx @@ -360,3 +360,11 @@ each instance to avoid leader election lease conflicts. The Helm chart handles this automatically. ::: + +## Next steps + +- [Configure registry sources](./configuration.mdx) to set up your data sources + and sync policies +- [Set up authentication](./authentication.mdx) to secure access to your + registry +- [Configure telemetry](./telemetry-metrics.mdx) to monitor your deployment diff --git a/docs/toolhive/guides-registry/deployment.mdx b/docs/toolhive/guides-registry/deployment.mdx index 8a93e939..81d3b029 100644 --- a/docs/toolhive/guides-registry/deployment.mdx +++ b/docs/toolhive/guides-registry/deployment.mdx @@ -32,3 +32,11 @@ Deploy the Registry Server directly using raw Kubernetes manifests. This approach gives you full control over the deployment configuration. See [Deploy manually](./deploy-manual.mdx) for instructions. + +## Next steps + +- [Configure registry sources](./configuration.mdx) to set up your data sources + and sync policies +- [Set up authentication](./authentication.mdx) to secure access to your + registry +- [Configure telemetry](./telemetry-metrics.mdx) to monitor your deployment diff --git a/docs/toolhive/guides-registry/intro.mdx b/docs/toolhive/guides-registry/intro.mdx index 022207cf..62902b3d 100644 --- a/docs/toolhive/guides-registry/intro.mdx +++ b/docs/toolhive/guides-registry/intro.mdx @@ -114,8 +114,10 @@ The server supports five registry source types: ## Next steps -- [Configure registry sources](./configuration.mdx) to set up your registry -- [Deploy the server](./deployment.mdx) in your environment +- [Configure registry sources](./configuration.mdx) to set up your data sources, + sync policies, and server filtering +- [Set up authentication](./authentication.mdx) to secure access to your + registry - [Manage skills](./skills.mdx) to publish and discover reusable skills - [View the API reference](../reference/registry-api.mdx) for endpoint documentation diff --git a/docs/toolhive/guides-registry/skills.mdx b/docs/toolhive/guides-registry/skills.mdx index 850c2e72..c727ca7b 100644 --- a/docs/toolhive/guides-registry/skills.mdx +++ b/docs/toolhive/guides-registry/skills.mdx @@ -189,14 +189,18 @@ The API returns standard HTTP status codes: | 409 | Version already exists | | 500 | Internal server error | -## What's next +## Next steps Skill installation via agent clients (such as the ToolHive CLI or IDE extensions) is planned for a future release. For now, the registry serves as a discovery and distribution layer. -- [Understanding skills](../concepts/skills.mdx) for background on the skills +- [Configure telemetry](./telemetry-metrics.mdx) to monitor your registry + deployment + +## Related information + +- [Understanding skills](../concepts/skills.mdx) - background on the skills model -- [Registry server introduction](./intro.mdx) for an overview of the Registry - server -- [Authentication](./authentication.mdx) for configuring API access +- [Registry server introduction](./intro.mdx) +- [Authentication](./authentication.mdx) - configuring API access diff --git a/docs/toolhive/guides-registry/telemetry-metrics.mdx b/docs/toolhive/guides-registry/telemetry-metrics.mdx index eb7d3e73..aa3ba82f 100644 --- a/docs/toolhive/guides-registry/telemetry-metrics.mdx +++ b/docs/toolhive/guides-registry/telemetry-metrics.mdx @@ -180,6 +180,6 @@ metrics still capture latency and error rates for these endpoints. ## Next steps -- [Configure the Registry Server](./configuration.mdx) with your registries -- [Deploy the server](./deployment.mdx) to your environment -- [Configure authentication](./authentication.mdx) for secure access +- [Deploy the server](./deployment.mdx) to your Kubernetes environment +- [Manage skills](./skills.mdx) to publish and discover reusable skills in your + registry diff --git a/docs/toolhive/guides-ui/cli-access.mdx b/docs/toolhive/guides-ui/cli-access.mdx index 0033e23e..3820c097 100644 --- a/docs/toolhive/guides-ui/cli-access.mdx +++ b/docs/toolhive/guides-ui/cli-access.mdx @@ -133,6 +133,12 @@ the error message and resolution steps. +## Next steps + +- [Run MCP servers](./run-mcp-servers.mdx) from the ToolHive UI +- Explore the full [CLI guides](../guides-cli/index.mdx) for terminal-based + workflows + ## Related information - [CLI guides](../guides-cli/index.mdx) diff --git a/docs/toolhive/guides-ui/client-configuration.mdx b/docs/toolhive/guides-ui/client-configuration.mdx index c0d539b9..2a02c240 100644 --- a/docs/toolhive/guides-ui/client-configuration.mdx +++ b/docs/toolhive/guides-ui/client-configuration.mdx @@ -78,6 +78,12 @@ your client or library, so refer to its documentation for details. See the [client configuration reference](../reference/client-compatibility.mdx#manual-configuration) for some common examples. +## Next steps + +- Test your setup in the [Playground](./playground.mdx) +- [Customize which tools](./customize-tools.mdx) each server exposes to your AI + clients + ## Related information - [Client compatibility](../reference/client-compatibility.mdx) diff --git a/docs/toolhive/guides-ui/customize-tools.mdx b/docs/toolhive/guides-ui/customize-tools.mdx index 220b5bd7..ee66e08f 100644 --- a/docs/toolhive/guides-ui/customize-tools.mdx +++ b/docs/toolhive/guides-ui/customize-tools.mdx @@ -194,6 +194,12 @@ icon is removed. 1. Manually enable all tools using the toggle switches. 1. Click **Apply** to save your changes. +## Next steps + +- Try out your customized tools in the [Playground](./playground.mdx) +- [Configure client access](./client-configuration.mdx) to connect your AI + clients to ToolHive + ## Related information - [Run MCP servers](./run-mcp-servers.mdx) diff --git a/docs/toolhive/guides-ui/group-management.mdx b/docs/toolhive/guides-ui/group-management.mdx index dca3454a..2b1aff84 100644 --- a/docs/toolhive/guides-ui/group-management.mdx +++ b/docs/toolhive/guides-ui/group-management.mdx @@ -151,6 +151,14 @@ environments: 3. Configure different AI clients or workspaces to access the appropriate groups for each project. +## Next steps + +- [Manage secrets](./secrets-management.mdx) for the MCP servers in your groups +- [Customize which tools](./customize-tools.mdx) each server exposes to your AI + clients +- [Configure client access](./client-configuration.mdx) to connect your AI + clients to ToolHive + ## Related information - [Run MCP servers](./run-mcp-servers.mdx) diff --git a/docs/toolhive/guides-ui/mcp-optimizer.mdx b/docs/toolhive/guides-ui/mcp-optimizer.mdx index e54d990c..b0a7bb56 100644 --- a/docs/toolhive/guides-ui/mcp-optimizer.mdx +++ b/docs/toolhive/guides-ui/mcp-optimizer.mdx @@ -114,8 +114,15 @@ If you encounter issues while using the MCP Optimizer, check the logs for debugging information. On the **MCP Optimizer** page, click the **Advanced** menu and select **MCP Optimizer logs**. +## Next steps + +- Try the [Playground](./playground.mdx) to test your optimized tool set +- [Organize MCP servers into groups](./group-management.mdx) to control which + servers the optimizer includes + ## Related information - Tutorial: [Reduce token usage with MCP Optimizer](../tutorials/mcp-optimizer.mdx) -- [Organize MCP servers into groups](./group-management.mdx) +- [Optimizing LLM context](../concepts/tool-optimization.mdx) - background on + tool filtering and context pollution diff --git a/docs/toolhive/guides-ui/network-isolation.mdx b/docs/toolhive/guides-ui/network-isolation.mdx index 89c53566..842b58ca 100644 --- a/docs/toolhive/guides-ui/network-isolation.mdx +++ b/docs/toolhive/guides-ui/network-isolation.mdx @@ -96,6 +96,13 @@ containers. - **Allowed hosts**: `host.docker.internal` - **Allowed ports**: `3000` +## Next steps + +- [Customize which tools](./customize-tools.mdx) each server exposes to your AI + clients +- [Configure client access](./client-configuration.mdx) to connect your AI + clients to ToolHive + ## Related information - [Run MCP servers](./run-mcp-servers.mdx) diff --git a/docs/toolhive/guides-ui/secrets-management.mdx b/docs/toolhive/guides-ui/secrets-management.mdx index 85dbf031..d19296bd 100644 --- a/docs/toolhive/guides-ui/secrets-management.mdx +++ b/docs/toolhive/guides-ui/secrets-management.mdx @@ -57,6 +57,13 @@ using the same name. ::: +## Next steps + +- [Restrict network access](./network-isolation.mdx) for your MCP servers to + improve security +- [Configure client access](./client-configuration.mdx) to connect your AI + clients to ToolHive + ## Related information - [Run MCP servers](./run-mcp-servers.mdx) diff --git a/docs/toolhive/guides-vmcp/audit-logging.mdx b/docs/toolhive/guides-vmcp/audit-logging.mdx index 3ff13e1e..3400a4c6 100644 --- a/docs/toolhive/guides-vmcp/audit-logging.mdx +++ b/docs/toolhive/guides-vmcp/audit-logging.mdx @@ -398,13 +398,18 @@ For detailed configuration examples and best practices for setting up log collection with Fluentd, Filebeat, Splunk, and other systems, see the [Kubernetes logging guide](../guides-k8s/logging.mdx#set-up-log-collection). +## Next steps + +- [Review the vMCP configuration guide](./configuration.mdx) to revisit or + refine your VirtualMCPServer setup +- [Learn about ToolHive's observability model](../concepts/observability.mdx) + for a deeper understanding of the telemetry architecture + ## Related information -- [Authentication](./authentication.mdx) - Configure client and backend +- [Authentication](./authentication.mdx) - configure client and backend authentication for user identity in audit logs -- [Telemetry and metrics](./telemetry-and-metrics.mdx) - Monitor vMCP +- [Telemetry and metrics](./telemetry-and-metrics.mdx) - monitor vMCP performance with OpenTelemetry -- [Observability concepts](../concepts/observability.mdx) - Overview of - ToolHive's observability architecture -- [Kubernetes logging guide](../guides-k8s/logging.mdx) - Configure logging for +- [Kubernetes logging guide](../guides-k8s/logging.mdx) - configure logging for MCP servers in Kubernetes diff --git a/docs/toolhive/guides-vmcp/authentication.mdx b/docs/toolhive/guides-vmcp/authentication.mdx index 4a2c9036..e116d87d 100644 --- a/docs/toolhive/guides-vmcp/authentication.mdx +++ b/docs/toolhive/guides-vmcp/authentication.mdx @@ -157,8 +157,16 @@ See [Configure token exchange for backend authentication](../guides-k8s/token-exchange-k8s.mdx) for details on using service account token exchange for backend authentication. +## Next steps + +- [Configure tool aggregation](./tool-aggregation.mdx) to manage how tools from + multiple backends are presented to clients +- [Set up audit logging](./audit-logging.mdx) to track authentication decisions + and request activity + ## Related information - [Authentication framework concepts](../concepts/auth-framework.mdx) +- [Cedar policies](../concepts/cedar-policies.mdx) for detailed policy syntax - [VirtualMCPServer configuration](./configuration.mdx) - [Token exchange in Kubernetes](../guides-k8s/token-exchange-k8s.mdx) diff --git a/docs/toolhive/guides-vmcp/backend-discovery.mdx b/docs/toolhive/guides-vmcp/backend-discovery.mdx index 96dc5f12..1e2e8065 100644 --- a/docs/toolhive/guides-vmcp/backend-discovery.mdx +++ b/docs/toolhive/guides-vmcp/backend-discovery.mdx @@ -728,8 +728,14 @@ remove the auth reference. +## Next steps + +- [Set up authentication](./authentication.mdx) for client-to-vMCP and + vMCP-to-backend security +- [Configure tool aggregation](./tool-aggregation.mdx) to manage how tools from + multiple backends are presented to clients + ## Related information - [Configure vMCP servers](./configuration.mdx) -- [Authentication](./authentication.mdx) - [VirtualMCPServer CRD specification](../reference/crd-spec.md#apiv1alpha1virtualmcpserver) diff --git a/docs/toolhive/guides-vmcp/composite-tools.mdx b/docs/toolhive/guides-vmcp/composite-tools.mdx index ed26ca53..41f178fc 100644 --- a/docs/toolhive/guides-vmcp/composite-tools.mdx +++ b/docs/toolhive/guides-vmcp/composite-tools.mdx @@ -638,6 +638,11 @@ spec: - name: another-workflow ``` +## Next steps + +- [Configure failure handling](./failure-handling.mdx) for circuit breakers and + partial failure modes in multi-backend setups + ## Related information - [Configure vMCP servers](./configuration.mdx) diff --git a/docs/toolhive/guides-vmcp/configuration.mdx b/docs/toolhive/guides-vmcp/configuration.mdx index 3c2f6505..c06c48a1 100644 --- a/docs/toolhive/guides-vmcp/configuration.mdx +++ b/docs/toolhive/guides-vmcp/configuration.mdx @@ -279,13 +279,14 @@ Backend discovery guide. ## Next steps -- [Optimize tool discovery](./optimizer.mdx) by adding an `embeddingServerRef` - to reduce token usage across many backends -- Review [scaling and performance guidance](./scaling-and-performance.mdx) for - resource planning -- Discover your deployed MCP servers automatically using the - [Kubernetes registry](../guides-registry/configuration.mdx#kubernetes-registry) - feature in the ToolHive Registry Server +- [Configure backend discovery](./backend-discovery.mdx) to control how vMCP + finds and connects to MCP servers +- [Set up authentication](./authentication.mdx) for client-to-vMCP and + vMCP-to-backend security +- [Configure failure handling](./failure-handling.mdx) for circuit breakers and + partial failure modes +- [Monitor vMCP activity](./telemetry-and-metrics.mdx) with OpenTelemetry + tracing and metrics ## Related information diff --git a/docs/toolhive/guides-vmcp/failure-handling.mdx b/docs/toolhive/guides-vmcp/failure-handling.mdx index df6b533e..9cdc4fd2 100644 --- a/docs/toolhive/guides-vmcp/failure-handling.mdx +++ b/docs/toolhive/guides-vmcp/failure-handling.mdx @@ -409,9 +409,15 @@ operational: +## Next steps + +- [Monitor vMCP activity](./telemetry-and-metrics.mdx) with OpenTelemetry + tracing and metrics +- [Set up audit logging](./audit-logging.mdx) to track requests and failures + ## Related information -- [Backend discovery modes](./backend-discovery.mdx) - Backend health status and +- [Backend discovery modes](./backend-discovery.mdx) - backend health status and `/status` endpoint - [Configuration guide](./configuration.mdx) - [VirtualMCPServer CRD specification](../reference/crd-spec.md#apiv1alpha1virtualmcpserver) diff --git a/docs/toolhive/guides-vmcp/intro.mdx b/docs/toolhive/guides-vmcp/intro.mdx index a179145c..f1454054 100644 --- a/docs/toolhive/guides-vmcp/intro.mdx +++ b/docs/toolhive/guides-vmcp/intro.mdx @@ -104,9 +104,15 @@ To enable the optimizer, add an `embeddingServerRef` to your VirtualMCPServer resource. See [Optimize tool discovery](./optimizer.mdx) for the full setup guide. +## Next steps + +- [Try the Quickstart](./quickstart.mdx) to deploy your first vMCP on a + Kubernetes cluster +- [Configure vMCP servers](./configuration.mdx) to set up groups, backends, and + tool aggregation + ## Related information -- [Quickstart: Virtual MCP Server](./quickstart.mdx) - [Understanding Virtual MCP Server](../concepts/vmcp.mdx) - [Optimize tool discovery](./optimizer.mdx) - [Scaling and performance](./scaling-and-performance.mdx) diff --git a/docs/toolhive/guides-vmcp/optimizer.mdx b/docs/toolhive/guides-vmcp/optimizer.mdx index fe159aaf..43a99a48 100644 --- a/docs/toolhive/guides-vmcp/optimizer.mdx +++ b/docs/toolhive/guides-vmcp/optimizer.mdx @@ -305,13 +305,20 @@ spec: audience: vmcp-example ``` +## Next steps + +- [Configure failure handling](./failure-handling.mdx) for circuit breakers and + partial failure modes +- [Monitor vMCP activity](./telemetry-and-metrics.mdx) with OpenTelemetry + tracing and metrics + ## Related information -- [MCP Optimizer tutorial](../tutorials/mcp-optimizer.mdx) — desktop/CLI setup -- [Optimizing LLM context](../concepts/tool-optimization.mdx) — background on +- [MCP Optimizer tutorial](../tutorials/mcp-optimizer.mdx) - desktop/CLI setup +- [Optimizing LLM context](../concepts/tool-optimization.mdx) - background on tool filtering and context pollution - [Configure vMCP servers](./configuration.mdx) - [EmbeddingServer CRD specification](../reference/crd-spec.md#apiv1alpha1embeddingserver) -- [Virtual MCP Server overview](../concepts/vmcp.mdx) — conceptual overview of +- [Virtual MCP Server overview](../concepts/vmcp.mdx) - conceptual overview of vMCP - [VirtualMCPServer CRD specification](../reference/crd-spec.md#apiv1alpha1virtualmcpserver) diff --git a/docs/toolhive/guides-vmcp/scaling-and-performance.mdx b/docs/toolhive/guides-vmcp/scaling-and-performance.mdx index a9c4cd51..18e5029f 100644 --- a/docs/toolhive/guides-vmcp/scaling-and-performance.mdx +++ b/docs/toolhive/guides-vmcp/scaling-and-performance.mdx @@ -80,6 +80,13 @@ spec: For stateful backends, vertical scaling or dedicated vMCP instances per team/use case are recommended instead of horizontal scaling. +## Next steps + +- [Explore Kubernetes operator guides](../guides-k8s/index.mdx) for managing MCP + servers alongside vMCP +- [Curate a server catalog](../guides-registry/index.mdx) for your team with the + Registry Server + ## Related information - [Introduction to vMCP](./intro.mdx) diff --git a/docs/toolhive/guides-vmcp/telemetry-and-metrics.mdx b/docs/toolhive/guides-vmcp/telemetry-and-metrics.mdx index 729f8e12..9e31c242 100644 --- a/docs/toolhive/guides-vmcp/telemetry-and-metrics.mdx +++ b/docs/toolhive/guides-vmcp/telemetry-and-metrics.mdx @@ -167,11 +167,16 @@ Each span includes attributes for the target backend (`target.workload_id`, `target.workload_name`, `target.base_url`) and the relevant MCP attributes (`mcp.method.name`, `gen_ai.tool.name`, `mcp.resource.uri`). +## Next steps + +- [Set up audit logging](./audit-logging.mdx) for structured request and + authorization event tracking + ## Related information -- [Observability concepts](../concepts/observability.mdx) - Overview of +- [Observability concepts](../concepts/observability.mdx) - overview of ToolHive's observability architecture - [Kubernetes telemetry guide](../guides-k8s/telemetry-and-metrics.mdx) - - Telemetry for MCPServer resources -- [OpenTelemetry tutorial](../integrations/opentelemetry.mdx) - Set up a local + telemetry for MCPServer resources +- [OpenTelemetry tutorial](../integrations/opentelemetry.mdx) - set up a local observability stack diff --git a/docs/toolhive/guides-vmcp/tool-aggregation.mdx b/docs/toolhive/guides-vmcp/tool-aggregation.mdx index 728d6915..4044a2d4 100644 --- a/docs/toolhive/guides-vmcp/tool-aggregation.mdx +++ b/docs/toolhive/guides-vmcp/tool-aggregation.mdx @@ -237,8 +237,14 @@ With this configuration, tools from each backend are prefixed: - `fetch_*` tools from the fetch server - `osv_*` tools from the osv server +## Next steps + +- [Create composite tools](./composite-tools.mdx) to build multi-step workflows + that span multiple backends +- [Optimize tool discovery](./optimizer.mdx) to reduce token usage when + aggregating many tools + ## Related information - [VirtualMCPServer configuration reference](./configuration.mdx) -- [Optimize tool discovery](./optimizer.mdx) - [Customize MCP server tools](../guides-k8s/customize-tools.mdx) diff --git a/docs/toolhive/tutorials/mcp-optimizer.mdx b/docs/toolhive/tutorials/mcp-optimizer.mdx index 756ff0f7..1eee184f 100644 --- a/docs/toolhive/tutorials/mcp-optimizer.mdx +++ b/docs/toolhive/tutorials/mcp-optimizer.mdx @@ -328,6 +328,6 @@ Now that you've set up MCP Optimizer, consider exploring these next steps: ## Related information - [MCP Optimizer UI guide](../guides-ui/mcp-optimizer.mdx) -- [Optimize tool discovery in vMCP](../guides-vmcp/optimizer.mdx) — Kubernetes +- [Optimize tool discovery in vMCP](../guides-vmcp/optimizer.mdx) - Kubernetes operator approach - [Organize MCP servers into groups](../guides-ui/group-management.mdx)