Vantage MCP Server: Dual Deployment Modes
Deploy the Vantage MCP server in dual modes, cloud or on-premises, with clear requirements, secure setup, and flexible configuration options.
npx -y @vantage-sh/vantage-mcp-serverOverview
Vantage MCP Server exposes Vantage account operations over the Model Context Protocol (MCP), letting MCP-compatible clients (Claude, Cursor, Goose, etc.) call Vantage-specific tools using natural language. It ships two deployment options: a local stdio server for single-user and development workflows, and an HTTP-based Cloudflare Worker for team or production scenarios. This dual-mode design lets developers prototype quickly on a laptop and scale to a web-accessible deployment without changing the client integration.
The server implements a set of tools that surface Vantage resources and cost data (spend history, tag breakdowns, provider integrations, resource creation). MCP clients call those tools, and the server enforces authentication and request handling appropriate for the chosen deployment mode. This document explains requirements, secure configuration, and common usage patterns so developers new to MCP can get started quickly.
Features
- Two deployment modes:
- Local (stdio) for direct MCP client integration and development
- Remote (HTTP) via Cloudflare Worker for web-accessible, multi-user access
- Toolset for listing, querying, and creating Vantage resources (implemented under src/tools)
- Multiple authentication pathways for remote mode (API token, OAuth, Vantage headers)
- Secure token handling via environment variables or Cloudflare secrets
- Simple integration points for MCP clients (Claude Desktop, Cursor, Goose)
Requirements
- Node.js v18 or newer and npm
- An MCP-compatible client (Claude Desktop, Cursor, Goose, etc.)
- A Vantage account with a connected provider (AWS, Azure, GCP, …)
- A Vantage API token (for local mode) or appropriate OAuth/client credentials (for remote mode)
Repository: https://github.com/vantage-sh/vantage-mcp-server
Installation / Configuration
Clone and install dependencies:
Create a Vantage API token (via your Vantage console) and keep it secure.
Local (self-hosted) mode — run directly for MCP clients that connect via stdio:
- Option A: Run with npx/tsx (recommended for development)
# run directly (works if you have tsx available)
VANTAGE_TOKEN=your_token_here
- Configure your MCP client to launch the local stdio process. Example Claude Desktop configuration (replace paths and token):
Cursor configuration is similar — place the same command/args/env in the mcp.json entry for a new MCP server.
Remote (HTTP) mode — deploy as a Cloudflare Worker:
- Use Wrangler or the Cloudflare dashboard. Typical flow:
# install wrangler if needed
# set secret for your worker
# publish the worker (adapt to your project structure)
- The project includes src/cf-worker.ts as the HTTP entry point. In production you should:
- Store tokens as Cloudflare secrets (not in source)
- Limit origins/CORS and require client authentication (OAuth, API key, or Vantage headers)
- Optionally put Cloudflare Access or another gateway in front of the worker
Deployment Mode Comparison
| Mode | Transport | Best for | Auth model |
|---|---|---|---|
| Local | STDIO (src/local.ts) | Development, single user | VANTAGE_TOKEN env var |
| Remote | HTTP (Cloudflare Worker, src/cf-worker.ts) | Team, production | OAuth, API token, Vantage headers, Cloudflare secrets |
Available Tools / Resources
The server exposes tools implemented in src/tools. Typical capabilities include:
- List connected cloud providers and linked accounts
- Query historical and current cost (daily/monthly) and segment by tags
- Return tag coverage and highlight untagged spend
- Create or update Vantage resources (projects, tags, integrations)
- Utility endpoints for metadata and schema used by MCP clients
Explore src/tools to see the exact tool names and input/output shapes. MCP clients will present these tools as callable actions once the server is connected.
Security and Operational Notes
- Never commit VANTAGE_TOKEN or other secrets to source control. Use environment variables locally, and secrets managers (Cloudflare secrets, Vault) in production.
- For remote deployments, enforce TLS and authenticate requests. Use OAuth flows or API tokens scoped to the minimum necessary permissions.
- Apply rate limiting and monitoring to the worker to prevent accidental cost or data exposure.
- Limit returned fields to the minimum needed by the client and redact PII where appropriate.
Use Cases (concrete examples)
- “What was our AWS spend last month and how much is untagged?” — MCP client invokes a cost-query tool that returns monthly spend and a tag-coverage breakdown.
- “Show the top 5 projects by GCP spend for the last 90 days.” — Server runs a filtered aggregation against Vantage and returns a ranked list.
- “Create a new Vantage project called ‘ml-research’ and tag these resources.” — Tool for creating resources + tagging is invoked via MCP.
- “Compare month-over-month spend for Azure subscriptions and highlight anomalies.” — Server returns time-series data and anomaly summaries for the client to present.
Getting Help / Next Steps
- Inspect src/local.ts and src/cf-worker.ts for entry points and src/tools for available operations.
- Read the MCP specification and your MCP client’s docs for configuring stdio or HTTP servers.
- Open an issue in the repository for bugs or feature requests: https://github.com/vantage-sh/vantage-mcp-server/issues
This guide should get you started deploying the Vantage MCP Server locally for development and at scale via Cloudflare Workers for broader access.