Repository navigation
Releases
v0.2.0
toolbloat is now a GitHub Action: keep the token cost of your MCP stack, or of the MCP server you maintain, under a budget on every pull request. No model calls, no keys.
- uses: actions/checkout@v7
- uses: diegoperezg7/toolbloat@v0.2.0
with:
config: .mcp.json
max-tokens: "8000"The job summary shows tokens per server and in total; the job fails when the total is over max-tokens. On the six MCP reference servers of the demo the total is 6,064 tokens.
Added
- GitHub Action (
action.yml). toolbloat tokens --max-tokens N: exit code 2 when over budget, 1 when a server could not be measured.toolbloat tokens --markdown FILE: append a Markdown summary.
Install
uvx --from git+https://github.com/diegoperezg7/toolbloat@v0.2.0 toolbloat tokens --config .mcp.jsontoolbloat v0.1.1
- Privacy prompt: before sending tool definitions or test requests to a cloud provider,
toolbloat runandtoolbloat intentslist every server that will be sent, the config file it came from (or--server), its command and the provider, and ask for confirmation. Without an interactive terminal they refuse unless--yesis passed. - Locale-aware numbers in the HTML report: numbers, percentages and amounts follow the active language (English
6,064/$2.73, Spanish6.064/2,73 US$).
The recorded demo data is unchanged (toolbloat 0.1.0 run of 2026-11-03).
uvx --from git+https://github.com/diegoperezg7/toolbloat@v0.1.1 toolbloat demo --open
Example report: https://diegoperezg7.github.io/toolbloat/
toolbloat v0.1.0
First release.
toolbloat starts the MCP servers in your .mcp.json, Cursor or Claude Desktop config, counts the tokens their tool definitions add to every turn, and asks each model which tool it would call for realistic requests, with only the tool's own server loaded and with the whole stack. Tools are never executed.
toolbloat demo: recorded real run on six MCP reference servers, no keys neededtoolbloat tokens: token cost per tool and server, no model callstoolbloat intents: write and review the test requests (editable YAML)toolbloat run: accuracy alone vs. stacked, requests broken by stacking, cross-server confusion matrix, argument validity, never-chosen tools, monthly token and cost projection- Ollama, Mistral, OpenRouter, OpenAI;
--max-costbudget; resumable call cache - Static HTML report (English/Spanish, light/dark, mobile)
Install from this tag until it is on PyPI:
uvx --from git+https://github.com/diegoperezg7/toolbloat@v0.1.0 toolbloat demo --open
Example report: https://diegoperezg7.github.io/toolbloat/