@@ -16,9 +16,9 @@ workflows.
1616its own authentication, manually coordinate multi-step workflows across systems,
1717and repeatedly configure the same parameters.
1818
19- ** With vMCP** : Connect once to a unified endpoint that aggregates all backends,
20- execute complex multi-system workflows declaratively, and use pre-configured
21- tools with sensible defaults.
19+ ** With vMCP** : Connect once to a unified endpoint that aggregates all backend
20+ MCP servers, execute complex multi-system workflows declaratively, and use
21+ pre-configured tools with sensible defaults.
2222
2323## Core value propositions
2424
@@ -37,17 +37,17 @@ vMCP delivers four key benefits:
3737### Multi-server aggregation
3838
3939Managing 10-20+ MCP server connections is overwhelming. Each server needs its
40- own configuration, authentication, and maintenance. vMCP aggregates all backends
41- into one endpoint with automatic conflict resolution.
40+ own configuration, authentication, and maintenance. vMCP aggregates all backend
41+ MCP servers into one endpoint with automatic conflict resolution.
4242
4343** Example scenario** : An engineering team needs access to 8 backend servers
4444(GitHub, Jira, Slack, Confluence, PagerDuty, Datadog, AWS, and internal company
4545docs). Instead of configuring 8 separate connections, they configure one vMCP
4646connection with SSO. This significantly reduces configuration complexity and
4747makes onboarding new team members much easier.
4848
49- When multiple backends have tools with the same name (for example, both GitHub
50- and Jira have ` create_issue ` ), vMCP automatically prefixes them:
49+ When multiple backend MCP servers have tools with the same name (for example,
50+ both GitHub and Jira have ` create_issue ` ), vMCP automatically prefixes them:
5151` github_create_issue ` , ` jira_create_issue ` . You can also define custom names for
5252clarity.
5353
@@ -57,18 +57,19 @@ Real-world tasks span multiple systems and require manual orchestration. vMCP
5757lets you define declarative workflows with parallel execution, conditionals,
5858error handling, and human-in-the-loop approval gates.
5959
60- ** Example scenario** : During an incident investigation, you need logs from your
61- logging system, metrics from your monitoring platform, traces from your tracing
62- service, and infrastructure status from your cloud provider. Without vMCP, an
63- engineer manually runs 4 commands sequentially and aggregates results. With
64- vMCP, you fetch all of this in parallel, automatically aggregate it into a
65- formatted report, and create a Jira ticket with all the data. This workflow is
66- reusable for every incident.
60+ ** Real example** : The ` aggregate_docs ` composite tool fetches documentation from
61+ multiple sources in parallel (MCP specification, Python SDK, and server
62+ implementations), then aggregates them into a structured report with metadata.
63+ Without vMCP, you'd manually fetch each URL sequentially. With vMCP, all three
64+ fetches run concurrently, and results are automatically combined with timing
65+ information and status for each source.
6766
68- ** Example scenario** : For an app deployment, merge the pull request, wait for
69- tests, ask a human for approval, deploy only if approved, and notify the team in
70- Slack. vMCP handles this entire flow declaratively, with automatic rollback on
71- deployment failure.
67+ ** Real example** : The ` investigate_image ` composite tool analyzes container
68+ images by querying an OCI registry for image info, manifest, and configuration
69+ in a coordinated workflow. The first step fetches basic info, then the manifest
70+ and config steps run in parallel (both depend on the initial step). This
71+ demonstrates how vMCP orchestrates multi-step operations across backend MCP
72+ servers with dependency management.
7273
7374### Tool customization and overrides
7475
@@ -91,21 +92,24 @@ Generic servers require repetitive parameter specification. You always use the
9192same repo, channel, or database. vMCP lets you create specialized instances with
9293pre-configured defaults.
9394
94- ** Example scenario** : Without vMCP, every GitHub query requires specifying
95- ` repo: stacklok/toolhive ` . With vMCP, you pre-configure this default - engineers
96- never specify the repo parameter, and they can't accidentally query the wrong
97- repository. This eliminates hundreds of repetitive parameter entries per week.
95+ ** Real example** : The ` analyze_repository ` composite tool demonstrates parameter
96+ defaults. The tool accepts ` owner ` and ` repo ` parameters with defaults set to
97+ ` modelcontextprotocol ` and ` specification ` . Engineers can run the tool without
98+ specifying these parameters for the common case, or override them when analyzing
99+ different repositories. This eliminates repetitive parameter entry while
100+ maintaining flexibility.
98101
99- ** Example scenario** : Configure staging database as the default (safe for
100- development), while production queries require an explicit approval gate.
101- Connection details are centralized in vMCP configuration instead of scattered
102- across individual tool configurations.
102+ ** Real example** : In the demo configuration, all three composite tools
103+ (` aggregate_docs ` , ` analyze_repository ` , ` investigate_image ` ) have
104+ pre-configured defaults - documentation URLs, repository names, and container
105+ image references. This makes the tools immediately usable while remaining
106+ customizable for different scenarios.
103107
104108### Authentication boundary separation
105109
106- Different auth is needed for clients versus backends, and managing credentials
107- across multiple systems is complex. vMCP implements a two-boundary auth model
108- that separates these concerns.
110+ Different authentication is needed for clients versus backend MCP servers, and
111+ managing credentials across multiple systems is complex. vMCP implements a
112+ two-boundary auth model that separates these concerns.
109113
110114** How it works** : Clients authenticate to vMCP using OAuth 2.1 authorization as
111115defined in the MCP specification. vMCP then handles authentication to each
0 commit comments