spendtron

io.github.swantronPublished by GitHub account swantronv1.1.0Updated Nov 2, 2026

Finds the GitHub Actions workflow eating your CI bill and suggests fix diffs, verified against runs.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Read-only MCP server that ranks a GitHub org's Actions workflows and repos by real compute cost and suggests fix diffs.

What you can do
  • Rank GitHub Actions workflows and repositories by real compute cost for your org
  • Get pasteable fix diffs, such as adding caching or timeout-minutes, confirmed against actual run timing
  • See a free cost ranking and one confirmed fix diff on every call
When to use it
Useful when CI spend on GitHub Actions is high or unclear and you want to know which workflow or repo drives the bill, and get concrete workflow changes to cut it, without opening a separate dashboard.
Requirements
Remote endpoint at spendtron.com over streamable HTTP. Requires a bearer token in the Authorization header (a spendtron API key, shown once after installing the GitHub App) and a connected GitHub App with read-only Actions, Contents and Metadata permissions.
Before you install
The API key is a secret passed in the Authorization header. The cost ranking and one fix diff are free, but unlocking the full fix list is a one-time $39 Stripe payment. The service reads your org's Actions runs and repository contents through the GitHub App, so that data goes to a third party.

Installation

In SourceWeft

  1. Open spendtron in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.swantron%2Fspendtron/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "spendtron": {
      "type": "http",
      "url": "https://spendtron.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

spendtron

A read-only tool that finds which GitHub Actions workflow is eating your CI bill, ranks workflows and repos by real compute cost, and suggests pasteable fix diffs (missing cache, missing timeout-minutes) confirmed against real run timing — not estimates.

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 + Contents + Metadata) plus a spendtron API key, passed as a bearer token. The cost ranking and one confirmed fix diff are free on every call. Unlocking the full fix list is a one-time $39 payment via Stripe — not a subscription.

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, Contents: 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 one-time Stripe Price (not recurring) for the fix-diff unlock; put its ID in STRIPE_UNLOCK_PRICE_ID. Point a Stripe webhook at /stripe/webhook for checkout.session.completed. (STRIPE_PRICE_ID and the Customer Portal are legacy from an earlier $99/mo model — no longer wired into any live checkout flow.)
  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).

Source: README.md at commit ba555b4

Tools

1

check_actions_cost

Audit GitHub Actions cost

Ranks your GitHub org's Actions workflows and repos by real compute cost, using your account's spendtron connection (no arguments needed — identified by your API key).

Takes no parameters.

Version history

2
  1. v1.1.0LatestSep 24, 2026
  2. v1.0.0Sep 22, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts