spendtron

MCP serverDev tools

Rank your GitHub org's Actions workflows by real compute cost. Read-only audit via GitHub App.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use spendtron

Install spendtron

The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http spendtron 'https://spendtron.com/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://spendtron.com/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=spendtron&config=eyJ1cmwiOiJodHRwczovL3NwZW5kdHJvbi5jb20vbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://spendtron.com/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add spendtron --url 'https://spendtron.com/mcp'

    Run it once, then sign in with codex mcp login spendtron if the server asks for an account.

From the project's README

As published by swantron/spendtron in README.md.

A read-only tool that finds which GitHub Actions workflow is eating your CI bill and ranks workflows and repos by real compute cost.

Delivered as an MCP server — call check_actions_cost from Claude, ChatGPT, or any MCP-compatible client, no dashboard required. Auth is a GitHub App (read-only: Actions + Metadata) plus a spendtron API key, passed as a bearer token. One free audit per connected org, then $99/mo via Stripe.

The underlying audit logic started as ~/code/ci-audit/actions-teardown.sh (bash + gh api) — lib/auditActions.js is the same algorithm, ported to run per-installation against many customers' orgs instead of one local gh-authenticated user.

Status

Real product, not a waitlist — see HANDOFF.md/FINDINGS.md/CARRD.md in ~/code/ci-audit for the history of how this got here (an earlier waitlist-and-post-to-Reddit attempt correctly got abandoned; the audit logic itself was always real).

The GitHub App must be public (GitHub → spendtron-app → Advanced → Make this GitHub App public) so anyone can hit Connect GitHub. That toggle lives in the GitHub UI, not this repo.

Setup

  1. Copy .env.example to .env.local (or set these in Cloud Run's Secret Manager for prod).
  2. Create a GitHub App at github.com/settings/apps/new — slug spendtron-app, permissions: Actions: Read-only, Metadata: Read-only. Callback URL: <your deployed host>/github/callback. Make the App public before sending customers to /github/install.
  3. Create a Neon Postgres database, run db/schema.sql against it.
  4. Create a Stripe Price for $99/mo; put its ID in STRIPE_PRICE_ID. Enable the Customer Portal. Point a Stripe webhook at /stripe/webhook for checkout.session.completed and customer.subscription.*.
  5. Map both spendtron.com and www.spendtron.com to the Cloud Run service (www should CNAME to ghs.googlehosted.com at Squarespace). The app 301s www → apex.
  6. Privacy / terms for Stripe: https://spendtron.com/privacy and https://spendtron.com/terms.
  7. npm install && npm start.

Test

npm test — covers the cost-math port (must match actions-teardown.sh's bash/awk exactly) and API-key auth, against a mocked GitHub client (no live credentials needed for these).

Advanced
Delivery
spendtron MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-swantron-spendtron
Source
github.com/swantron/spendtron
Hosted endpoint
https://spendtron.com/mcp