Skip to content

Commit 8d1f30d

Browse files
authored
Add ToolHive UI documentation and related updates (#59)
Added documentation for the ToolHive UI, including a quickstart tutorial and how-to guides. Improved the overall structure and navigation of the documentation site: - Added an FAQ page - Moved the References section pages to more relevant locations - Switch to explicit sidebar config - Added a custom hierarchical CLI reference sidebar function - Replaced the static navbar link with a drop-down menu Other changes: - Added a PR template for the repo
1 parent 87ca682 commit 8d1f30d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1794
-170
lines changed

.github/pull_request_template.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
### Description
2+
<!-- Explain what has changed and why -->
3+
4+
### Related issues/PRs
5+
<!-- Reference related issues the PR is related to or will resolve -->
6+
<!-- If documenting a new feature, link to the related PR in the main project's repo -->
7+
8+
### Screenshots
9+
<!-- Optionally include screenshots if needed to show new formatting or sidebar structure -->
10+
11+
### Merge checklist
12+
<!-- If items don't apply, add (N/A) and mark them as complete. -->
13+
14+
#### Content
15+
16+
- [ ] New pages include a frontmatter section with title and description at a minimum
17+
- [ ] Sidebar navigation (`sidebars.ts`) updated for added, deleted, reordered, or renamed files
18+
- [ ] Redirects added to `vercel.json` for moved, renamed, or deleted pages (i.e., if the URL slug changed)
19+
- Rationale: 404's are the enemy! You can test these in the Vercel preview build (push your branch or run `vercel`)
20+
21+
#### Reviews
22+
23+
- [ ] Content has been reviewed for technical accuracy
24+
- [ ] Content has been reviewed for spelling, grammar, and [style](STYLE_GUIDE.md)

.markdownlint-cli2.jsonc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"gitignore": true,
33
"globs": ["**/*.md"],
4-
"ignores": ["docs/toolhive/reference/cli/", "static/api-specs/*.md"],
4+
"ignores": [
5+
"docs/toolhive/reference/cli/",
6+
"static/api-specs/*.md",
7+
".github/pull_request_template.md",
8+
],
59
}

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
# Ignore autogenerated files
22
docs/toolhive/reference/cli/**/*.md
33
static/api-specs/
4+
5+
# Ignore templates
6+
.github/pull_request_template.md

docs/theme-preview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ doesn't participate in a sidebar, navigate to a different page to see them.
2121

2222
Another element that can't be easily reproduced here is the DocCardList
2323
component, but you can see it in action on the
24-
[ToolHive CLI guides index page](./toolhive/guides-cli).
24+
[ToolHive CLI guides index page](./toolhive/guides-cli/index.mdx).
2525

2626
## Level 2 heading
2727

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
ToolHive automatically configures supported AI clients to work with MCP servers.
2+
This guide shows you how to set up and manage client configurations.
3+
4+
## Understanding client configuration
5+
6+
Before an AI application can use ToolHive MCP servers, it needs to know where to
7+
find them. You can configure clients in two ways:
8+
9+
1. **{props.term} a supported client**: {props.term} your client with ToolHive
10+
so it automatically manages and updates the client's configuration as you
11+
start, stop, and remove MCP servers.
12+
2. **Manual configuration**: For clients that ToolHive doesn't directly support,
13+
manually configure them to connect to ToolHive-managed MCP servers using the
14+
SSE or Streamable HTTP protocol.
15+
16+
For a complete list of supported clients and compatibility details, see the
17+
[Client compatibility reference](../reference/client-compatibility.mdx).

docs/toolhive/concepts/_category_.yaml

Lines changed: 0 additions & 2 deletions
This file was deleted.

docs/toolhive/concepts/mcp-primer.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ sidebar_label: MCP primer
44
description:
55
A brief introduction to the Model Context Protocol (MCP) and its benefits for
66
developers.
7-
sidebar_position: 5
87
---
98

109
**TL;DR:** MCP offers a pragmatic, language‑friendly bridge between

docs/toolhive/concepts/registry-criteria.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
---
22
title: 'Registry criteria'
33
description: Criteria for adding MCP servers to the ToolHive registry
4-
sidebar_position: 50
54
---
65

7-
The ToolHive registry maintains a curated list of MCP servers that meet specific
6+
The ToolHive registry is a curated list of MCP servers that meet specific
87
criteria. We aim to establish a curated, community-auditable list of
98
high-quality MCP servers through clear, observable, and objective criteria. Here
109
are the criteria for adding an MCP server to the ToolHive registry:

docs/toolhive/faq.md

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
---
2+
title: Frequently asked questions
3+
sidebar_label: FAQ
4+
description: Common questions about ToolHive.
5+
---
6+
7+
## General questions
8+
9+
### What is ToolHive?
10+
11+
ToolHive is an open source platform that simplifies the deployment and
12+
management of Model Context Protocol (MCP) servers. It runs MCP servers in
13+
secure, isolated containers and provides tools to manage them easily. You can
14+
run ToolHive as a graphical desktop app, command-line tool, or Kubernetes
15+
operator.
16+
17+
### What is the Model Context Protocol (MCP)?
18+
19+
MCP is a protocol that allows AI applications to connect to external data
20+
sources and tools. It provides a standardized way for AI models to access
21+
real-world context like APIs, source code repositories, databases, and other
22+
systems. Think of it as a bridge between AI models and the external systems
23+
where your data and applications live.
24+
25+
### Do I need to know how to code to use ToolHive?
26+
27+
No. ToolHive includes a graphical interface that doesn't require coding
28+
knowledge. However, some MCP servers may require configuration or secrets, such
29+
as API keys, that you'll need to set up. The ToolHive CLI is more technical but
30+
comes with comprehensive documentation.
31+
32+
### Is ToolHive free to use?
33+
34+
Yes, ToolHive is open source (Apache 2.0 licensed) and free to use. You can find
35+
the source code on GitHub and use it without any licensing fees.
36+
37+
## Using MCP servers
38+
39+
### How do I find available MCP servers?
40+
41+
ToolHive includes a curated registry of verified MCP servers. You can browse
42+
them from the **Registry** tab in the UI or by running `thv registry list` in
43+
the CLI.
44+
45+
### What MCP servers are available?
46+
47+
The registry includes servers for common use cases, such as retrieving content
48+
from the web using the
49+
[GoFetch MCP server](https://github.com/StacklokLabs/gofetch), and for popular
50+
services and platforms like:
51+
52+
- **Atlassian** – Access Jira and Confluence
53+
- **AWS Documentation** – Query AWS service documentation
54+
- **GitHub** – Access repositories, issues, and pull requests
55+
- **Kubernetes** – Interact with Kubernetes clusters via the
56+
[MKP MCP server](https://github.com/StacklokLabs/mkp)
57+
- **MongoDB**, **PostgreSQL**, **Redis** – Connect to databases
58+
- **Notion** – Connect to Notion workspaces
59+
- And many more
60+
61+
### Can I run MCP servers that aren't in the registry?
62+
63+
Yes. You can run any MCP server from a container image or source package, even
64+
if it's not in the registry. Just provide the image name or package details when
65+
starting the server using the CLI or UI. See the custom MCP server section in
66+
the [UI guide](./guides-ui/run-mcp-servers.md#install-a-custom-mcp-server) and
67+
[CLI guide](./guides-cli/run-mcp-servers.mdx#run-a-custom-mcp-server) for more
68+
details.
69+
70+
The Kubernetes operator also supports custom MCP servers that are packaged as
71+
container images.
72+
73+
:::tip
74+
75+
You can use the ToolHive CLI to run a custom MCP server from a source package
76+
once, then export the Docker image for import into your container registry or
77+
Kubernetes cluster to use it with the operator.
78+
79+
:::
80+
81+
## Security and permissions
82+
83+
### Is it safe to run MCP servers?
84+
85+
ToolHive runs MCP servers in isolated containers with minimal default
86+
permissions. Each server runs in its own container with restricted access to
87+
your system and network.
88+
89+
:::tip
90+
91+
For extra security, review the permission profiles and network isolation options
92+
before running new or untrusted MCP servers.
93+
94+
:::
95+
96+
### How does ToolHive handle secrets like API keys?
97+
98+
ToolHive provides secure secrets management:
99+
100+
- Secrets are encrypted and stored securely on your system
101+
- They're passed to MCP servers as environment variables
102+
- Secrets never appear in plaintext in configuration files
103+
- Integration with 1Password is also supported
104+
105+
### Can I control what an MCP server can access?
106+
107+
Yes. ToolHive uses permission profiles to control:
108+
109+
- **File system access** – Which directories the server can read or write
110+
- **Network access** – Which hosts and ports the server can connect to
111+
112+
You can use built-in profiles or create custom ones for specific security
113+
requirements.
114+
115+
### What's network isolation and when should I use it?
116+
117+
Network isolation creates a secure network architecture that filters all
118+
outbound connections from MCP servers. Use the `--isolate-network` flag when
119+
running servers that need strict network controls, especially in enterprise
120+
environments.
121+
122+
## Enterprise and advanced usage
123+
124+
### Can I use ToolHive in my company?
125+
126+
Yes. ToolHive is designed for both individual developers and enterprise teams.
127+
The Kubernetes Operator provides centralized management, security controls, and
128+
integration with existing infrastructure for enterprise deployments.
129+
130+
### How do I deploy ToolHive in Kubernetes?
131+
132+
Use the ToolHive Kubernetes Operator to deploy and manage MCP servers as
133+
Kubernetes resources. See the [Kubernetes guides](./guides-k8s/index.mdx) for
134+
detailed instructions. The Kubernetes operator is currently experimental.
135+
136+
### Can I run my own custom MCP servers?
137+
138+
Yes. You can run custom MCP servers from Docker images or source packages.
139+
ToolHive supports:
140+
141+
- Docker images from public or private registries
142+
- Source packages from package managers like npm, PyPI, or Go modules
143+
144+
### How do I get my MCP server added to the ToolHive registry?
145+
146+
The ToolHive registry has specific
147+
[inclusion criteria](./concepts/registry-criteria.md), such as being open
148+
source, following good security practices, and maintaining code quality. Review
149+
the criteria and
150+
[submit your server for consideration](https://github.com/stacklok/toolhive/issues/new?template=add-an-mcp-server.md).
151+
152+
### Can I use ToolHive behind a corporate firewall?
153+
154+
Yes. ToolHive supports corporate environments with:
155+
156+
- Custom CA certificate configuration for TLS inspection
157+
- Network isolation and permission profiles
158+
- Integration with secret management systems like 1Password
159+
160+
## Getting help
161+
162+
### Where can I get help if I'm stuck?
163+
164+
- **Documentation** – Check the comprehensive guides and reference documentation
165+
- **GitHub Issues** – Report bugs or request features on the
166+
[ToolHive GitHub repository](https://github.com/stacklok/toolhive/issues)
167+
- **Discord Community** – Join the
168+
[Stacklok Discord](https://discord.gg/stacklok) for community support
169+
- **Troubleshooting sections** – Each guide includes troubleshooting tips for
170+
common issues
171+
172+
### How do I report a bug or request a feature?
173+
174+
Open an issue in the appropriate GitHub repository:
175+
176+
- [**ToolHive UI**](https://github.com/stacklok/toolhive-studio/issues) – For
177+
issues specific to the graphical desktop app
178+
- [**ToolHive CLI & Kubernetes**](https://github.com/stacklok/toolhive/issues)
179+
For issues related to the CLI tool or Kubernetes operator
180+
181+
### Is there a community I can join?
182+
183+
Yes! Join the [Stacklok Discord community](https://discord.gg/stacklok) to
184+
connect with other ToolHive users, ask questions, and share your experiences.
185+
There's a dedicated `#toolhive-developers` channel for technical discussions.

docs/toolhive/guides-cli/_category_.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)