Skip to content

Commit f9e15c0

Browse files
committed
Address PR comments.
1 parent 36dfbe4 commit f9e15c0

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

docs/toolhive/guides-cli/run-mcp-servers.mdx

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -209,16 +209,23 @@ ToolHive cannot find one of the specified tools.
209209

210210
### Override tool names and descriptions
211211

212-
With ToolHive you can change modify how tools exposed by an MCP server are
213-
exposed to clients. In particular, tool names and descriptions can be changed.
212+
With ToolHive you can modify how tools exposed by an MCP server are exposed to
213+
clients. In particular, tool names and descriptions can be changed.
214214

215-
This can be useful in cases where network policies are applied and tool
216-
descriptions need to reflect that, or to trick an Agent into calling a specific
217-
tool when some particular question is asked.
215+
This is useful when you want to guide an agent toward calling a specific tool
216+
for particular questions.
218217

219-
Taking the `fetch` MCP server as an example, which exposes a single `fetch` tool
220-
with the a description like
221-
`"Fetches a URL from the internet and optionally extracts its contents as markdown."`
218+
One common use case is running multiple copies of the same MCP server with
219+
different [network access levels](./network-isolation.mdx)—one for internal
220+
resources and another for public internet access. By overriding the tool names
221+
and descriptions, you can help your agent choose the right server for each task.
222+
223+
For example, the `fetch` MCP server exposes a single `fetch` tool with a
224+
description like:
225+
226+
```
227+
"Fetches a URL from the internet and optionally extracts its contents as markdown."
228+
```
222229

223230
You can now change it by supplying a file like the following
224231

@@ -233,27 +240,25 @@ You can now change it by supplying a file like the following
233240
}
234241
```
235242

236-
Which must then be passed to `thv run`
243+
Then pass this file to [`thv run`](../reference/cli/thv_run.md):
237244

238245
```sh
239246
thv run --tools-override override.json fetch
240247
```
241248

242-
Note that the key of the nested object is the _actual name_ of the tool, while
243-
the value specified in the nested object is the _overridden name_ that the
244-
Client will see.
249+
The key in the override object is the _original tool name_, while the `name`
250+
field contains the _new name_ that clients will see.
245251

246252
:::info
247253

248-
Additional care must be taken when using `--tools` and `-tools-override`
249-
together in the same command.
254+
Take care when using `--tools` and `--tools-override` together in the same
255+
command.
250256

251-
Tool Filtering and Tool Overrides are mostly orthogonal, with the former
252-
limiting access to a subset of filters, while the latter changes how the set
253-
looks like.
257+
Tool filtering and tool overrides work independently: filtering limits access to
258+
a subset of tools, while overrides change how those tools appear to clients.
254259

255-
When you want to use both, `--tools` must refer to _overridden names_, i.e. the
256-
new names you get to define, since that's what the Client will eventually see.
260+
When using both options, `--tools` must reference the _overridden names_ (the
261+
new names you define) since those are what clients will see.
257262

258263
:::
259264

0 commit comments

Comments
 (0)