Skip to content

Commit ecaa7c1

Browse files
authored
docs: moves somethings around in readme and adds video svg (#141)
Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
1 parent 3beec71 commit ecaa7c1

File tree

3 files changed

+24
-84
lines changed

3 files changed

+24
-84
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ go.work
3232
^thv$
3333

3434
kconfig.yaml
35+
36+
.DS_Store

README.md

Lines changed: 21 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ ToolHive (thv) is a lightweight, secure, and fast manager for MCP (Model Context
66

77
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.
88

9+
<img src="./docs/images/thv-readme-demo.svg" alt="Terminal Recording">
10+
911
## Why ToolHive?
1012

1113
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.
@@ -25,86 +27,10 @@ ToolHive radically simplifies MCP deployment by:
2527

2628
- Seamless Integration: Compatible with popular development tools such as Copilot, Continue, Claude Desktop, Stitch, and more, streamlining your workflow.
2729

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-
3930
## Getting Started
4031

41-
### Installation
4232
TODO: Add simple installation instructions
4333

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
64-
65-
# Let's list our running MCP server
66-
$ thv list
67-
CONTAINER ID NAME IMAGE STATE TRANSPORT PORT URL
68-
f336f5d471f1 fetch mcp/fetch:latest running stdio 38697 http://localhost:38697/sse#fetch
69-
70-
# Let's retrieve the Client Config for Cursor
71-
# Remember to change `$USER` your user
72-
$ 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-
10834
## Usage
10935

11036
### Running an MCP Server
@@ -126,6 +52,16 @@ thv run <name-of-mcp-server>
12652
The registry already contains all the parameters needed to run the server, so you don't need to specify any additional arguments.
12753
ToolHive will automatically pull the image and start the server.
12854

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+
12965
### Browsing the Registry
13066

13167
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:
223159
* `stdio`: Grants minimal permissions with no network access.
224160
* `network`: Permits outbound network connections to any host on any port (not recommended for production use).
225161

226-
## Listing Running MCP Servers
227-
228-
Use:
229-
230-
```bash
231-
thv list
232-
```
162+
## Client Compability
233163

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
235172

236173
## Running ToolHive Inside of a Local Kind Cluster
237174

docs/images/thv-readme-demo.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)