-
Notifications
You must be signed in to change notification settings - Fork 2
Document groups in the UI #228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+189
−4
Merged
Changes from 5 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
d4da525
document groups in the UI
kantord ab374ea
wording fixes
kantord 1c0f2cc
make it more similar to cli
kantord 4deb24e
improve wording
kantord 7597903
.
kantord 363f5ec
fixes
kantord ceaefb4
fixes
kantord 227ecc0
Merge branch 'main' into document-groups-in-ui
kantord 63a7418
.
kantord 89d24b3
Merge branch 'main' into document-groups-in-ui
danbarr 270c477
Update page title to match CLI guide
danbarr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
--- | ||
title: Organize servers with groups | ||
description: | ||
How to organize MCP servers into logical groups and configure client access in | ||
the ToolHive UI. | ||
--- | ||
|
||
This guide explains how to organize your MCP servers into logical groups and | ||
configure which groups your MCP clients can access. Groups help you organize | ||
servers by project, environment, or team, and control which tools are available | ||
to different clients. | ||
|
||
## Why use groups? | ||
|
||
Groups let you organize MCP servers and control client access: | ||
|
||
- **Project isolation**: Keep development and production servers separate | ||
- **Environment management**: Organize servers by development stage | ||
- **Client customization**: Configure different tool sets for different clients | ||
|
||
:::info[What's the default behavior?] | ||
|
||
The `default` group always exists and cannot be deleted. When you add an MCP | ||
server, the `default` group is preselected in the group field unless you choose | ||
a different group. | ||
|
||
::: | ||
|
||
## View and navigate groups | ||
|
||
A sidebar appears on the left side of the **MCP Servers** page listing all your | ||
groups. The active group is highlighted. | ||
|
||
To view servers in a different group, click on the group name in the sidebar. | ||
The **MCP Servers** page updates to show only the servers in that group. | ||
|
||
## Create a group | ||
|
||
To create a new group: | ||
|
||
1. Open the **MCP Servers** page. | ||
2. Click **Add a group** in the groups sidebar. | ||
3. Enter a unique name for the group. | ||
4. Click **Create** to create the group. | ||
|
||
Group names are case-sensitive. For example, "Development" and "development" are | ||
treated as different groups. | ||
kantord marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
:::note | ||
|
||
Group names must be unique. If you try to create a group with a name that | ||
already exists, you'll see an error message. | ||
|
||
::: | ||
|
||
## Assign servers to groups | ||
|
||
When you install or configure an MCP server, you assign it to a group. All | ||
server types (registry, custom local, and remote) include a **Group** field in | ||
their configuration forms. | ||
|
||
### Assign a server during installation | ||
|
||
When installing a new MCP server from the registry or adding a custom server: | ||
|
||
1. Fill in the server configuration as usual. | ||
2. In the **Group** field, select the group where you want to add the server. | ||
3. If the group doesn't exist yet, you can create it on the fly from the | ||
dropdown. | ||
4. Click **Install server** to add the server to the selected group. | ||
|
||
### Move a server to a different group | ||
|
||
You cannot directly move a server between groups. Instead, you can copy the | ||
server to a different group: | ||
|
||
1. On the **MCP Servers** page, find the server you want to copy. | ||
2. Click the menu (︙) on the server card. | ||
3. Select **Copy server to a group**. | ||
4. Choose the destination group. | ||
5. Provide a new name for the server (ToolHive suggests a name based on the | ||
format `{serverName}-{groupName}`). | ||
6. Click **Copy** to duplicate the server configuration to the new group. | ||
|
||
This creates a complete copy of the server in the destination group, preserving | ||
all configuration including secrets, environment variables, and storage volumes. | ||
The original server remains in its current group. | ||
|
||
If you want to remove the original server after copying, you can delete it | ||
manually from its original group. | ||
|
||
## Manage client access per group | ||
|
||
You can control which AI clients have access to servers in each group. This lets | ||
you configure different tool sets for different clients or environments. | ||
|
||
To manage client access for a group: | ||
|
||
1. Navigate to the group by clicking on its name in the groups sidebar. | ||
2. Click **Manage Clients** on the group page. | ||
3. Toggle the switches to enable or disable clients for this group. | ||
4. Click **Save** to apply your changes. | ||
|
||
When you enable a client for a group, ToolHive registers that client to access | ||
all servers in the group. When you disable a client for a group, ToolHive | ||
unregisters the client from that group. | ||
|
||
:::tip | ||
|
||
You can enable the same client for multiple groups. The client will have access | ||
to servers from all groups where it's enabled. | ||
|
||
::: | ||
|
||
## Delete a group | ||
|
||
To delete a group: | ||
|
||
1. Navigate to the group by clicking on its name in the groups sidebar. | ||
2. Click the group actions menu (⋮) in the header. | ||
3. Select **Delete group**. | ||
4. Confirm the deletion in the dialog. | ||
|
||
:::warning | ||
|
||
Deleting a group permanently removes all servers in that group. This action | ||
cannot be undone. If you want to preserve the servers, copy them to another | ||
group before deleting. | ||
|
||
::: | ||
|
||
You cannot delete the `default` group. | ||
|
||
## Example workflows | ||
|
||
### Separate development and production servers | ||
|
||
1. Create two groups: "development" and "production". | ||
2. Install your MCP servers, assigning development tools to the "development" | ||
group and production tools to the "production" group. | ||
3. Configure your primary AI client (like GitHub Copilot) to access only the | ||
"development" group for day-to-day coding work. | ||
4. Use a different client or manually configure clients to access the | ||
"production" group when needed. | ||
|
||
### Project-based organization | ||
|
||
1. Create groups for each project: "webapp-frontend", "webapp-backend", and | ||
"mobile-app". | ||
2. Install project-specific MCP servers in each group (for example, React tools | ||
in "webapp-frontend", database tools in "webapp-backend"). | ||
3. Configure different AI clients or workspaces to access the appropriate groups | ||
for each project. | ||
|
||
## Related information | ||
|
||
- [Run MCP servers](./run-mcp-servers.mdx) | ||
- [Client configuration](./client-configuration.mdx) | ||
- [Secrets management](./secrets-management.mdx) | ||
kantord marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.