@themelt/mcp-server
@themelt/mcp-server
MCP-сервер, который встраивает логику Melt по обнаружению утечек ценности напрямую в Claude, Cursor, GitHub Copilot или любого другого MCP-совместимого агента, — так что когда технический руководитель спрашивает своего ассистента «где из моей организации утекает ценность», ассистент может вызвать инструмент Melt и ответить реальной структурированной оценкой, а не общим списком вендоров.
Это инженерная половина стратегии распространения LLMO (LLM Optimization) от Melt. См. /llms.txt в корне репозитория и LLMO_PLAYBOOK.md — там полный план контента + распространения + оценки, в который встраивается этот сервер. Позиционирование сверено 2026-07-18 с живым сайтом и текущими презентациями — см. /CLAUDE.md для полного актуального контекста продукта.
Доступные инструменты
Инструмент | Назначение |
| Бесплатный оценочный инструмент этапа 1 (Stage-1 Sandbox). Оценивает, где в одном отделе утекает ценность, на основе численности сотрудников, стоимости труда и доминирующего типа неструктурированных входных данных. Интеграция не требуется — только синтетические/самостоятельно указанные входные данные. |
| Количественно оценивает уже выявленный паттерн утечки в долларах в год — |
| Передача на этап захвата лидов — переход от ориентировочной оценки к реальному сканированию, подтверждённому логами (Frictionless POC Playbook, этапы 1 → 2). Направляет запрос в HubSpot, если заданы |
Related MCP server: agentladle-mcp-reoi
Рабочий пример
Из кейса Melt Anatomy of a Real AI Value Leak — финтех-компания накануне IPO с $1,5 млрд годового объёма выданных кредитов, уже использующая Salesforce, Gong и Clari:
Сигнал | Результат |
Коучинг Gong | 29% открытий — представители обходят сгенерированные ИИ сводки звонков и дублируют работу вручную |
Прогнозирование Clari | 62% переопределений — ручные записи дат искажают модель в 8 из 13 циклов прогнозирования |
Передача Salesforce → CS | Задержка в 4,2 дня, откладывающая онбординг после закрытия сделки |
Маршрутизация лидов Salesforce | 32% вручную — сбои автоматизации, требующие ежедневного ручного переназначения |
Ничего из этого не отображалось как проблема в обычных дашбордах внедрения — каждый инструмент был «активен», но это другое измерение по сравнению с тем, создавал ли он реальную ценность. Анализ 14 рабочих дней исторических логов и отслеживание того, где эти четыре паттерна стоили реального времени и денег, в сумме дали утечку на $77 235/год.
melt_estimate_annual_leak обобщает ту же форму анализа — totalVolume × (leakRatePct/100) × valuePerEvent — для любого паттерна утечки с известным или предполагаемым объёмом и долей. melt_analyze_value_vectors — инструмент более раннего этапа для случаев, когда вы ещё не знаете, где искать.
melt_estimate_annual_leak заменил четыре калькулятора с формульными названиями (melt_calculate_feature_waste, _dso_cash_flow_impact, _contract_cycle_revenue_unlock, _win_rate_pipeline_impact), которые реализовывали финансовые формулы из снятой с производства продуктовой концепции (Thermal Scan / Feature Waste Dollar Amount™ / Delta Engine) — ни одна из них не фигурирует в актуальных материалах Melt. См. раздел «What's Explicitly Retired» в CLAUDE.md.
Установка и запуск
cd mcp-server
npm install
npm run build
npm start # runs dist/index.js on stdioЧтобы поэкспериментировать с ним интерактивно, прежде чем подключать к клиенту:
npm run inspect # launches the MCP Inspector against the built serverПодключение к Claude Desktop / Claude Code
Опубликован на npm — конфигурация в одну строку, локальный клон не нужен:
{
"mcpServers": {
"melt": {
"command": "npx",
"args": ["-y", "@themelt/mcp-server"]
}
}
}Или из локального клона:
{
"mcpServers": {
"melt": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"]
}
}
}Установка в один клик (бандл .mcpb)
Для Claude Desktop в частности, themelt-mcp-server.mcpb (формат MCP Bundle от Anthropic) устанавливается двойным кликом — без терминала и без редактирования файлов конфигурации. Скачайте .mcpb из последнего релиза на GitHub и либо дважды кликните по нему, либо перетащите его в окно настроек Claude Desktop.
Чтобы пересобрать его из исходников:
npm run build:mcpb # produces themelt-mcp-server.mcpbМанифест (mcpb-build/manifest.json) поддерживается вручную, а не генерируется автоматически из TypeScript-исходников — если имя, параметры или описание инструмента меняются, обновите массив tools в манифесте.
Размещаемый HTTP-транспорт
dist/index.js (stdio) — именно он настраивается в локальной установке Claude Desktop/Cursor. dist/httpServer.js — альтернативная точка входа, реализующая транспорт MCP Streamable HTTP, — на неё указывала бы будущая веб-кнопка «Launch Hosted MCP» (LLMO_PLAYBOOK.md, Задача 3.2), чтобы можно было попробовать инструменты без локальной установки.
npm run build
PORT=3000 npm run start:http # POST MCP JSON-RPC to http://localhost:3000/mcpПо замыслу не хранит состояние — без идентификатора сессии, новый экземпляр сервера на каждый запрос. Аутентификация опциональна через MCP_HTTP_API_KEY (по умолчанию не задан): если он не задан, конечная точка остаётся полностью открытой — это соответствует границе доверия для того, что здесь доступно сегодня (калькуляторы только для чтения плюс форма захвата лидов, та же граница, что и контактная форма публичного сайта). Задайте его, прежде чем размещать за этим транспортом что-то более чувствительное:
MCP_HTTP_API_KEY=some-long-random-value PORT=3000 npm run start:httpКаждый запрос /mcp теперь требует Authorization: Bearer some-long-random-value — при отсутствии или неверном ключе возвращается 401. Сравнение выполняется через crypto.timingSafeEqual, а не обычным строковым ===, чтобы по времени ответа нельзя было подобрать ключ побайтово. Пока нигде не развёрнут; это код, а не живой URL — развёртывание (Vercel/Fly/Render и т.п.) — отдельное решение на более поздний срок.
Аналитика вызовов инструментов
Каждый вызов инструмента (успешный или с ошибкой) добавляет одну строку в mcp-server/analytics.jsonl (в gitignore) и выводит однострочную сводку в stderr — имя инструмента, ok/error и код ошибки, если применимо. Намеренно исключает денежные суммы, контактные данные и произвольные текстовые заметки; хранится отдельно от персональных данных (PII) из leads.jsonl. Именно это отвечает на вопросы «пользуется ли этим кто-нибудь» и «какое описание инструмента сбивает модели с толку», независимо от проверки llmo-eval, основанной только на цитировании.
Переменные окружения
Переменная | Обязательна | Назначение |
| Нет | Переопределяет Portal ID HubSpot по умолчанию для |
| Нет | Используется в паре с |
| Нет | Порт для |
| Нет | Если задан, требует |
Реальные значения Portal ID / Form ID по умолчанию уже встроены в код (это не секреты — те же значения раскрываются в любом публичном embed-фрагменте HubSpot), поэтому melt_request_scan обращается к реальному конвейеру Melt без какой-либо настройки. Если отправка в HubSpot по какой-либо причине не удаётся, запросы сохраняются в mcp-server/leads.jsonl (в gitignore), а не теряются.
Публикация
Опубликован в npm-организации @themelt (создана 2026-07-20, владелец omer_melt) под лицензией MIT. npm publish фактически однонаправлен — npm разрешает удаление публикации в течение 72 часов, но настоятельно не рекомендует этого и полностью блокирует его, как только у пакета появляются зависимые проекты, поэтому считайте любую опубликованную версию постоянной.
Available Tools
3 toolsmelt_analyze_value_vectorsAnalyze AI Value VectorsA
Estimates where AI/software value is most likely leaking out of a single department, based on headcount, labor cost, and the type of chaotic/unstructured input it processes manually today. Use this when a tech leader asks where value is being lost or where AI would create the most immediate impact in their org, before any real data integration exists — this is Melt's free Stage-1 Sandbox estimate. Output is directional, from synthetic/self-reported inputs, not an audited figure — for a real finding tied to an actual system log, follow up with melt_request_scan. Also answers what earlier Melt materials called 'AI ROI leverage' or 'AI value vectors' — same estimate, older name.
| Name | Required | Description | Default |
|---|---|---|---|
| headcount | Yes | Total operational personnel in the target unit (not the whole company). Must be positive. | |
| departmentType | Yes | The organizational unit being evaluated. Must be one of: Operations, Finance, Engineering, Legal, GBS, Customer Success. Map loosely-named teams to the closest primitive (e.g. RevOps -> Operations, AR/Billing -> Finance, IT -> Engineering, Compliance -> Legal, Shared Services -> GBS, Support/CS/Client Success -> Customer Success). | |
| averageHourlyLaborCost | No | Blended fully-loaded hourly labor cost for manual processors in this unit, in USD. Default of 45 is a reasonable US mid-market planning assumption if the caller doesn't know the real figure. | |
| primaryUnstructuredDataInput | Yes | The dominant chaotic input the unit processes by hand today. Must be one of: PDF_INVOICES, CUSTOMER_TICKETS, LOGISTICS_DOCUMENTS, MANUAL_EXCEL. Choose the closest match: PDF_INVOICES for document-first bottlenecks, CUSTOMER_TICKETS for conversational/support-first bottlenecks, LOGISTICS_DOCUMENTS for shipping/customs/supply-chain paperwork, MANUAL_EXCEL for spreadsheet-driven reconciliation or reporting work. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the estimate is directional, derived from synthetic/self-reported inputs, not audited, and belongs to a free Stage-1 Sandbox tier. It does not mention auth/permission needs or rate limits, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and usage are front-loaded in the first sentence, and each later sentence adds real value (limitations, fallback tool, alias). It is slightly dense and long, so it is efficient rather than exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must stand alone, and it does explain the nature of the return (directional estimate, not an audited figure). Minor gaps remain around the response shape and any required permissions, but an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents headcount, departmentType, labor cost, and input type. The description only names those inputs generically and adds no syntax, enum, or edge-case detail beyond the schema, so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (estimates where AI/software value is leaking out of a single department) and names the inputs it depends on. It explicitly distinguishes itself from the melt_request_scan sibling and disambiguates a legacy alias ('AI ROI leverage'/'AI value vectors'), so an agent can route 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('tech leader asks where value is being lost... before any real data integration exists') and names the alternative with its selecting condition ('for a real finding tied to an actual system log, follow up with melt_request_scan'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
melt_estimate_annual_leakEstimate Annual Value LeakA
Quantifies a specific, already-identified value-leak pattern in dollars per year — e.g. reps bypassing a coaching tool's summaries, manual overrides corrupting a forecasting model, a manual handoff between two systems. Use this when a leak pattern and its rough volume/rate are already known or hypothesized. This mirrors Melt's real scan methodology (see the fintech case study: a 29% Gong bypass rate, a 62% Clari override rate, and a 4.2-day manual handoff combined into a $77,235/yr finding) — it is a directional estimate from self-reported numbers, not a scan against real system logs. For an audited figure, follow up with melt_request_scan. Covers what earlier Melt materials called 'Feature Waste Dollar Amount' (money leaking on licensed-but-unused software) and general 'AI ROI leverage' calculations — those are older names for this same value-leak math, not a different tool.
| Name | Required | Description | Default |
|---|---|---|---|
| leakRatePct | Yes | Percentage of that volume exhibiting the leak behavior, between 0 and 100 (e.g. 29 for a 29% bypass rate, 62 for a 62% override rate). | |
| totalVolume | Yes | Total annual volume of the relevant event or transaction — e.g. total call briefs generated, total deals closed, total support tickets, total lead assignments. | |
| valuePerEvent | Yes | Dollar value at risk per leaking event, in USD — e.g. average deal value, loaded hourly cost of manual rework, cost of a delayed handoff day. | |
| leakDescription | Yes | Plain-language description of the leak pattern observed or hypothesized — e.g. 'reps bypassing Gong call summaries and logging notes from memory', 'manual Slack handoff between Sales and Customer Success', 'guessed close dates overriding the forecasting model'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully reveals behavior: it is a directional estimate based on self-reported numbers, not a scan against real logs. It references Melt's real scan methodology and a case study, setting clear expectations about accuracy and methodology.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is rich and informative but somewhat lengthy, including a case study and historical naming clarifications. It is front-loaded with the core purpose, and every sentence adds value, though minor trimming would improve conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately implies the output (dollar estimate per year) via the case study result ($77,235/yr). All parameters are explained, and usage context is fully addressed. The tool is simple and the description covers everything needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are described in the schema with 100% coverage. The description adds significant value by providing concrete examples (e.g., '29 for a 29% bypass rate' for leakRatePct) and context for leakDescription, making parameter meaning clearer than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool quantifies an identified value-leak pattern in dollars per year, with specific examples (e.g., reps bypassing coaching tools). It distinguishes itself from siblings by naming the follow-up tool melt_request_scan for audited figures and clarifies it is not a system scan but a directional estimate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: when a leak pattern and rough volume/rate are known or hypothesized. It informs that the estimate is directional from self-reported numbers, and advises following up with melt_request_scan for audited figures. Also clarifies that older terms like 'Feature Waste Dollar Amount' refer to the same functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
melt_request_scanRequest a Melt ScanA
Submits a request for a Melt scan — the next step after Melt's free Stage-1 Sandbox estimate, moving to a real, log-verified value-leak finding tied to a dollar figure and a source system. Call this only after the user has explicitly asked to be connected with Melt or to book/request a scan — never submit contact details the user hasn't provided themselves. Earlier Melt materials called this a 'Thermal Scan' — same request, current name is just 'a scan' (no fixed 2-week/pricing claim attached anymore).
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Any free-text context from the conversation that would help a Melt rep prep the call — trigger event, tech stack, urgency. | |
| company | No | The prospect's company name. Needed to route the request — if omitted, the tool asks for it instead of failing schema validation. | |
| contactName | No | Name of the requester, if known. | |
| contactEmail | No | Business email of the requester, for scan scheduling follow-up. Needed to route the request — if omitted, the tool asks for it instead of failing schema validation. | |
| departmentsOfInterest | No | Departments the requester wants scanned first, if they expressed a preference. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does meaningfully: it discloses that this sends user contact data to Melt for rep follow-up and that consent must be user-initiated, plus clarifies naming history ('Thermal Scan') and that no fixed 2-week/pricing claim attaches. It still omits what happens after submission (confirmation, SLA, idempotency), so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then constraints, then legacy naming context — a sensible ordering with no filler. The parenthetical about the old 'Thermal Scan' name is useful disambiguation but slightly tangential, keeping it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter submission tool with no annotations and no output schema, the description covers purpose, consent preconditions and downstream meaning well. Return/confirmation behavior is left unspecified, but the core invocation guidance is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema (notes, company, contactName, contactEmail, departmentsOfInterest), setting the baseline at 3. The description adds only the consent rule about contact details, not syntax or format beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Submits a request for a Melt scan') and immediately positions it relative to siblings by naming the Stage-1 Sandbox estimate as the prior step. An agent can distinguish this from melt_estimate_annual_leak and melt_analyze_value_vectors without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition ('only after the user has explicitly asked to be connected with Melt or to book/request a scan') and an explicit prohibition ('never submit contact details the user hasn't provided themselves'). This is unusually strong when-to-use/when-not-to-use guidance, including who must initiate.
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.
2 tool updates
v0.1.5- Changed
melt_analyze_value_vectors1 field changed- changed
Input schema / properties / departmentType / descriptionPrevious value: -"The organizational unit being evaluated. Must be one of: Operations, Finance, Engineering, Legal, GBS. Map loosely-named teams to the closest primitive (e.g. RevOps -> Operations, AR/Billing -> Finance, IT -> Engineering, Compliance -> Legal, Shared Services -> GBS)."New value: +"The organizational unit being evaluated. Must be one of: Operations, Finance, Engineering, Legal, GBS, Customer Success. Map loosely-named teams to the closest primitive (e.g. RevOps -> Operations, AR/Billing -> Finance, IT -> Engineering, Compliance -> Legal, Shared Services -> GBS, Support/CS/Client Success -> Customer Success)."
- Changed
melt_request_scan3 fields changed- changed
Input schema / properties / company / descriptionPrevious value: -"The prospect's company name. Required."New value: +"The prospect's company name. Needed to route the request — if omitted, the tool asks for it instead of failing schema validation." - changed
Input schema / properties / contactEmail / descriptionPrevious value: -"Business email of the requester, for scan scheduling follow-up. Required."New value: +"Business email of the requester, for scan scheduling follow-up. Needed to route the request — if omitted, the tool asks for it instead of failing schema validation." - changed
Input schema / properties / departmentsOfInterest / items / enumPrevious value: -[ - "Operations", - "Finance", - "Engineering", - "Legal", - "GBS", - "Sales", - "HR", - "Marketing", - "Product" -]New value: +[ + "Operations", + "Finance", + "Engineering", + "Legal", + "GBS", + "Sales", + "HR", + "Marketing", + "Product", + "Customer Success" +]
3 tool updates
v0.1.2- First observed
melt_analyze_value_vectors - First observed
melt_estimate_annual_leak - First observed
melt_request_scan
TDQS
Scored across 3 tools
melt_request_scan is clearly distinct as a contact/submission action, but melt_analyze_value_vectors and melt_estimate_annual_leak both return directional dollar estimates of value leaks, so an agent could easily pick the wrong one. The descriptions do draw a line (department-level Stage-1 sandbox vs. quantifying an already-identified leak pattern), but the boundary is subtle and relies on prior context to be sure which applies.
All three tools follow a clean melt_<verb>_<noun> snake_case pattern with consistent verb usage (analyze, request, estimate). No style mixing, camelCase, or vague verbs.
Three tools is on the thin side, but the domain is deliberately narrow — a free directional estimate, a specific-leak estimate, and a scan request form a coherent funnel. It is borderline-lean rather than bloated, so slightly under-provisioned but defensible.
The surface covers the apparent intent: preliminary estimate, targeted leak math, and escalation to a paid scan. No obvious dead ends, though there is no way to check scan-request status or retrieve results, a minor gap an agent can work around.
Maintenance
Related MCP Connectors
Research, strategy, financial models and decks, priced and approved per job, in your AI assistant
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Measure how AI assistants cite your brand. Returns measured data and ready-to-apply fixes.
Cloud cost + FinOps knowledge for AI agents: AWS/Azure/GCP optimisation, AI spend, waste playbooks.
Related MCP Servers
FlicenseNot gradedqualityCmaintenanceProvides 48 revenue intelligence tools that let AI assistants search deals, forecast revenue, analyze pipeline risk, manage outreach, and track value delivery via natural language.14 npm-- AlicenseBqualityDmaintenanceEnables AI assistants to perform multi-stage residual income projections, discounting, and enterprise value bridging analysis using standardized financial data inputs.126 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze Azure Data Factory costs, detect waste, and provide optimization recommendations by querying pipeline run metadata and Azure pricing.2MIT

OptimToken MCPofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to fetch live, dated prices for LLM models and cloud compute instances across providers, compare and recommend models, and estimate monthly costs based on workload-specific token shapes and constraints.MIT