About spendtron
spendtron is a read-only MCP service for finding costly GitHub Actions workflows and repositories. It ranks actual compute costs and proposes fix diffs verified against run timings.
Key features
- 01Rank workflow and repository compute costs
- 02Identify costly GitHub Actions workflows
- 03Suggest fixes for caching and timeouts
- 04Verify suggestions against run timings
Use cases
- 01Find workflows driving CI costs
- 02Prioritize repositories for CI optimization
- 03Review actionable fixes based on run data
MCP support
Exposes the `check_actions_cost` tool to MCP clients. Access uses a GitHub App with read-only permissions and a spendtron API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://spendtron.com/mcpclaude mcp add --transport http swantron-spendtron https://spendtron.com/mcp{"mcpServers":{"swantron-spendtron":{"type":"http","url":"https://spendtron.com/mcp"}}}Open in Cursor{"servers":{"swantron-spendtron":{"type":"http","url":"https://spendtron.com/mcp"}}}Open in VS Code{"mcpServers":{"swantron-spendtron":{"type":"http","url":"https://spendtron.com/mcp"}}}{"mcpServers":{"swantron-spendtron":{"serverUrl":"https://spendtron.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://spendtron.com/mcpAuth requiredTools
1This tool takes no parameters.
Details
From the project READMEspendtron
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
- Copy
.env.exampleto.env.local(or set these in Cloud Run's Secret Manager for prod). - 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. - Create a Neon Postgres database, run
db/schema.sqlagainst it. - 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/webhookforcheckout.session.completed. (STRIPE_PRICE_IDand the Customer Portal are legacy from an earlier $99/mo model — no longer wired into any live checkout flow.) - Map both
spendtron.comandwww.spendtron.comto the Cloud Run service (www should CNAME toghs.googlehosted.comat Squarespace). The app 301s www → apex. - Privacy / terms for Stripe:
https://spendtron.com/privacyandhttps://spendtron.com/terms. 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).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.