---
title: thv vmcp serve
hide_title: true
description: Reference for ToolHive CLI command `thv vmcp serve`
last_update:
  author: autogenerated
slug: thv_vmcp_serve
mdx:
  format: md
---

## thv vmcp serve

Start the Virtual MCP Server

### Synopsis

Start the Virtual MCP Server to aggregate and proxy multiple MCP servers.

The server reads the configuration file specified by --config and starts
listening for MCP client connections, aggregating tools, resources, and
prompts from all configured backend MCP servers.

When --config is omitted, --group enables zero-config quick mode: a minimal
in-memory configuration is generated from the named ToolHive group, so no
configuration file is needed for the common case of aggregating a local group.

```
thv vmcp serve [flags]
```

### Options

```
  -c, --config string            Path to vMCP configuration file
      --embedding-image string   TEI container image (Tier 2) (default "ghcr.io/huggingface/text-embeddings-inference:cpu-latest")
      --embedding-model string   HuggingFace model name for semantic search (Tier 2) (default "BAAI/bge-small-en-v1.5")
      --enable-audit             Enable audit logging with default configuration
      --group string             ToolHive group name (zero-config quick mode when --config is omitted)
  -h, --help                     help for serve
      --host string              Host address to bind to (default "127.0.0.1")
      --optimizer                Enable FTS5 keyword optimizer (Tier 1): exposes find_tool and call_tool instead of all backend tools
      --optimizer-embedding      Enable managed TEI semantic optimizer (Tier 2); implies --optimizer
      --port int                 Port to listen on (default 4483)
```

### Options inherited from parent commands

```
      --debug   Enable debug mode
```

### SEE ALSO

* [thv vmcp](thv_vmcp.md)	 - Run and manage a Virtual MCP Server locally

