Skip to main content
Glama
adefemi-dev
by adefemi-dev

jCodeMunch MCP

Самый токен-эффективный MCP-сервер для точного извлечения исходного кода с помощью tree-sitter AST-парсинга. Сократите затраты на токены ИИ на 86–99% при исследовании кода (в среднем 96%, по бенчмарку в 27,9 раза меньше токенов, чем у агента с grep-and-read) и перестаньте сжигать свой контекстное окно, читая целые файлы.

Реальные результаты, прямо из продакшена Сэкономлено 838B+ токенов · 136 000+ установок с отчётами · Избежано $4,2 млн+ расходов на ИИ · Предотвращено 100 000+ кг CO₂ Показатели на 2026-08-17, оценены по ставке входа $5/MTok Claude Opus. Все четыре только растут, так что воспринимайте их как минимум. Актуально на jcodemunch.com.

Работает с Claude Code, Cursor, VS Code, Codex CLI, Windsurf, Continue и любым MCP-совместимым клиентом.

Установить сейчас · Быстрый старт · См. доказательства · Цены

PyPI version PyPI - Python Version License MCP Local-first Issues closed DOI

Бесплатно для личного использования. Используете для заработка — дядя Дж. получает свою долю. Справедливо? Коммерческие лицензии ниже. Наша гарантия: если jCodeMunch не окупается, вы не платите за jCodeMunch.


Зачем jCodeMunch?

Большинство ИИ-агентов исследуют репозитории дорогим способом: открывают целые файлы, просматривают тысячи нерелевантных строк, и так по кругу. Это не «немного неэффективно». Это инсинератор токенов.

jCodeMunch индексирует кодовую базу один раз и позволяет агентам получать только тот код, который им нужен: функции, классы, методы, константы, структуры и узко ограниченные контекстные пакеты с точностью до байта. Он парсит исходники с помощью tree-sitter, хранит структурированные метаданные символов (сигнатура, тип, полное имя, сводка, байтовые смещения) вместе с необработанным содержимым файлов в локальном индексе и по запросу извлекает точные реализации, а не перечитывает файлы снова и снова.

Задача

Традиционный подход

С jCodeMunch

Найти функцию

Открыть и просканировать большие файлы

Найти символ, получить точную реализацию

Понять модуль

Читать обширные участки файлов

Извлечь только нужные символы и импорты

Изучить структуру репозитория

Обходить файл за файлом

Запрашивать структуры, деревья и целевые пакеты

«Что сломается, если я изменю X?»

Невозможно

get_blast_radius

Индексируйте один раз. Запрашивайте дёшево. Продолжайте двигаться. Точный контекст побеждает грубый контекст.


Related MCP server: Symbol Delta Ledger

Доказательства

Воспроизводимый бенчмарк эффективности токенов

Измерено с помощью tiktoken cl100k_base на трёх публичных репозиториях, зафиксированных на апстрим-коммитах, запущено 2026-08-03 на v1.108.233. Рабочий процесс: search_symbols (топ-5) + get_symbol_source × 3 на запрос. Два базовых сценария, тот же запуск, тот же корпус, тот же файловый ридер:

  • Grep-top-3: rg -l по терминам запроса, ранжирование файлов по количеству совпадений, открытие топ-3 целиком. Это то, что на самом деле делает компетентный агент без инструмента, и именно эту цифру стоит цитировать.

  • Read-all: все проиндексированные исходные файлы, объединённые. Потолок, который никто не платит; сохранён для преемственности с ранее опубликованными цифрами.

Репозиторий

Файлы

Символы

Базовый сценарий Grep-top-3

jCodeMunch

против grep

против read-all

expressjs/express

182

200

15 724 в среднем

1 007 в среднем

15,6x

153,2x

fastapi/fastapi

1 182

6 841

85 296 в среднем

2 209 в среднем

38,6x

372,9x

gin-gonic/gin

98

1 179

31 975 в среднем

1 545 в среднем

20,7x

98,3x

Итого (15 задач-прогонов)

664 975

23 805

27,9x

237,3x

Против агента с grep-and-read: снижение на 96,4%, в 27,9 раза меньше токенов. Результаты на запрос варьируются от 7,3x до 84,3x (медиана 25,5x); ни одно кратное не описывает каждый запрос. Против read-all показатель составляет 99,6%, но этот потолок никто не платит. Компактная MUNCH сетевая кодировка затем урезает в среднем ещё 45,5% байтов ответов.

Полная методология, зафиксированные коммиты, тестовый стенд и известные ограничения: benchmarks/METHODOLOGY.md · Воспроизведите сами · TOKEN_SAVINGS.md

Независимый A/B-тест на продакшен-кодовой базе

50-итерационный A/B-тест на реальной продакшен-кодовой базе Vue 3 + Firebase, jCodeMunch против нативных инструментов (Grep/Glob/Read), Claude Sonnet 4.6, свежая сессия на каждую итерацию: успешность 80% против 72%, таймауты 32% против 40%, среднее время создания кэша снизилось на 10,5%. Экономия на уровне инструментов, изолированная от фиксированных накладных расходов: 15–25%. Одна категория находок появилась исключительно в варианте с jCodeMunch: обнаружение осиротевших файлов через find_importers — структурный запрос, который нативные инструменты не могут выполнить без скриптования. Полный отчёт: benchmarks/ab-test-naming-audit-2026-03-18.md

Упоминания

  • Artur Skowroński (VirtusLab): «примерно на 80% меньше токенов, или в 5 раз эффективнее — индексируйте один раз, запрашивайте дёшево навсегда» · GitHub All-Stars #15

  • Traci Lim (AWS · ASEAN AI Lead): «структурные запросы, на которые нативные инструменты не могут ответить: find_importers, get_blast_radius, get_class_hierarchy, find_dead_code» · 5 Repos That Save Token Usage in Claude Code

  • Julian Horsey (Geeky Gadgets): «3 850 токенов сокращены до всего 700 — улучшение в 5,5 раза» · JCodeMunch AI Token Saver

  • Eric Grill: «контекст — это дефицитный ресурс. Сократите его на 90% — и весь стек станет дешевле и надёжнее» · jCodemunch: Context Engine for AI Agents

Полная страница признания →


Установка

Установка в один клик

Install in VS Code Install in VS Code Insiders Install in Cursor

Рекомендуемый способ: одна команда

uv tool install jcodemunch-mcp
jcodemunch-mcp init

Не нужно управлять virtualenv, ничего не записывается в системный Python, и он работает как есть на дистрибутивах PEP 668 (Ubuntu 24.04+, Debian 12+), где обычный pip install отклоняется. Ещё нет uv?

init автоматически определяет ваши MCP-клиенты (Claude Code, Claude Desktop, Cursor, Windsurf, Continue), записывает их конфигурационные записи, устанавливает политику подсказок CLAUDE.md, чтобы ваш агент действительно использовал jCodeMunch, опционально устанавливает хуки принудительного применения, опционально индексирует ваш проект и проверяет файлы конфигурации агента на предмет потери токенов.

Команда

Используйте, когда

uvx jcodemunch-mcp

Нулевая установка. Запускается из эфемерного окружения — ничего не остаётся на диске навсегда. Записи клиентов, которые init записывает, уже вызывают сервер таким образом, так что для большинства настроек это всё, что когда-либо запускается. ⚠ Хуки принудительного применения — исключение: они запускаются из под-шелла с минимальным PATH и находят исполняемый файл по имени, поэтому им нужен uv tool install (или pipx/pip).

pipx install jcodemunch-mcp

Вы уже стандартизировали использование pipx

pip install jcodemunch-mcp

Внутри virtualenv, которым вы управляете сами

Проверка:

jcodemunch-mcp --version

Ручная настройка Claude Code

claude mcp add -s user jcodemunch -- uvx jcodemunch-mcp

Шаг установки не нужен — uvx загружает и запускает сервер по требованию. Предпочитаете его в PATH (и это требуется для хуков принудительного применения)? uv tool install jcodemunch-mcp, затем claude mcp add -s user jcodemunch jcodemunch-mcp.

Затем скажите агенту предпочитать эти инструменты. Это важнее, чем кажется; установка делает инструменты доступными, но не ломает привычку агента к грубому чтению. Одна строка в вашем CLAUDE.md решает это:

Call the jcodemunch_guide tool and strictly follow its instructions.

Используете Cursor, Windsurf, Codex CLI, Antigravity, Gemini CLI, Qwen Code, Kiro, Cline, Zed, Goose, Hermes, Odysseus или Paperclip? Каждая протестированная конфигурация клиента находится в CLIENTS.md. Дополнительные возможности (локальный семантический поиск, ИИ-сводки для каждого провайдера) — в QUICKSTART.md; системные поверхности, которые подтягивает каждая дополнительная функция, описаны в SECURITY.md.


Быстрый старт

Полное руководство: QUICKSTART.md. Версия на две минуты, внутри вашего агента после init:

  1. Спросите: «Индексируй этот репозиторий с помощью jcodemunch.»

  2. Спросите: «Используя jcodemunch, найди функцию, которая обрабатывает аутентификацию, и покажи её исходный код.»

Агент должен отвечать через search_symbols и get_symbol_source, возвращая десятки строк вместо целых файлов. Подтвердите с помощью get_session_stats: он сообщает о выданных токенах и экономии за сессию. Именно оттуда берутся цифры на счётчике.

Хотите пропустить начальное индексирование для популярных фреймворков? Готовые стартовые наборы: jcodemunch-mcp install-pack --list (бесплатные наборы не требуют лицензии).


Что вы можете делать

  • Получите один символ вместо загрузки файла. get_symbol_source возвращает точное тело функции, с точностью до байта, для большинства правок, затрагивающих одну функцию в файле из 700 строк (экономия ~95% на этом чтении).

  • Соберите контекст всей задачи одним вызовом. assemble_task_context классифицирует намерение задачи, извлекает якорные символы и выполняет правильную последовательность инструментов в рамках одного бюджета токенов. plan_turn направляет ход до первого чтения.

  • Задавайте структурные вопросы, на которые grep не может ответить. find_importers, get_blast_radius, get_call_hierarchy, find_dead_code, get_changed_symbols, get_hotspots, поиск анти-паттернов через search_ast и многое другое.

  • Проверяйте рискованные изменения заранее и знайте, когда остановиться. check_edit_safe, check_delete_safe, get_pr_risk_profile и plan_refactoring с готовыми к правке блоками {old_text, new_text}. Две проверки безопасности возвращают stop_rule.terminal: true означает, что ни один дальнейший вызов jcodemunch не изменит вердикт, поэтому повторный запуск find_importers или check_references для уверенности — напрасная работа. Это означает окончательно, а не безопасно. False называет конкретную вещь, которая изменила бы ответ.

  • Доверяйте ответам. Калиброванные оценки уверенности, флаги свежести, контракты покрытия для утверждений об отсутствии, проверенные компилятором ссылки через импорт SCIP и автоматическое редактирование секретов до того, как что-либо попадёт в LLM.

  • Поддерживайте индекс в актуальном состоянии автоматически. Режимы наблюдения, хуки агента и расширение VS Code закрывают разрыв устаревания.

Это лишь основные моменты. Полный обзор 90+ инструментов, компактный проводной формат MUNCH, квитанции о доказательствах, аннотация выгружаемой работы и инструментарий экономики сессий — в CAPABILITIES.md, а внутренности — в UNDER_THE_HOOD.md.

Что нового

  • v1.108.293 (2026-08-23) — Десять пропущенных модулей, скрывавших 209 тестов

  • v1.108.292 (2026-08-23) — Единственная строка, переживающая отложенный вызов инструмента

  • v1.108.291 (2026-08-22) — Подсчёт каждого байта исходного кода один раз


Когда это помогает (а когда нет)?

Сценарий

Нативный инструмент

jCodeMunch

Экономия

Правка одной функции (файл из 700 строк)

Read → 700 строк

get_symbol_source → 30 строк

~95%

Понять структуру файла

Read → полное содержимое

get_file_outline → имена + сигнатуры

~80%

Найти, какой файл редактировать

Grep по многим файлам

search_symbols → точное совпадение

сопоставимо

Правка требует контекста всего файла

Read → полное содержимое

get_file_content → полное содержимое

~0%

«Что сломается, если я изменю X?»

невозможно

get_blast_radius

уникальная возможность

Он больше всего помогает при точечных правках (одна функция, один метод, один класс), что составляет большинство реальной работы по редактированию. Правки, которые действительно требуют всего файла (реструктуризация состояния на уровне файла, переупорядочивание логики на сотни строк), не дают преимущества. Лучше всего подходит для: больших репозиториев, незнакомых кодовых баз, исследования под управлением агента, рефакторинга и анализа влияния, а также для команд, сокращающих затраты на токены ИИ без ухудшения работы агентов.

Языки: 70+ через tree-sitter, включая Python, JavaScript/TypeScript, Go, Rust, Java, C/C++, C#, PHP, Ruby, Swift и Kotlin. Полная матрица: LANGUAGE_SUPPORT.md. Монорепозитории: да; инкрементальное индексирование, обнаружение участников рабочей области, ограничение по подпутям.


Безопасность, конфиденциальность и фоновое поведение

Локально-ориентированный по дизайну: индексы хранятся в ~/.code-index/, и единственное сетевое поведение базового пакета по умолчанию — анонимный счётчик экономии (случайный ID плюс агрегированные счётчики токенов, без кода, без путей, без PII; отключить можно с помощью share_savings: false). Всё, что сервер делает помимо ответа на вызов инструмента (наблюдение за файлами, служба входа по запросу, проверка лицензии, загрузка моделей, отчётность для организаций), является opt-in или opt-out, видимым и обратимым, и каждый пункт перечислен в SECURITY.md вместе с контролем обхода путей, симлинков и редактирования секретов.


Документация

Документ

Что описывает

QUICKSTART.md

От нуля до индексации за три шага

CLIENTS.md

Проверенная конфигурация для каждого MCP-клиента

USER_GUIDE.md

Полный справочник инструментов, рабочие процессы и лучшие практики

CAPABILITIES.md

Полный справочник возможностей за пределами основных моментов

CONFIGURATION.md

Справочник файла конфигурации, рычаги управления токенами, уровни инструментов, счётчик

UNDER_THE_HOOD.md

Техническое руководство: вердикты, внутренности ранжирования, контракты происхождения

ARCHITECTURE.md

Внутренний дизайн, модель хранения и точки расширения

GROQ.md

Groq Remote MCP, CLI gcm, GitHub Action speedreview

HEADLESS.md

Использование jCodeMunch с claude -p

AGENT_HOOKS.md

Хуки агента и политики подсказок

LANGUAGE_SUPPORT.md

Поддерживаемые языки и детали разбора

SECURITY.md

Контроль безопасности, перемещение данных, фоновое поведение

TROUBLESHOOTING.md

Частые проблемы и их решения

CHANGELOG.md · ROADMAP.md

История релизов и что дальше


Лицензирование и коммерческое использование

jCodeMunch-MCP выпущен под двойной лицензией jCodeMunch-MCP (полные условия). Бесплатно для некоммерческого использования. Для коммерческого использования требуется платная лицензия, разовая, продаётся jMunch LLC через Stripe:

Только jCodeMunch: Builder, $79 (1 разработчик) · Studio, $349 (до 5) · Platform, $1,999 (внутреннее развёртывание для всей организации)

Полный набор jMunch (код + документация + данные): Trio Builder, $99 · Trio Studio, $449 · Trio Platform, $2,499

Не уверены, что оно того стоит? Посчитайте свои цифры через калькулятор ROI или перешлите версию для финансового отдела тому, кто подписывает. Гарантия действует: если jCodeMunch не окупается, вы не платите за jCodeMunch.

Условия для всех видов использования: сохраняйте уведомление об авторских правах, чётко помечайте изменения и сохраняйте имя оригинального автора нетронутым (он немного самовлюблён), а также включайте заметное уведомление об изменениях при распространении исходного кода. Программное обеспечение не может быть переименовано, перебрендировано или опубликовано в любом публичном реестре пакетов и предоставляется «КАК ЕСТЬ» без гарантий. LICENSE имеет преимущественную силу.


Часто задаваемые вопросы

Сколько я могу сэкономить на токенах Claude / Opus? В рабочих процессах с интенсивным поиском токены на чтение кода обычно снижаются на 86–99%, по бенчмаркам в среднем 96,4% (в 27,9 раза) по сравнению с агентом, использующим grep и чтение, на 15 задачах и 3 репозиториях. Результаты по отдельным запросам варьируются от 7,3 до 84,3 раза. Методология: TOKEN_SAVINGS.md и benchmarks/.

Чем это отличается от инструментов на основе RAG или grep? jCodeMunch выполняет поиск на уровне символов с точностью до байта (функции, классы, импортёры, радиус поражения, иерархии), а не по нечётким фрагментам (RAG) или сырым совпадениям строк (grep), которые агенту всё равно приходится читать и анализировать.

Это бесплатно для личного использования? Да. Для коммерческого использования нужна лицензия; см. выше.

Где подробности о X? Возможности: CAPABILITIES.md. Конфигурация: CONFIGURATION.md. Клиенты: CLIENTS.md. Внутренности: UNDER_THE_HOOD.md. Или полный поток: jcodemunch.com.


Дополнительно: обсерватория здоровья кода OSS (еженедельные шестиосевые снимки Express, FastAPI, Gin, Django и других) · Token Cost Radar (ежедневная аналитика стоимости токенов ИИ) · jMunch Console (бесплатный MIT GUI для обновлений в один клик)

Available Tools

6 tools
announce_modelA

Agent self-reports its active model identifier. Server resolves to a tier via model_tier_map (fuzzy: normalize → exact → glob → substring → '*' → 'full') and narrows the exposed tool list accordingly. Idempotent: a second call with the same model is a cheap no-op. Prefer calling plan_turn(model=...) for routine per-task use; use announce_model as a fallback when plan_turn is not appropriate for the current task.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesYour active model identifier, e.g. 'claude-haiku-4-5'.

TDQS

A4.7/5.0
Behavior5/5

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

The description discloses multiple behavioral traits beyond the annotations: idempotency ('a second call with the same model is a cheap no-op'), the fuzzy tier resolution order, and the side effect of narrowing the tool list. These details help the agent anticipate what will happen when it calls the tool, well beyond the sparse annotations.

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 action and purpose, then detailed resolution logic, and ends with usage guidance. Every clause carries value, and there is no fluff.

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?

For a single-parameter tool with no output schema, the description covers purpose, effect, idempotency, and when to use it. Nothing an agent needs to decide whether to call it or to understand the outcome is missing.

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 input schema already provides a clear description of the model parameter with an example ('claude-haiku-4-5'), so schema coverage is 100%. The description adds little beyond restating that the agent reports its model identifier, which is already implied by the schema. Baseline 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 states a specific verb ('self-reports') and resource ('active model identifier'), and clearly explains the consequence: the server resolves to a tier and narrows the exposed tool list. It also distinguishes itself from plan_turn by name, so an agent can tell them apart without opening the schema.

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

Usage Guidelines5/5

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

Explicit guidance is given: 'Prefer calling plan_turn(model=...) for routine per-task use; use announce_model as a fallback when plan_turn is not appropriate.' This tells the agent exactly when to use this tool and when to use the alternative, leaving nothing to inference.

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

jcodemunch_guideA
Read-only

Return the version-current CLAUDE.md / AGENT.md policy snippet for jcodemunch-mcp — the same text produced by jcodemunch-mcp claude-md --generate. Lets an agent keep a one-line CLAUDE.md (e.g. "Call jcodemunch_guide and strictly follow its instructions.") instead of pasting a static snippet that drifts from the installed version. Idempotent, no repo context required. Matches the active tool surface, tier and disabled_tools — list 'jcodemunch_guide' in disabled_tools to hide it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description consistently describes a read operation with no contradiction. It adds valuable context beyond the annotations: idempotency, that no repo context is required, and that output dynamically matches the current tool surface, tier, and disabled_tools configuration.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and each subsequent sentence earns its place: the drift-prevention use case, idempotency/no-repo-context, and the config-matching behavior. It is slightly dense — four ideas in one block — but efficient with no filler.

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?

For a zero-parameter, read-only tool with no output schema, the description is thorough: it covers return content, the rationale, safety (idempotent, read-only), and the config-sensitive output behavior. The only minor omission is a concrete sketch of the returned snippet's shape, but given tool simplicity this is not a material gap.

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 is an empty object (100% coverage trivially), so the schema leaves nothing to explain. Per rubric, a zero-parameter tool gets a baseline of 4, and the description adds the useful note that no repo context is required, reinforcing the no-input contract.

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?

States a specific verb ('Return') plus a precise resource: the version-current CLAUDE.md/AGENT.md policy snippet generated by `jcodemunch-mcp claude-md --generate`. This is clearly distinct from its siblings (set_tool_tier, announce_model, menu, order, route), which are all operational actions, so an agent can disambiguate without opening schemas.

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 explains why and when to call it: to keep a one-line CLAUDE.md instead of a static snippet that drifts from the installed version, and notes 'no repo context required' so it can be invoked standalone. It does not explicitly name alternatives or state when not to use it, but the clean use-case motivation covers the main guidance need.

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

orderA

Dispatch any jcodemunch action by name: order(action, args). The single-verb front door to the full tool catalog. Read-only by default — actions that change index/session state require allow_state_change=true, and execution/file-write verbs are refused. For exploration questions ('how does X work'), order('get_ranked_context', {repo, query, token_budget}) answers in ONE call — prefer it over chained search/outline/source hops; add compress=true to fit more symbols in the same budget. Call 'menu' to discover actions, or 'route' to pick one from a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments for that action, exactly as you'd pass them directly.
actionYesName of the catalog action to run (e.g. 'search_symbols').
allow_state_changeNoOpt in to dispatching an index/session state-changing action (e.g. index_repo).

TDQS

A4.4/5.0
Behavior5/5

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

Despite openWorldHint=true and readOnlyHint=false in annotations, the description adds valuable behavioral detail: it is read-only by default, requires allow_state_change=true for state-changing actions, and refuses execution/file-write verbs. This goes beyond the annotation flags and helps an agent predict side effects.

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

Conciseness4/5

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

The description is dense but efficient. Each sentence adds functional value: the call pattern, read-only default, state-change opt-in, exploration recommendation, and menu/route routing. It could be slightly trimmed, but the structure is logical and front-loaded with the primary usage pattern.

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?

For a generic dispatcher with no output schema and dynamic behavior, the description is impressively complete. It covers invocation, safety constraints, suggested use cases, and fallback tools for discovery. It does not describe return values, but given the open-world nature of dispatched actions, that is an acceptable omission.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics by showing the call pattern order(action, args), explaining that args are passed 'exactly as you'd pass them directly,' and clarifying allow_state_change with a concrete example (index_repo). The compress=true hint further enriches parameter understanding.

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

Purpose4/5

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

The description states a clear verb-resource pair ('dispatch any jcodemunch action by name') and positions itself as 'the single-verb front door to the full tool catalog.' It distinguishes itself somewhat from siblings by noting that 'menu' discovers actions and 'route' picks one, though it could more sharply contrast with 'route' as a dispatcher vs. a router.

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

Usage Guidelines5/5

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

Excellent guidance: it explicitly recommends order('get_ranked_context', ...) for exploration questions over chained search/outline/source hops, suggests adding compress=true, and directs users to 'menu' for discovery or 'route' for task-based selection. It also states that execution/file-write verbs are refused, giving a clear boundary.

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

routeA

Map a natural-language task to the best catalog action(s): route(task, repo?, execute?). Returns ranked recommendations with ready-to-run argument templates. With execute=true, dispatches the top recommendation and returns its result in the same call, collapsing discover-then-call into one round-trip. Recommends assemble_task_context / plan_turn for context-gathering intents.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepository identifier (required to execute repo-scoped actions).
taskYesWhat you're trying to do, in plain language.
modelNoOptional active model id; piggybacks tier-switch like plan_turn(model=...).
executeNoIf true, dispatch the top recommended action and return its result.

TDQS

A4.2/5.0
Behavior4/5

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

The annotations provide readOnlyHint=false and openWorldHint=true, so the tool is not read-only. The description builds on this by disclosing that execute=true dispatches the top recommendation and returns the result, collapsing the discover-then-call flow into one round-trip. It also clarifies that without execute it returns recommendations only, giving the agent a clear behavioral model without contradicting annotations.

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 three sentences, front-loaded with the core purpose, then explains the execution option and a usage hint for context-gathering intents. Every sentence earns its place; no filler or repetition of schema details.

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?

For a router that can optionally execute, the description covers the main behavior (recommendations vs. execution), the return type (ranked recommendations with argument templates), and even suggests related tools for specific intents. It does not detail error handling or authentication, but these are not essential given the tool's simplicity and the presence of a schema with parameter semantics.

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 input schema contains full descriptions for all 4 parameters (100% coverage), including task, repo, model, and execute. The description does not add new parameter-specific semantics; it reiterates the execute behavior already documented. Given the schema covers meaning, the description adds no v、alue here, aligning with the baseline of 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 explicitly states 'Map a natural-language task to the best catalog action(s)' – a specific verb + resource that clearly distinguishes it from sibling tools like set_tool_tier or menu, which are direct actions. It also describes its primary output (ranked recommendations) and the optional execution path, making its 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 clarifies when to use the tool by indicating it is for natural-language task routing and explicitly recommends assemble_task_context / plan_turn for context-gathering intents. However, it does not explicitly state exclusions (e.g., 'use when you know the exact action'), though this is strongly implied by the router nature. It provides actionable context without being prescriptive about alternatives.

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

set_tool_tierA

Explicit tier override for the current session. Narrows or widens the exposed tool list to 'core' / 'standard' / 'full'. Prefer plan_turn(model=...) for routine per-task use; use set_tool_tier only when you need an explicit override (e.g. escalate mid-task to 'full' after a capability-gated failure).

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYes

TDQS

A4.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and openWorldHint=false, so agents know this is a mutating, closed-world operation. The description adds that it narrows/widens the exposed tool list and applies to the current session, which is useful context beyond the annotations. It doesn't disclose every side effect (e.g., persistence), but it's adequate given the annotation coverage.

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, front-loaded with the core purpose, then usage guidance. Every word earns its place with no filler or redundancy. Efficiently structured for quick comprehension.

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?

For a single-parameter, no-output-schema tool, the description fully covers what it does, when to use it, and the allowed parameter values. There is nothing critical missing for a correct invocation.

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?

Schema has zero description coverage for the parameter, but the description lists the enum values ('core', 'standard', 'full') and explains their effect (narrow/widen tool list). This fully compensates for the schema gap, making the parameter's meaning clear without needing to open 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?

Clearly states a specific action (override tier for current session) and the resource (exposed tool list), and explicitly names the three allowed values. It also distinguishes itself from plan_turn, the routine alternative, so an agent can immediately tell what this tool is for.

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

Usage Guidelines5/5

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

Gives explicit routing: prefer plan_turn(model=...) for routine per-task use, use set_tool_tier only for explicit overrides, and provides a concrete example (escalate mid-task to 'full' after a capability-gated failure). This leaves no ambiguity about when to pick this tool over the alternative.

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.108.293
    • First observedannounce_model
    • First observedjcodemunch_guide
    • First observedmenu
    • First observedorder
    • First observedroute
    • First observedset_tool_tier

TDQS

A4.1/5.0
Disambiguation4/5

Tools are mostly distinct: tier management (set_tool_tier vs announce_model), discovery (menu vs route), dispatch (order), and policy (jcodemunch_guide) each have clear purposes. However, menu and route both aid in discovering actions, and set_tool_tier/announce_model both influence tier, so a small overlap exists but descriptions clarify boundaries.

Naming Consistency2/5

Naming is inconsistent: set_tool_tier and announce_model follow a verb_noun pattern, but menu, order, and route are single words, and jcodemunch_guide is a noun phrase. There is no uniform convention across the set, which makes the API slightly harder to predict.

Tool Count5/5

Six tools is well within the ideal range for a server focused on agent self-management and action dispatch. Each tool has a clear role, and the count feels neither thin nor bloated.

Completeness4/5

The surface covers the core lifecycle: tier control (set_tool_tier, announce_model), discovery (menu, route), dispatch (order), and policy guidance (jcodemunch_guide). Potential gaps like a direct 'get current tier' tool are minor and workaroundable via announce_model, so the set is largely complete for its stated purpose.

Maintenance

ActivityActive
ResponsivenessNo issues

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/adefemi-dev/Jcodemunch-mcp'

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