LumabyteCo/clarifyprompt-mcp

LumabyteCo/clarifyprompt-mcp

от lumabyteco
MCP-сервер, который компилирует расплывчатые запросы в промпты, оптимизированные для 60+ AI-платформ (Midjourney, Claude, Sora). Учитывает контекст рабочего пространства (CLAUDE.md, package.json, g...

ClarifyPrompt MCP

npm version ghcr.io evals License: Apache-2.0 Node.js Listed on Glama

A context-aware MCP prompt compiler that transforms vague prompts into platform-optimized prompts for 60+ AI platforms across 7 categories — grounded in your workspace signals (CLAUDE.md, AGENTS.md, .cursorrules, package.json), resolved intent, and the capabilities of the target model.

Send a raw prompt. ClarifyPrompt gathers the right context, resolves what you're actually trying to do, and returns a version specifically optimized for Midjourney, DALL-E, Sora, Runway, Higgsfield, ElevenLabs, Claude, ChatGPT, Cursor, or any of the 60+ supported platforms — with the right syntax, parameters, structure, and grounding.

New in 1.12.1: The real fix for #3thinking-channel models (gpt-oss, glm, …) now reliably produce optimized prompts instead of occasionally returning empty content. Root cause (re-investigated from scratch): they spend their token budget on the thinking channel first and never reach the final answer. The fix is a max_tokens floor for reasoning models (universal) plus reasoning_effort: "low" (for families that honor it, like gpt-oss; tune with LLM_REASONING_EFFORT) — not the previously-assumed /api/chat switch, which turned out to be a dead end. Verified on gpt-oss:20b-cloud and glm-5.2:cloud (both 0% empty). See CHANGELOG.md.

New in 1.12.0: Roadmap step #7 — ClarifyPrompt now speaks A2A (Agent-to-Agent). Set CLARIFYPROMPT_TRANSPORT=a2a and it serves as a discoverable A2A peer: an agent card at /.well-known/agent-card.json, a compile-prompt-for-platform skill over JSON-RPC (message/send) with live SSE streaming (message/stream), and first-class task cancellation + input-required clarification round-trips — all powered by the same compose pipeline. Other agents can now call ClarifyPrompt to compile prompts. stdio stays the default; nothing about existing setups changes.

Инструменты были проиндексированы:
clarify_with_userтолько чтениевнешний мир

При получении неоднозначного черновика промпта возвращает 1–3 целенаправленных уточняющих вопроса вместо того, чтобы гадать. Каждый вопрос содержит suggested_answer, который вы можете принять дословно, чтобы продолжить, необязательный список options из 2–4 быстрых вариантов и тег dimension (audience/scope/format/length/tone/constraints/goal/platform). Когда анализатор очень уверен И промпт нетривиально длинный, инструмент сокращает путь, устанавливая clarificationNeeded: false, чтобы вызывающие могли поместить его перед optimize_prompt, не платя налог на задержку при каждом вызове. Передайте force: true, чтобы всегда генерировать вопросы. Передайте elicit: true, чтобы интерактивно собирать ответы через собственный интерфейс формы хоста (MCP elicitation) вместо возврата сырых вопросов — когда клиент это поддерживает.

Задает уточняющие вопросы

Параметры
  • categoryenum

    Category hint. Will skip questions about category/platform if you pass it.

  • cwdstring

    Working directory to pull workspace rules (CLAUDE.md / AGENTS.md / .cursorrules) from. Defaults to server cwd.

  • elicitboolean

    When true AND the connected client supports MCP elicitation, render the questions as a native form, collect the user's answers inline, and return them as answers (each question's suggested answer is the field default). Falls back to returning the raw questions when the client can't elicit. Default false (back-compat).

  • file_excerptstring

    Short excerpt of the active file to ground the questions.

  • file_languagestring

    Explicit language override for the active file.

  • file_pathstring

    Active file path — informs the clarifier's defaults.

  • forceboolean

    Always generate questions even when the analyzer is highly confident. Useful for UIs that want to surface clarification on every call.

  • max_questionsinteger

    Cap on returned questions. Default 3, hard max 5.

  • promptstringобязательный

    The draft prompt the user is unsure about.

  • user_localestring
compose_promptвнешний мир

Запускает канонический конвейер ClarifyPrompt за ОДИН вызов: clarify (опциональный предварительный этап) → ground ИЛИ optimize (основной) → critique (опциональный пост-этап) → опциональный auto-revise. Используйте это, когда хотите пройти по счастливому пути из четырёх инструментов без организации пяти круговых вызовов. Завершается досрочно, если pre_clarify выявляет вопросы — вызывающий отвечает и вызывает повторно. Когда sources не пуст, цепочка идёт по строгой ветке ground_prompt; в противном случае проходит через optimize_prompt. Если auto_revise имеет значение true и critique возвращает вердикт о непринятии с улучшенной перезаписью, final_prompt содержит эту перезапись. Массив stages — это журнал аудита для каждого вызова, чтобы вызывающие могли точно видеть, что выполнялось.

Составляет полный пайплайн

Параметры
  • auto_reviseboolean

    When true AND post_critique is true AND verdict !== 'accept' AND there's an improvedPrompt: final_prompt becomes the rewritten version instead of the raw optimization.

  • categoryenum
  • clarify_modelstring

    Override the LLM model for the clarify pre-stage. Default: env LLM_MODEL. Useful for per-stage cost/quality routing — e.g. run clarify on a cheap model while critique runs on a frontier one.

  • critique_criteriaobject[]

    Override the default 6 critique criteria.

  • critique_modelstring

    Override the LLM model for the critique judge AND rewrite.

  • cwdstring
  • enrich_contextboolean
  • file_excerptstring
  • file_languagestring
  • file_pathstring
  • include_bundleboolean
  • max_iterationsinteger

    Max revise-loop iterations. With auto_revise: true AND post_critique: true, the engine can feed each iteration's improvedPrompt back through optimize+critique up to this cap. Stops early at verdict=accept or when there's no improvedPrompt. Default 1 (single-shot, no loop). Hard max 5 to prevent cost runaways.

  • max_questionsinteger
  • modeenum
  • optimize_modelstring

    Override the LLM model for the optimize/ground core stage.

  • platformstring
  • post_critiqueboolean

    Run the critique judge against the optimized output. Adds ~3-5s on a local model.

  • pre_clarifyenum

    'auto' = run clarify only if analyzer confidence is low / prompt is short. 'always' = force clarify. 'never' = skip. When clarification questions surface, the chain stops; caller answers and re-calls.

  • promptstringобязательный

    The prompt to compose.

  • revise_thresholdnumber
  • session_idstring
  • skip_intent_resolutionboolean
  • sourcesobject[]

    When non-empty, the chain takes the strict ground_prompt branch (caller-provided sources pinned at highest priority).

  • user_localestring
  • user_pinned_instructionsstring
critique_promptтолько чтениевнешний мир

LLM-as-judge для промпта. Оценивает его от 0 до 10 по 6 стандартным параметрам (clarity, specificity, intent_alignment, format_fitness, length_appropriateness, plain_language), или по вашим собственным критериям, и возвращает обоснование по каждому параметру + конкретные предложения, общую оценку и вердикт (accept / revise / reject). Когда оценка ниже revise_threshold (по умолчанию 7.0), инструмент также возвращает improvedPrompt, который можно использовать как готовую замену. Используйте его на этапе pre-flight (достаточно ли хорош этот промпт для дорогой модели?), при постмортем-анализе (была ли проблема в промпте?) или для A/B-выбора лучшего из N оптимизационных вариантов. Передавайте original_prompt при критике оптимизированной версии, чтобы судья мог проверить, что замысел сохранён.

Оценивает промпт (LLM-as-judge)

Параметры
  • categoryenum
  • criteriaobject[]

    Override the default 6 criteria. Up to ~8 dimensions; more bloats the judge call.

  • cwdstring
  • file_excerptstring
  • file_languagestring
  • file_pathstring
  • original_promptstring

    If prompt is an optimized version, the user's original ask. Used for the intent_alignment dimension.

  • promptstringобязательный

    The candidate prompt to critique.

  • revise_thresholdnumber

    Overall score below this triggers the rewrite pass. Default 7.0.

  • skip_rewriteboolean

    Skip the rewrite pass even when below threshold (faster; just returns scores).

  • user_localestring
explain_last_curationтолько чтениеидемпотентный

Создаёт понятное человеку объяснение решений Context Curator для самого недавнего (или указанного) этапа оптимизации. Показывает все рассмотренные кандидаты, был ли каждый выбран или отклонён, почему и сколько токенов он использовал в рамках бюджета. Используйте это, когда результат показался странным и вы хотите понять, какие источники выбрал движок.

Объясни последнюю курацию

Параметры
  • lookback_daysinteger
  • optimization_idstring

    Optional trace ID. If omitted, explains the most recent trace.

get_traceтолько чтениеидемпотентный

Получает полную трассировку для ID оптимизации, включая системный промпт и вывод. По умолчанию просматривает 7 дней назад.

Получает полную трассировку

Параметры
  • idstringобязательный
  • lookback_daysinteger
ground_promptвнешний мир

Оптимизирует запрос на основе ЯВНЫХ опорных источников, предоставленных вызывающей стороной (спецификация, выдержка из стенограммы, RFC, внутренний документ и т.д.). Каждый источник закреплён с наивысшим приоритетом - выше правил проекта, выше закреплённых инструкций - и отслеживается индивидуально в трассировке. Используйте это, когда хотите, чтобы переписывание ссылалось на конкретный материал, а не позволяло куратору решать, что релевантно. Требует хотя бы один непустой источник; выдаст ошибку, а не приведёт к молчаливому переходу к optimize_prompt. Каждый источник ограничен 4000 символов, чтобы одна большая вставка не могла доминировать в бюджете.

Оптимизирует по явным источникам

Параметры
  • categoryenum
  • cwdstring
  • enrich_contextboolean
  • file_excerptstring
  • file_languagestring
  • file_pathstring
  • include_bundleboolean
  • modeenum
  • platformstring
  • promptstringобязательный

    The prompt to optimize.

  • session_idstring
  • skip_intent_resolutionboolean
  • sourcesobject[]обязательный

    Caller-provided grounding sources. Must be non-empty.

  • user_localestring
  • user_pinned_instructionsstring
inspect_contextтолько чтениевнешний мир

Предварительно просматривает ContextBundle (правила рабочего пространства, фреймворки, возможности целевой модели, результаты анализа, историю сессии) без запуска оптимизации. Возвращает тот же набор, который собрала бы функция optimize_prompt.

Проверяет контекстный пакет.

Параметры
  • categoryenum
  • cwdstring
  • file_excerptstring
  • file_languagestring
  • file_pathstring
  • promptstringобязательный
  • session_idstring
  • skip_intent_resolutionboolean
list_categoriesтолько чтениеидемпотентный

Перечисляет все доступные категории оптимизации промптов с количеством платформ, включая пользовательские платформы.

Перечисляет категории

Параметры

Без параметров.

list_modesтолько чтениеидемпотентный

Перечисли доступные режимы вывода для оптимизации промптов.

Перечисляет режимы вывода.

Параметры

Без параметров.

list_packsтолько чтениеидемпотентный

Перечисли пакеты знаний, загруженные в хранилище постоянной памяти.

Выводит список загруженных пакетов.

Параметры
  • scopestring

    Filter by scope (e.g. 'user', 'project:myapp'). Omit to list all.

list_platformsтолько чтениеидемпотентный

Перечисляет доступные платформы для категории, включая пользовательские зарегистрированные платформы.

Перечисляет платформы

Параметры
  • categoryenumобязательный

    Category to list platforms for

list_tracesтолько чтениеидемпотентный

Перечисляет последние трассировки оптимизации из локального трейсера. Только сводка; для полных записей используйте get_trace.

Перечисляет трассировки оптимизации.

Параметры
  • daystring

    UTC day YYYY-MM-DD; defaults to the most recent day with data

  • limitinteger
load_knowledge_packвнешний мир

Загружает набор знаний (knowledge pack) — документ в формате Markdown с опциональным YAML-фронтматером — в постоянное хранилище. Набор разбивается на части по заголовкам, каждая часть преобразуется в эмбеддинг и становится доступной для семантического поиска при последующих вызовах optimize_prompt. Наборы могут поступать из локального файла, HTTPS-ссылки или передаваться встроенным текстом в виде Markdown. Встроенные наборы и руководство по созданию: https://github.com/LumabyteCo/clarifyprompt-mcp/tree/main/packs

Загружает пакет знаний

Параметры
  • namestring

    Override the pack name (else pulled from frontmatter).

  • scopestring

    Scope to load under (e.g. 'user', 'project:myapp'). Defaults to pack frontmatter or 'user'.

  • sourcestringобязательный

    Local file path, HTTPS URL, or inline markdown body (auto-detected).

  • source_typeenum

    Override source-type detection. registry marks a pack as community-sourced.

  • versionstring

    Override the pack version (else pulled from frontmatter or '0.0.0').

memory_forgetидемпотентный

Инвалидирует (мягко удаляет) факт по его идентификатору. Факт помечается как invalidated_at = now и не будет отображаться в будущих memory_search или grounding, но его история сохраняется (битемпоральное мягкое удаление). Сначала используйте memory_list_facts, чтобы найти идентификатор, который вы хотите забыть.

Забывает факт

Параметры
  • idintegerобязательный

    Fact id (from memory_remember response, memory_search result, or memory_list_facts row).

memory_list_factsтолько чтениеидемпотентный

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

Перечисляет запомненные факты.

Параметры
  • limitinteger

    Max facts to return. Default 50, hard max 100.

  • predicatestring

    Optional predicate filter (e.g., only 'prefers' facts).

  • scopestring

    Memory scope to filter by. Default 'user'. Examples: 'user', 'project:myapp', 'session:abc'.

memory_rememberвнешний мир

Явно добавляет факт в постоянную память. Используется, когда пользователь говорит то, что движок должен запомнить между сессиями (предпочтения, соглашения, факты о проекте). Дополняет рефлексию save_outcome, которая извлекает факты неявно — это явный, управляемый пользователем путь. Возвращает идентификатор нового факта, который можно передать memory_forget позже.

Запоминает факт.

Параметры
  • confidencenumber

    0-1 confidence. Default 1.0 for explicit user remember. Reflection-extracted facts use 0.6-0.8.

  • objectstringобязательный

    The concrete value. Example: 'TypeScript with strict mode'.

  • predicatestringобязательный

    Short verb phrase. Examples: 'prefers', 'uses', 'avoids', 'requires', 'is'.

  • scopestring

    Memory scope. Default 'user' (cross-session, cross-project). Use 'project:<name>' for project-local memory, 'session:<id>' for ephemeral session-only memory.

  • subjectstringобязательный

    Who/what the fact is about. Examples: 'user', 'project', 'this codebase', a person's name.

memory_searchтолько чтениеидемпотентныйвнешний мир

Выполняет семантический поиск по постоянному хранилищу памяти. Возвращает факты, фрагменты пакетов и прошлые оптимизации, ранжированные по векторной схожести с запросом. Полезен для проверки того, что ClarifyPrompt извлёк бы для заданного промпта, и для отладки решений куратора.

Ищет в энергонезависимой памяти

Параметры
  • kindsenum[]

    Which memory kinds to search. Default: facts + pack chunks.

  • limitinteger
  • querystringобязательный

    The search query — usually the user's intent or a paraphrase of a future prompt.

optimize_promptвнешний мир

Оптимизирует промпт для конкретной AI-платформы. Контекстно-зависимый сбор сигналов рабочего окружения (CLAUDE.md / AGENTS.md / .cursorrules / package.json) выполняется автоматически. За один шаг анализа определяет намерение, категорию и рекомендуемый режим, формирует системный промпт под возможности целевой модели и привязывает переписывание к приоритезированному Grounding Context. Поддерживает 58+ платформ в 7 категориях, а также пользовательские зарегистрированные платформы. Категория, платформа и режим — опциональны: движок выбирает разумные значения по умолчанию на основе анализа.

Оптимизирует промпт для платформы

Параметры
  • categoryenum

    Prompt category. Auto-detected via the analyzer when omitted. When provided, the analyzer can still override if it's confident the hint is wrong.

  • cwdstring

    Working directory to scan for CLAUDE.md / AGENTS.md / .cursorrules / package.json. Defaults to server cwd.

  • enrich_contextboolean

    Use web search for context enrichment (Tavily/Brave/Serper/SerpAPI/Exa/SearXNG). Results merge into the single Grounding Context block.

  • file_excerptstring

    Short excerpt (≤2 KB) of the active file to ground the rewrite

  • file_languagestring

    Explicit language override for the active file

  • file_pathstring

    Active file path — infers language and grounds the rewrite

  • include_bundleboolean

    Include the full resolved ContextBundle in the response (same shape as inspect_context returns)

  • modeenum

    Output mode. When omitted, the engine uses the analyzer's intent-derived recommendation (e.g. production-code → technical, quick-draft → concise). When passed, user choice wins.

  • platformstring

    Target platform ID (e.g. midjourney, dall-e, sora, suno, claude, cursor, or a custom platform ID). Uses category default when omitted.

  • promptstringобязательный

    The prompt to optimize

  • session_idstring

    Session ID to stitch related optimizations so the engine can reuse accepted prior outputs as few-shot examples. Auto-generated when omitted.

  • skip_intent_resolutionboolean

    Skip the analyzer LLM call (faster; loses intent/category/mode recommendations)

  • user_localestring

    User locale hint (e.g. en-US, ar-EG)

  • user_pinned_instructionsstring

    Pinned, always-applied user instructions (highest-priority grounding)

register_platform

Регистрирует новую пользовательскую AI платформу для оптимизации промптов.

Регистрирует пользовательскую платформу.

Параметры
  • categoryenumобязательный

    Category this platform belongs to

  • descriptionstringобязательный

    Short description

  • idstringобязательный

    Unique platform ID (lowercase, alphanumeric with hyphens)

  • instructionsstring
  • instructions_filestring
  • labelstringобязательный

    Human-readable platform name

  • syntax_hintsstring[]
save_outcomeвнешний мир

Сообщает ClarifyPrompt, был ли результат оптимизации принят, отредактирован или отклонён. Подаёт данные в два цикла: (1) кольцевой буфер сессии, чтобы принятые ранее результаты внедрялись как few-shot примеры в будущие похожие промпты, и (2) слой постоянной памяти через рефлексию: при принятии или редактировании ClarifyPrompt извлекает атомарные факты из взаимодействия и сохраняет их; при отклонении недавние факты рефлексии из этой сессии аннулируются. Рефлексия использует ту же LLM, которую вы настроили; задержка на локальных моделях составляет 1–3 секунды.

Записывает результат (принять / редактировать / отклонить)

Параметры
  • diffstring

    Optional: the user's edited version or a diff. Helps reflection extract better facts.

  • optimization_idstringобязательный

    The id returned from optimize_prompt

  • session_idstringобязательный

    The sessionId returned from optimize_prompt. Required so the outcome lands in the right session bucket.

  • skip_reflectionboolean

    Skip the LLM-based fact extraction pass (faster, no facts learned)

  • verdictenumобязательный

    accepted = user used the output as-is; edited = user kept it with edits; rejected = user threw it away

unload_packидемпотентный

Удаляет загруженный пакет знаний (и все его фрагменты и эмбеддинги) из хранилища памяти.

Выгружает пакет знаний

Параметры
  • idintegerобязательный

    Pack id (as returned by list_packs).

unregister_platformидемпотентный

Удаляет пользовательскую платформу или очищает переопределения инструкций на встроенной.

Удаляет пользовательскую платформу / очищает переопределения

Параметры
  • categoryenumобязательный
  • idstringобязательный
  • remove_override_onlyboolean
update_platform

Обновляет пользовательскую платформу или добавляет/переопределяет инструкции на встроенной платформе.

Обновляет платформу

Параметры
  • categoryenumобязательный
  • descriptionstring
  • idstringобязательный
  • instructionsstring
  • instructions_filestring
  • labelstring
  • syntax_hintsstring[]
  • syntax_hints_appendstring[]

Похожие MCP-сервера

cyberchitta/llm-context.py

cyberchitta/llm-context.py

LLM Context - MCP-сервер для умного управления контекстом при работе с ИИ. Использует правила для автоматического подбора и передачи нужных файлов проекта, экономя токены. Полезен разработчикам и A...

Python306
Context7 MCP

Context7 MCP

официальный

MCP сервер доставляет свежую документацию и примеры кода в контекст ИИ. Убирает галлюцинации и устаревшие ответы, предоставляя версионные данные по библиотекам. Полезен разработчикам для точной ген...

TypeScript61850
ravi-labs/mindmap-mcp-server

ravi-labs/mindmap-mcp-server

Mind Map — MCP сервер для сквозной памяти между AI-инструментами. Захватывайте контекст сессии в одном клиенте и возобновляйте в другом — без повторных объяснений. Локальное хранение и автоматическ...

TypeScript4
hannesrudolph/mcp-ragdocs

hannesrudolph/mcp-ragdocs

Сервер для поиска документации через RAG и векторный поиск. Используется AI-ассистентами для дополнения ответов контекстом. Помогает разработчикам создавать инструменты с опорой на документацию.

TypeScript265
Goldentrii/AgentRecall

Goldentrii/AgentRecall

AgentRecall — MCP сервер, который запоминает каждое исправление агента и учится на ошибках. Пять слоев памяти (коррекции, эпизоды, навыки) хранятся локально в markdown. Инструмент полезен разработчикам ИИ-агентов: он автоматически анализирует повторные недочеты и повышает точность работы, не треб...

JavaScript371
laradji/deadzone

laradji/deadzone

Deadzone — векторный индекс для семантического поиска по документации, работающий как локальный MCP-сервер. Полезен разработчикам AI-агентов, которым нужен поиск по документам без интернета. Исполь...

Go3
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин