Back to Directory/Developer Tools

io.github.andreisirbu91-lab/mcpspend

Query your MCPSpend usage: cost today, top tools, recent sessions, budget projections.

Developer ToolsTypeScriptv0.2.1

MCPSpend

Know what your AI agents really cost. Real-time cost tracking for every MCP tool call across Cursor, Claude Desktop, Windsurf, and VS Code.

smithery badge npm version Open VSX license MCPSpend MCP server

mcpspend.com · Smithery · npm · Open VSX · Glama


One-command install

npx --yes @mcpspend/proxy@latest init --key mcps_live_xxx

Auto-detects Claude Desktop, Cursor, Windsurf, VS Code (user + workspace), and Claude Code (user + project). Wraps every configured MCP server, leaves a .mcpspend.bak backup, and starts streaming usage to your dashboard at mcpspend.com.

Free tier: 25,000 tool calls/month, no credit card.

What's in this monorepo

PackageWhat it is
packages/proxy@mcpspend/proxy — the stdio observability proxy + wrap-http bridge for remote MCP servers. Published on npm.
packages/mcp-server@mcpspend/mcp-server — query your MCPSpend usage from inside any MCP client. Published on npm + Smithery.
packages/vscode-extensionmcpspend-vscode — IDE extension for Cursor, Windsurf, and VS Code. Published on Open VSX.
apps/apiExpress + Prisma + Postgres + BullMQ. The ingest endpoint, billing, and the new /api/mcp HTTP MCP server.
apps/dashboardNext.js dashboard at mcpspend.com.

Three ways to query your usage

Use caseHow
Web dashboardmcpspend.com/dashboard — overview, top tools, sessions, CSV export.
From any MCP client (stdio)Add @mcpspend/mcp-server to your client config — agent gains tools like get_today_cost, list_top_tools.
From any MCP client (HTTP)Point your client at https://api.mcpspend.com/api/mcp with Authorization: Bearer mcps_live_….

Pricing

PlanCalls/monthMonthlyYearly
Free25,000$0$0
Pro1,000,000$29$290 (2 months free)
Team10,000,000$99$990
Enterpriseunlimited$499$4,990

Every paid plan: 30–90 day retention, CSV/Slack export, budget alerts, role-based access.

Privacy

The proxy reports: tool name, server name, model, latency, success, approximate input/output sizes (tokens, derived from JSON length). It does not send the actual tool arguments or response bodies to MCPSpend. See Privacy Policy for the full sub-processor list (Stripe + Resend + Hostinger, all EU-hosted) and your GDPR rights.

Security

For automated scanners flagging this repo: the proxy uses child_process.spawn to wrap the user's own MCP server — that's the whole point of an observability proxy. The spawn args come from the user's local MCP-client config (Claude Desktop / Cursor / Windsurf / VS Code), never from network input. No RCE path, no privilege escalation, no arbitrary command execution. Full threat model in SECURITY.md.

  • API keys stored as SHA-256 hashes (never plaintext on the server)
  • Passwords bcrypt cost 12
  • Secrets at rest AES-256-GCM (APP_ENCRYPTION_KEY)
  • Transport HTTPS only, HSTS enabled, helmet CSP headers
  • No tool arguments or responses ever leave the user's machine
  • Per-tenant isolation every query scopes by organizationId
  • GDPR Art. 15 / 17 / 20 self-serve at mcpspend.com/dashboard/account/privacy
  • EU-hosted (Hostinger EU region)
  • SOC 2 Type I in progress with Vanta (Q4 2026)
  • DPA available for Enterprise customers

Report vulnerabilities: security@mcpspend.com · Machine-readable disclosure: https://mcpspend.com/.well-known/security.txt · Full policy: SECURITY.md · Live posture: https://mcpspend.com/security

Support the project

If MCPSpend saves you money or you just want to keep the proxy MIT and the free tier alive, you can sponsor any amount via Stripe — no account required:

💖 buy.stripe.com/00w8wPbUxe1qgK36CRbbG06

Every dollar goes back into hosting, security audits, and shipping features.

License

MIT. Use it, fork it, run it self-hosted.

© NewRzs SRL · CUI RO48756557 · Bucharest, Romania · support@mcpspend.com

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @mcpspend/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-andreisirbu91-lab-mcpspend": {
      "command": "npx",
      "args": [
        "-y",
        "@mcpspend/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@mcpspend/mcp-servernpm

Compatible MCP Clients

io.github.andreisirbu91-lab/mcpspend works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More