AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Vantage Mcp Server

mcp-vantage-sh-vantage-mcp-server · by vantage-sh

MCP Server to fetch costs and usage data from your Vantage account.

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add mcp-vantage-sh-vantage-mcp-server

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-vantage-sh-vantage-mcp-server)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Vantage Mcp Server? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Vantage MCP Server

Use natural language to explore your organization's cloud costs via MCP clients, like Claude, Cursor, and others. Ask questions about your organization's previous and current cloud cost spend, cost tagging, provider integrations, and more.

About the Vantage MCP Server

This repository supports two different deployment modes for the Vantage MCP Server:

  • Self-Hosted (Local) Mode: via src/local.ts
  • Runs locally using Standard Input/Output (stdio) Transport
  • Direct communication with MCP clients
  • Requires a Vantage API token
  • Best for individual users, development, or when you want full control
  • Remote (HTTP) Mode: via src/cf-worker.ts
  • Runs as a Cloudflare Worker with HTTP endpoints
  • Supports multiple authentication methods (OAuth, API tokens, Vantage headers)
  • Accessible via web requests
  • Best for teams, production deployments, or when you need web-based access

> 📝 Note: For using the remote HTTP version in a non-development workflow, see the Vantage MCP documentation.

Available Tools

The Vantage MCP Server exposes a set of tools for listing, querying, and creating Vantage resources. These tools can be invoked by any compatible MCP client and are available in [/src/tools](/src/tools).

Get Started

Prerequisites

Installation

  1. Clone this repo and install dependencies:

``bash git clone https://github.com/vantage-sh/vantage-mcp-server cd vantage-mcp-server npm install ``

  1. Create a Vantage API token following the Vantage documentation.

Run the MCP Server: Self-Hosted (Local) Mode

> 📝 Note: This self-hosted mode is intended for developing and contributing to the MCP server. For personal use, the recommended approach is to use npx -y vantage-mcp-server.

To use the self-hosted MCP server, you'll need to configure your MCP client to launch the server. The configuration process varies depending on which MCP client you use. Example clients include:

See the MCP documentation for a list of available clients. Detailed instructions for Claude for Desktop, Cursor, and Goose are provided below.

Claude for Desktop
  1. Download Claude for Desktop.
  2. From the top of Claude for Desktop, click Claude > Settings (keyboard shortcut Command + ,).
  3. In the left menu of the Settings pane, select Developer.
  4. Click Edit Config. A configuration file is created at:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Open the claude_desktop_config.json file and update its contents. Replace the placeholders ` with the path where you cloned this repository, and ` with your Vantage API token.

``json { "mcpServers": { "Vantage": { "command": "npx", "args": ["tsx", "/src/local.ts"], "env": { "VANTAGE_TOKEN": "" } } } } ``

> 📝 Note: The server uses tsx to run TypeScript directly. If you have tsx installed globally, you can use "command": "tsx" and "args": ["/src/local.ts"] instead.

  1. Save the configuration file and restart Claude.
  2. In the left corner of the Claude for Desktop input box, click the Search and tools icon to see the available tools for the Vantage MCP Server.
  3. Once you've set up the configuration, you can start prompting Claude. Each time you use a new tool, Claude will ask for your approval before proceeding.
Cursor
  1. Download Cursor.
  2. Open Cursor and click Cursor > Settings > Cursor Settings from the menu bar.
  3. In the left pane, select Tools & MCP.
  4. Click New MCP Server.
  5. Update the contents of the opened mcp.json file. Make sure to replace the placeholders ` with the path where you cloned this repository, and ` with your Vantage API token.

``json { "mcpServers": { "Vantage": { "command": "npx", "args": ["tsx", "/src/local.ts"], "env": { "VANTAGE_TOKEN": "" } } } } ``

> 📝 Note: The server uses tsx to run TypeScript directly. If you have tsx installed globally, you can use "command": "tsx" and "args": ["/src/local.ts"] instead.

  1. Save the configuration file.
  2. You will see the Vantage MCP Server with tools enabled in the Installed MCP Servers list.
Goose
  1. Download Goose.
  2. Open Goose. In the left navigation, select Extensions.
  3. Click Add custom extension.
  4. In the Extension Name field, enter Vantage.
  5. For Type, select STDIO.
  6. In the Description field, enter Query costs and usage data.
  7. In the Command field, enter npx tsx /src/local.ts (replace `` with the actual path to your cloned repository).
  8. In the Environment Variables section, add a new variable with the name VANTAGE_TOKEN and the value set to your Vantage API token. Next to the environment variable, click Add.
  9. Click Add Extension.

Local Development: Run the HTTP Mode

To develop and test the HTTP/Cloudflare Worker mode locally, you can use npm run dev. This starts a local development server using Wrangler.

Bypass OAuth for Local Development

For easier local development, you can configure the VANTAGE_MCP_TOKEN environment variable in wrangler-DEV.jsonc to bypass OAuth authentication. When set, the server will use this token directly instead of requiring OAuth flow.

  1. Open wrangler-DEV.jsonc and set the VANTAGE_MCP_TOKEN value in the vars section:

``jsonc { "vars": { "VANTAGE_MCP_TOKEN": "your_vantage_api_token_here", // ... other vars } } ``

  1. Run the development server:

``bash npm run dev ``

  1. The server will be available at http://localhost:8787 (Wrangler's default port, as configured in wrangler-DEV.jsonc) and will bypass OAuth, using the VANTAGE_MCP_TOKEN for authentication instead.

> 📝 Note: Setting VANTAGE_MCP_TOKEN enables direct token mode, which bypasses OAuth entirely. This is useful for local development or for MCP clients without OAuth support or the ability to pass headers.

Running Evals

New tools must ship with an eval file under evals/.eval.ts (or evals//.eval.ts). Evals drive natural-language prompts against the registered tool to verify the description + zod schema are good enough for a model to find and call it. Most existing tools predate evals — do not backfill unless asked. See .agents/skills/writing-evals/SKILL.md for the full eval guide (tool authoring: .agents/skills/writing-mcp-tools/SKILL.md).

Results are persisted to evals/evalite.db (a SQLite file committed to the repo as a shared baseline). Evals are not run in CI — they are a local/PR discipline. The workflow when adding or changing a tool:

  1. Write or update evals//.eval.ts.
  2. Run only that file — npm run eval -- ./evals//.eval.ts. Other tools' evals are not re-executed, so their existing rows in the db stay untouched.
  3. Commit the updated evals/evalite.db alongside the tool change. The created_at columns serve as an audit trail for when each eval last ran versus when its underlying tool last changed.

npm run eval with no path runs every eval file and appends rows for all of them — useful when intentionally refreshing the whole baseline, not for everyday development.

Browsing Eval Results

The live UI for the committed evalite.db is published to GitHub Pages at . The site rebuilds automatically on every push to main that touches evals/evalite.db (see .github/workflows/deploy-eval-results.yml).

To browse results locally without publishing:

npm run eval:export
open ./evalite-export/index.html

This produces a static bundle from the current state of evals/evalite.db and does not re-execute any evals. The evalite-export/ directory is gitignored.

Available Scripts

  • npm run dev - Start development server with Wrangler DEV config
  • npm run local - Run local stdio MCP server (uses tsx for TypeScript support)
  • npm run --silent local - Run local MCP server with reduced output (recommended for development)
  • npm run inspect - Launch MCP inspector tool
  • npm run format - Format code using Biome
  • npm run lint:fix - Lint and auto-fix issues with Biome
  • npm run type-check - Run TypeScript type checking
  • npm run cf-typegen - Generate Cloudflare Worker types
  • npm run generate-tools-index - Generate tools index after adding/removing tools
  • npm run eval - Run all evals (use npm run eval -- ./evals/ to filter to one file)
  • npm run eval:dev - Run evalite in watch mode with UI on localhost:3006
  • npm run eval:export - Build a static HTML bundle of the current evalite.db under ./evalite-export/ (no re-execution)

Public Assets

The /public folder is publicly accessible. Any file like /public/asset.gif is accessible as /asset.gif when running locally or on Cloudflare.

Contribution Guidelines

If you'd like to contribute to this project:

  1. Fork this repository.
  2. Create a new branch: git checkout -b feature/my-feature.
  3. Make your changes.
  4. Ensure your code is formatted and builds cleanly:

``bash npm run format npm run lint:fix npm run type-check ``

  1. Submit a pull request.

We welcome community contributions, improvements, and bug fixes.

License

See the LICENSE.md file for commercial and non-commercial licensing details.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.