Skip to main content
Glama

tokens-saver-mcp

A provider-agnostic MCP (Model Context Protocol) server that routes 7 narrow text-processing tools to budget models — local or cloud — to reduce main model token consumption.

Core idea: offload low-risk, structured, short-output sub-tasks (classification, extraction, summarization, rewriting, small code generation) to cheaper models, keeping complex reasoning and high-risk changes on Claude/GPT.

Tools

Tool

Purpose

tsm_classify

Classify text into a given label set

tsm_extract_json

Extract structured fields from long text

tsm_summarize

Compress long text to a short summary

tsm_rewrite

Rewrite text in a different style (or translate zh↔en)

tsm_codegen_small_patch

Generate small code snippets / function-level patches

tsm_diff_digest

Compress a git diff into a structured change summary

tsm_task_extract

Extract actionable tasks from unstructured text

All tools return both human-readable content and machine-consumable structuredContent.

Related MCP server: PlanckBot

Requirements

  • Node.js >= 20

  • A running provider (local model or cloud API with OpenAI-compatible endpoint)

Setup

npm install
npm run build

Create ~/.tokens-saver-mcp/settings.json to configure providers (see below).
If the file does not exist, the server falls back to a built-in default pointing at http://127.0.0.1:1234 with zai-org/glm-4.7-flash.

Configuration

~/.tokens-saver-mcp/settings.json

{
  "defaultProvider": "remote_budget_cn",
  "providers": {
    "local": {
      "type": "openai_compatible",
      "baseUrl": "http://127.0.0.1:11434/v1",
      "apiKeyEnv": "",
      "model": "qwen2.5:14b",
      "timeoutMs": 15000,
      "maxRetries": 1,
      "temperature": 0.1
    },
    "remote_budget_cn": {
      "type": "openai_compatible",
      "baseUrl": "https://api.minimax.chat/compatible-mode/v1",
      "apiKeyEnv": "MINIMAX_API_KEY",
      "model": "MiniMax-M2.7",
      "timeoutMs": 20000,
      "maxRetries": 2,
      "temperature": 0.2
    }
  },
  "toolRouting": {
    "tsm_classify": "local",
    "tsm_extract_json": "remote_budget_cn",
    "tsm_summarize": "remote_budget_cn",
    "tsm_rewrite": "remote_budget_cn",
    "tsm_codegen_small_patch": "remote_budget_cn",
    "tsm_diff_digest": "remote_budget_cn",
    "tsm_task_extract": "local"
  }
}

Key rules:

  • API keys are never stored in the config file. Set apiKeyEnv to the environment variable name that holds the key.

  • For local providers with no auth, set apiKeyEnv to "".

  • toolRouting is optional — unrouted tools fall back to defaultProvider.

Usage

# Run as MCP server (stdio transport)
npm start

Claude Code integration

{
  "mcpServers": {
    "tokens-saver": {
      "command": "node",
      "args": ["/path/to/tokens-saver-mcp/dist/server.js"]
    }
  }
}

Development

npm test          # Run 61 tests
npm run typecheck # Type check only
npm run build     # Compile TypeScript
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/AndersHsueh/tokens-saver-mcp'

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