You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-84Lines changed: 21 additions & 84 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ ToolHive (thv) is a lightweight, secure, and fast manager for MCP (Model Context
6
6
7
7
Under the hood, ToolHive acts as a very thin client for the Docker/Podman Unix socket API. This design choice allows it to remain both efficient and lightweight while still providing powerful, container-based isolation for running MCP servers.
Deploying MCP servers requires complex multi-step processes with a lot of friction: involving running random potentially harmful commands (e.g. using `uv` or `npx`), manually managing security credentials (e.g. putting an api token into a text file), and wrestling with inconsistent packaging methods. ToolHive aims to solve this by starting containers in a locked-down environment, granting only the minimal permissions required to run. This significantly reduces the attack surface, imporves usability, and enforces best practices for container security.
- Seamless Integration: Compatible with popular development tools such as Copilot, Continue, Claude Desktop, Stitch, and more, streamlining your workflow.
27
29
28
-
## Client Compability
29
-
30
-
| Client | Supported | Notes |
31
-
|--------|-----------|-------|
32
-
| Copilot (VS Code) | ✅ |
33
-
| Cursor | ✅ |
34
-
| Roo Code | ✅ |
35
-
| PydanticAI | ✅ |
36
-
| Continue| ❌ | Continue doesn't yet support SSE
37
-
| Claude Desktop | ❌ | Claude Desktop doesn't yet support SSE
38
-
39
30
## Getting Started
40
31
41
-
### Installation
42
32
TODO: Add simple installation instructions
43
33
44
-
### TL;DR, I want to Run an MCP Server with ToolHive
45
-
46
-
To get up and running an MCP server, we can use ToolHive to create and run a fetch MCP server that our Cursor Client can use.
47
-
48
-
> Note: This example makes use of the auto-discovery feature that will automatically write the MCP server information to your Clients configuration. If you do not want this to happen and prefer to configure the MCP server in your Client configuration yourself, make sure you run `thv config auto-discovery false` to disable auto-discovery, and take the details of the MCP server returned from the `thv list` command and configure Client MCP servers manually.
49
-
50
-
```shell
51
-
# Register our Cursor Client with ToolHive
52
-
$ thv config register-client cursor
53
-
$ thv config list-registered-clients
54
-
Registered clients:
55
-
- cursor
56
-
57
-
# We run the `mcp/fetch` MCP server. You can run `thv registry list` to list all MCP servers that we have currently in the default registry
58
-
# `$USER` will be your user
59
-
$ thv run fetch
60
-
Apr 8 12:10:25.757 INF Using host port: 38697
61
-
Apr 8 12:10:25.757 INF Logging to: /Users/$USER/Library/Application Support/toolhive/logs/fetch.log
62
-
Apr 8 12:10:25.759 INF MCP server is running in the background (PID: 40373)
63
-
Apr 8 12:10:25.759 INF Use 'thv stop fetch' to stop the server
$ cat /Users/$USER/.cursor/mcp.json | grep "sse#fetch" -A 3 -B 3
73
-
{
74
-
"mcpServers": {
75
-
"fetch": {
76
-
"url": "http://localhost:38697/sse#fetch"
77
-
}
78
-
}
79
-
}
80
-
```
81
-
82
-
Now, in Cursor, you should be able to chat and ask it to fetch you a page, and it will ask you to connect with the running fetch MCP server.
83
-
84
-
To follow the same examples but for VS Code or Roo Code, just make sure to register the Client and if you have not disabled auto-discovery, it should update your Client configurations.
85
-
86
-
## Commands
87
-
88
-
The thv command-line interface provides the following subcommands:
89
-
90
-
*`thv run` Runs an MCP server.
91
-
92
-
*`thv list` Lists running MCP servers.
93
-
94
-
*`thv stop` Stops an MCP server.
95
-
96
-
*`thv rm` Removes an MCP server.
97
-
98
-
*`thv restart` Restarts an MCP server.
99
-
100
-
*`thv search` Searches for available MCP servers in the registry.
101
-
102
-
*`thv registry list` Lists available MCP servers in the registry.
103
-
104
-
*`thv help` Displays help information.
105
-
106
-
*`thv version` Shows the current version of ToolHive.
107
-
108
34
## Usage
109
35
110
36
### Running an MCP Server
@@ -126,6 +52,16 @@ thv run <name-of-mcp-server>
126
52
The registry already contains all the parameters needed to run the server, so you don't need to specify any additional arguments.
127
53
ToolHive will automatically pull the image and start the server.
128
54
55
+
### Listing Running MCP Servers
56
+
57
+
Use:
58
+
59
+
```bash
60
+
thv list
61
+
```
62
+
63
+
This lists all active MCP servers managed by ToolHive, along with their current status.
64
+
129
65
### Browsing the Registry
130
66
131
67
You can also browse the registry to see all available MCP servers. Use the following command:
@@ -223,15 +159,16 @@ Two built-in profiles are included for convenience:
223
159
* `stdio`: Grants minimal permissions with no network access.
224
160
* `network`: Permits outbound network connections to any host on any port (not recommended for production use).
225
161
226
-
## Listing Running MCP Servers
227
-
228
-
Use:
229
-
230
-
```bash
231
-
thv list
232
-
```
162
+
## Client Compability
233
163
234
-
This lists all active MCP servers managed by ToolHive, along with their current status.
164
+
| Client | Supported | Notes |
165
+
|--------|-----------|-------|
166
+
| Copilot (VS Code) | ✅ |
167
+
| Cursor | ✅ |
168
+
| Roo Code | ✅ |
169
+
| PydanticAI | ✅ |
170
+
| Continue| ❌ | Continue doesn't yet support SSE
171
+
| Claude Desktop | ❌ | Claude Desktop doesn't yet support SSE
235
172
236
173
## Running ToolHive Inside of a Local Kind Cluster
0 commit comments