JT

jackandjac/token-saver-mcp-java

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

22 stars 0 forks Качество 61 Тренд 18

MCP-сервер, который делегирует простые задачи Claude Code / Codex / Wibey локальному LLM через langchain4j и langgraph4j.

Обзор

Сервер MCP, который позволяет Claude Code / Codex / Wibey (или любому MCP-совместимому агенту кодирования) делегировать простые, хорошо проработанные задачи вашему локальному LLM - фрагменты кода, изолированные рефакторы, документация, обзоры кода, базовые вопросы и ответы - поэтому вы тратите премиальные токены на координацию и архитектуру, а не на работу, которую уже может выполнять локальная модель. Это полное переписывание в Java на langchain4j (локальный LLM-клиент), langgraph4j (оркестрация) и официальный MCP Java SDK (stdio-сервер). За оригинальную идею и прототип Python/FastMCP следует csabakecskemeti/cc token saver mcp — этот проект основан на этой концепции с графовым потоком классификации/делегатирования/эскалации, считыванием файлов на стороне сервера, тайм-аутами и исправными ошибками. Сервер предоставляет два инструмента MCP — query local llm и query local llm with context — которые Клод Код проинструктировал сначала попробовать для простых подзадач.

Обзор (машинный перевод)

Сервер MCP, который позволяет Claude Code / Codex / Wibey (или любому MCP-совместимому агенту кодирования) делегировать простые, хорошо проработанные задачи вашему локальному LLM - фрагменты кода, изолированные рефакторы, документация, обзоры кода, базовые вопросы и ответы - поэтому вы тратите премиальные токены на координацию и архитектуру, а не на работу, которую уже может выполнять локальная модель.

Это полное переписывание в Java на langchain4j (локальный LLM-клиент), langgraph4j (оркестрация) и официальный MCP Java SDK (stdio-сервер).

За оригинальную идею и прототип Python/FastMCP следует csabakecskemeti/cc token saver mcp — этот проект основан на этой концепции с графовым потоком классификации/делегатирования/эскалации, считыванием файлов на стороне сервера, тайм-аутами и исправными ошибками.

Как это работает

Сервер предоставляет два инструмента MCP — query_local_llm и query_local_llm_with_context — которые Клод Код должен попробовать сначала для простых подзадач. Каждый звонок проходит через небольшой граф langgraph4j, а не просто перенаправляется прямо на модель.

[[Т2]] делает дешевый, низкотемпературный звонок в местную модель, чтобы судить, достаточно ли проста для этого задача. Если нет, escalate возвращает структурированный 'ESCALATE:.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Token Saver MCP Java

An MCP server that lets Claude Code / Codex / Wibey (or any MCP-compliant coding agent) delegate simple, well-scoped tasks to your local LLM — code snippets, isolated refactors, documentation, code reviews, basic Q&A — so you spend premium tokens on coordination and architecture, not on work a local model can already do.

This is a complete rewrite in Java on langchain4j (local LLM client), langgraph4j (orchestration), and the official MCP Java SDK (stdio server).

Credit for the original idea and the Python/FastMCP prototype goes to csabakecskemeti/cc_token_saver_mcp — this project builds on that concept with a graph-based classify/delegate/escalate flow, server-side file reading, timeouts, and actionable errors.

How it works

The server exposes two MCP tools — query_local_llm and query_local_llm_with_context — that Claude Code is instructed to try first for simple subtasks. Every call runs through a small langgraph4j graph instead of just forwarding straight to the model:

START -> classify -> delegate -> END   (task judged within the local model's competence)
                  \-> escalate -> END  (task judged too complex; local LLM never called)

classify makes a cheap, low-temperature call to the local model to judge whether the task is actually simple enough for it. If not, escalate returns a structured ESCALATE: ... message telling Claude Code to handle the task itself — so a task that’s too complex for the local model comes back as a clear signal, not a low-quality answer.

Features

  • Server-side file reading. Both tools accept an optional file_paths array. The server reads the files itself and passes their content straight to the local LLM — Claude Code passes a path instead of Read()-ing the file into its own context first. This is where the real token savings on large files come from.
  • Bounded waits. Both tools accept an optional timeout_seconds (default from LOCAL_LLM_TIMEOUT_SECONDS), enforced with a hard timeout around the call so a stalled local backend can’t hang a tool call indefinitely.
  • Actionable errors. Backend failures (connection refused, unreachable host, timeout) come back as a clear message naming the configured URL and the next step — e.g. “Local LLM backend unreachable at http://127.0.0.1:8000/v1. Check that it’s running…” — with isError: true set correctly, instead of a raw exception string.
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

"mcpServers": { "token-saver": { "type": "stdio", "command": "java", "args": ["-jar", "<path>/token-saver-mcp-java/target/token-saver-mcp-java.jar"] } }