Deploy Virtual MCP Server
This guide shows you how to aggregate multiple MCP servers using the VirtualMCPServer custom resource.
Prerequisites
- Kubernetes cluster with ToolHive operator installed (see Deploy the operator using Helm)
kubectlconfigured to communicate with your cluster- Basic familiarity with Kubernetes resources
Overview
Deploying Virtual MCP Server involves three steps:
- Create an MCPGroup to organize your backend servers
- Deploy MCPServer resources within the group
- Create a VirtualMCPServer that aggregates the group
Step 1: Create an MCPGroup
Step 2: Deploy backend MCPServers
Step 3: Create a VirtualMCPServer
Step 4: Verify the deployment
What's happening?
When you create a VirtualMCPServer resource, the operator:
- Validates the MCPGroup reference exists and is ready
- Discovers all MCPServer backends in the group
- Creates a ConfigMap with the aggregation configuration
- Deploys the Virtual MCP server as a Deployment
- Creates a Service for client access
- Aggregates tools from all backends with conflict resolution
Step 5: Connect your client
Next steps
- Configure authentication for production deployments
- Customize tool aggregation with filtering and overrides
- VirtualMCPServer configuration reference
Troubleshooting
VirtualMCPServer stuck in Pending
Check that the MCPGroup is ready and backend MCPServers are running.
Backends not discovered
Verify MCPServers reference the correct group.
Tools not appearing in client
Check the Virtual MCP server logs for errors.