Skip to main content
Glama
flightlesstux

token-saver

token-saver

MCP plugin that alerts you when AI token usage is wasteful. Works with Claude Code, Cursor, Windsurf, Zed, Continue.dev — any MCP-compatible client, any model. Fires warnings, errors, and alerts on large outputs, verbose logs, and repetitive history. Auto-suppresses noise to keep your context lean.

CI npm version License: MIT Node.js


Overview

In agentic coding sessions, AI model responses often contain massive log outputs, repeated tool results, or near-duplicate history entries — all of which are re-sent on every turn, burning tokens. token-saver monitors every output and tells you when something is wasteful, so you can suppress it before it poisons your context window.

Works with any MCP-compatible client: Claude Code, Cursor, Windsurf, Zed, Continue.dev, and any other tool that speaks the Model Context Protocol. No dependency on any specific AI provider or API — token-saver analyzes plain text and is model-agnostic by design.

Core value proposition: Most token waste in long AI sessions comes from outputs nobody actually reads — stack traces, verbose logs, repeated file contents. token-saver catches these early and tells you exactly why and how much you're wasting.


Related MCP server: nikhilnt

How it works

Your AI model output (Claude, GPT, Gemini, or any other)
        │
        ▼
  check_output          ← estimates tokens, detects log/noise patterns
        │
        ▼
  alert level           ← info / warning / error / alert
        │
        ▼
  shouldSuppress        ← true if output matches suppression criteria
        │
        ▼
  get_session_stats     ← cumulative waste report for the session

Installation

Three ways — pick what suits you:

Option A — npx (no install, always latest)

No global install needed. Add directly to your MCP client config:

{
  "mcpServers": {
    "token-saver-mcp": {
      "command": "npx",
      "args": ["-y", "token-saver-mcp"]
    }
  }
}

Option B — npm global

npm install -g token-saver-mcp

Then add to your MCP client config:

{
  "mcpServers": {
    "token-saver-mcp": {
      "command": "token-saver-mcp"
    }
  }
}

Option C — install directly from GitHub

npm install -g github:flightlesstux/token-saver

Same config as Option B. Works without a build step — compiled output is included in the repo.


Tools

Tool

Description

set_mode

Switch mode: off (default, silent) · monitor (analyze only) · active (full suppression). Start here.

check_output

Analyze a text output. Returns alert level, token count, suppression flag, and detected patterns.

analyze_history

Scan a messages array for near-duplicates and ignored log outputs. Returns suggested truncation and savings estimate.

get_session_stats

Cumulative session statistics: tokens analyzed, suppressed, saved, and alert counts.

reset_session_stats

Reset session statistics to zero.

set_thresholds

Override warning/error/alert token thresholds and suppression flags for the current session.


Example usage

1. Enable the plugin (off by default)

{ "name": "set_mode", "arguments": { "mode": "active" } }
{ "mode": "active" }

2. Check a suspicious output

{ "name": "check_output", "arguments": { "text": "[INFO] server started\n[DEBUG] connection ok\n[TRACE] request received\n..." } }
{
  "alertLevel": "warning",
  "tokens": 87,
  "outputType": "log",
  "shouldSuppress": true,
  "reason": "Output matches log/noise patterns and will be suppressed",
  "detectedPatterns": [
    { "pattern": "\\[INFO\\]", "matchCount": 5, "description": "Log pattern matched 5 times" },
    { "pattern": "\\[DEBUG\\]", "matchCount": 5, "description": "Log pattern matched 5 times" }
  ]
}

3. Scan conversation history for waste

{ "name": "analyze_history", "arguments": { "messages": [ ...your messages array... ] } }
{
  "totalMessages": 6,
  "totalTokens": 114,
  "repetitiveMessages": [
    { "index": 2, "role": "user", "tokens": 19, "reason": "Near-duplicate of message 0" },
    { "index": 4, "role": "user", "tokens": 19, "reason": "Near-duplicate of message 0" }
  ],
  "suggestedTruncation": 2,
  "estimatedTokenSavings": 38,
  "alertLevel": "alert"
}

4. Session summary

{ "name": "get_session_stats", "arguments": {} }
{
  "turns": 5,
  "totalTokensAnalyzed": 1416,
  "totalTokensSuppressed": 201,
  "warningsFired": 2,
  "errorsFired": 0,
  "alertsFired": 1,
  "tokensSaved": 201
}

Proof test output

Run python3 test_live.py to verify the full mode/suppression/history flow locally:

============================================================
TOKEN-SAVER PROOF TEST
============================================================

[1] Default mode (off) — all analysis skipped
  [check_output] mode=off skipped=true
  [PASS] mode=off correctly skips analysis

[2] Switch to monitor mode
  [PASS] mode switched to monitor

[3] Short normal output → info
  [check_output] level=info tokens=3 suppress=False
    reason: Output is within normal bounds
  [PASS] info level, no suppression

[4] Large output (>1000 tokens) → warning or higher
  [check_output] level=warning tokens=1125 suppress=False
    reason: Output exceeds warning threshold (1125 tokens >= 1000)
  [PASS] warning level fired at 1125 tokens

[5] Log output in monitor mode → detected, not suppressed
  [check_output] level=info tokens=87 suppress=False
    patterns: 3 matched
  [PASS] patterns detected, suppression=false (monitor mode)

[6] Switch to active mode
  [PASS] mode switched to active

[7] Log output in active mode → suppressed
  [check_output] level=warning tokens=87 suppress=True
    reason: Output matches log/noise patterns and will be suppressed
  [PASS] suppressed 87 log tokens

[8] Repetitive history → alert
  totalMessages=6 totalTokens=114
  repetitive=5 savings=95 level=alert
  [PASS] 95 tokens saveable from repetitive history

[9] Session stats
  turns=5 analyzed=1416 suppressed=201 warnings=2 alerts=1
  [PASS] 201 tokens suppressed this session

============================================================
PROOF SUMMARY
============================================================
  Tokens suppressed this session : 201
  Turns analyzed                 : 5
  Warnings fired                 : 2
  Alerts fired                   : 1

  Overall: ALL CHECKS PASSED
============================================================

Alert levels

Level

Trigger

info

Output is within normal bounds (<1000 tokens, no noise patterns)

warning

Output exceeds 1000 tokens OR matches log/noise patterns

error

Output exceeds 5000 tokens

alert

Output exceeds 10000 tokens OR repetitive ignored messages exceed inactivity threshold


Configuration

Optional .token-saver.json in your project root:

{
  "warningThresholdTokens": 1000,
  "errorThresholdTokens": 5000,
  "alertThresholdTokens": 10000,
  "suppressLogs": true,
  "suppressRepetitiveHistory": true,
  "logPatterns": [
    "\\[INFO\\]", "\\[DEBUG\\]", "\\[TRACE\\]"
  ],
  "inactivityTurnsBeforeAlert": 3
}

All fields are optional — defaults work well for most projects.


Requirements

  • Node.js >= 24

  • Any MCP-compatible AI client


FAQ

Does it work with non-Claude models and clients? Yes. token-saver has zero dependency on any AI provider or API. It analyzes plain text — Claude, GPT-4, Gemini, Mistral, Llama, whatever. Works with any MCP-compatible client: Claude Code, Cursor, Windsurf, Zed, Continue.dev.

Why is the default mode "off"? Intentional. Install it, verify it's there, then turn it on when you're ready. set_mode("monitor") to observe first, set_mode("active") for full suppression. Your MCP client (Claude) calls this for you when you ask — you don't touch JSON directly.

What's the difference between monitor and active mode? monitor — analyzes and reports waste, never suppresses. active — full mode, sets shouldSuppress: true on matching outputs so your client can skip feeding noise back into context.

Does it actually block or delete anything? No. It sets shouldSuppress: true on noisy outputs and explains why — but never intercepts or modifies any API call. Your client decides what to do with the signal.

How does token counting work? Fast heuristic: ~4 characters per token (English/code average). Not the exact tokenizer — that would add latency. Accurate enough to catch waste at scale.

What's the difference between warning, error, and alert? info — normal output. warning — over 1,000 tokens or log patterns detected. error — over 5,000 tokens. alert — over 10,000 tokens or repetitive ignored history detected.

Can I add custom log patterns? Yes. Add a logPatterns array to .token-saver.json with regex strings. Merged with built-in patterns.

Does it send data anywhere? No. Everything runs locally in memory. No telemetry. Stats evaporate when the MCP server stops. See PRIVACY.md.

Is it free? MIT license. Free forever. No SaaS, no subscription.


Contributing

Contributions are welcome — new detection heuristics, better suppression logic, benchmark improvements, and docs.

Read CONTRIBUTING.md before opening a PR. All commits must follow Conventional Commits. The CI pipeline enforces typechecking, linting, testing, and coverage on every PR.


License

MITflightlesstux.github.io/token-saver

Available Tools

6 tools
analyze_historyA

Analyze a conversation messages array for repetitive or ignored content. Identifies near-duplicate messages and large log-pattern outputs the user likely skipped. Returns suggested truncation count and estimated token savings.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxTurnsNoOptional: only analyze the last N messages.
messagesYesConversation messages array ({ role, content } pairs).

Output Schema

ParametersJSON Schema
NameRequiredDescription
alertLevelNo
totalTokensNo
totalMessagesNo
repetitiveMessagesNo
suggestedTruncationNo
estimatedTokenSavingsNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses that it identifies near-duplicates and large log-pattern outputs, and returns truncation suggestions. However, it lacks explicit mention of side effects or read-only nature. No annotations are present, so the description carries the full burden but only partly fulfills it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the main purpose. Each sentence adds value with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers purpose, analysis details, and return values. Output schema exists to supplement return structure. Minor gaps (e.g., error conditions) but acceptable for a read-only analysis tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers both parameters with clear descriptions (messages array and optional maxTurns). Tool description does not add further meaning beyond the schema, but schema coverage is 100%, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's function: analyzing conversation messages for repetitive/ignored content. It specifies the resource (conversation messages array) and the action. It distinguishes itself from sibling tools that handle stats or settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description implies use for context management but does not provide exclusions or compare to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_outputA

Analyze a text output from a Claude API response. Returns an alert level (info/warning/error/alert), token count, whether the output should be suppressed, and detected waste patterns. Use after every API response to catch token-heavy or ignored output early.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe text content to analyze.
typeNoOptional hint about the output type.

Output Schema

ParametersJSON Schema
NameRequiredDescription
reasonNo
tokensNo
alertLevelNo
outputTypeNo
shouldSuppressNo
detectedPatternsNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses what the tool returns (alert level, token count, etc.) but lacks information about side effects, such as whether the analysis is purely read-only or if it logs/store results. The description implies a safe query operation but could be more explicit about non-destructiveness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose and return values, followed by usage guidance. Every sentence adds value without redundancy. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (analyze a single text), the presence of an output schema (not shown but indicated), and full parameter coverage, the description sufficiently covers the tool's function. It tells the agent what it does, when to use it, and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters (text and type) described in the schema. The description does not add additional semantic detail beyond the schema; it mainly explains the output. For a tool with full schema coverage, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: analyzing text output from Claude API responses. It specifies the return fields (alert level, token count, suppression flag, waste patterns) and uses a specific verb ('analyze'). The tool is distinct from siblings like analyze_history, which deals with history rather than a single output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using this tool 'after every API response' to catch issues early. It implies when to use it, but does not explicitly mention when not to use it or provide alternative tools. However, given the sibling list, the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_session_statsA

Return cumulative session statistics: total tokens analyzed, tokens suppressed, and counts of warnings/errors/alerts fired. Use to understand overall waste in the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
turnsNo
alertsFiredNo
errorsFiredNo
tokensSavedNo
warningsFiredNo
totalTokensAnalyzedNo
totalTokensSuppressedNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully bears the burden of disclosing behavior. It accurately describes the tool as returning cumulative statistics (no side effects) and lists the returned data fields. This is complete and transparent for a read-only, zero-parameter tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste. The first sentence states the action and output; the second gives a usage recommendation. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, the description is complete. It covers the return content and use case. The output schema exists to provide structure, so the description does not need to duplicate that information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema coverage. The description adds value by explaining the meaning and purpose of the return values (e.g., 'total tokens analyzed' and 'warnings/errors/alerts'), which aids the agent in understanding the output beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns cumulative session statistics, listing specific data points (tokens analyzed, suppressed, warning/error/alert counts). It is distinguished from sibling tools that reset stats (reset_session_stats) or configure settings (set_mode, set_thresholds), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using the tool to 'understand overall waste in the current session,' providing a clear use case. While it does not address when not to use it or mention alternatives, the guidance is sufficient for most scenarios, especially given the sibling tools' distinct purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reset_session_statsA

Reset all session statistics to zero.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resetNo

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the action (reset to zero) without mentioning whether the operation is irreversible, requires special permissions, or affects other data. This is insufficient for a destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It front-loads the key action and resource, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 params, output schema exists), the description is largely complete. However, it lacks any advisory context about when to perform a reset or potential consequences, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (empty). The description adds no parameter info because none exist, meeting the baseline for 0 parameters. It could hint at no-configuration needed, but not essential.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb 'Reset' and specifies the resource 'all session statistics' to a target state 'zero'. This clearly distinguishes it from sibling tools like get_session_stats (reading) or set_mode (changing modes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or side effects. Without such context, an AI agent must infer usage entirely from the name and sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_modeA

Switch the plugin mode. "off" (default) — plugin is silent, all analysis is skipped. "monitor" — analyze and report but never suppress. "active" — full analysis with suppression. Returns the applied mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes"off" disables all analysis. "monitor" reports without suppressing. "active" enables full suppression.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the static description, the tool explains the behavioral impacts of each mode (silent, report-only, full suppression) and confirms the return value, which is helpful since no annotations are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter structure and presence of an output schema, the description sufficiently covers the tool's behavior and return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter schema covers the enum values fully; the description repeats similar info but adds slight context (e.g., 'plugin is silent'). With 100% schema coverage, baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool switches the plugin mode and lists the three modes with their effects, distinguishing it from sibling tools that handle analysis, stats, or thresholds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly conveys when to use the tool (to change mode), but offers no explicit guidance on when to prefer it over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_thresholdsB

Override alert thresholds for the current session. All values are in estimated tokens. Returns the applied configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
alertNoToken count that triggers an alert.
errorNoToken count that triggers an error.
warningNoToken count that triggers a warning.
suppressLogsNoWhether to suppress log-pattern outputs.
suppressRepetitiveHistoryNoWhether to flag repetitive history messages.

Output Schema

ParametersJSON Schema
NameRequiredDescription
appliedNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states 'override' and 'returns applied configuration,' but lacks details on side effects (e.g., whether changes persist across sessions, whether it resets existing thresholds not mentioned, or permissions needed). The description adds minimal behavioral context beyond what is obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences covering purpose, unit, and return value. No wasted words. Front-loaded with the action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for the boolean parameters (suppressLogs, suppressRepetitiveHistory) which are not 'thresholds' in token sense. Lacks explanation of session scoping or persistence. With no output schema shown but known to exist, return value is covered, but behavioral gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. The description adds that all values are in estimated tokens, but this is already implied by schema ('Token count'). It does not add meaningful new information about parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Override' with a clear resource 'alert thresholds' and adds context ('current session', 'estimated tokens'). It distinguishes from siblings like set_mode or get_session_stats by focusing on thresholds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives (e.g., set_mode). The description does not mention prerequisites, when-not-to-use, or provide exclusion criteria. Usage context is only broadly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.1
    • First observedanalyze_history
    • First observedcheck_output
    • First observedget_session_stats
    • First observedreset_session_stats
    • First observedset_mode
    • First observedset_thresholds

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct aspect of token analysis and suppression: conversation history analysis, single output check, session statistics, reset, mode switching, and threshold configuration. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_history, check_output, set_mode), making them predictable and easy to understand.

Tool Count5/5

With 6 tools, the server is well-scoped for its domain. Each tool serves a necessary function without redundancy or missing core operations.

Completeness5/5

The tool set covers all essential operations: analysis, monitoring, statistics, configuration, and reset. There are no obvious gaps for the stated purpose of token waste detection and suppression.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flightlesstux/token-saver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server