{
  "markdown": "# @themelt/mcp-server\n\nMCP server that puts Melt's value-leak discovery logic directly into Claude,\nCursor, GitHub Copilot, or any other MCP-compatible agent — so when a tech\nleader asks their assistant \"where is value leaking out of my org,\" the\nassistant can call a Melt tool and answer with a real, structured estimate\ninstead of a generic list of vendors.\n\nThis is the engineering half of Melt's LLMO (LLM Optimization) distribution\nstrategy. See `/llms.txt` at the repo root and `LLMO_PLAYBOOK.md` for the full\ncontent + distribution + evaluation plan this server plugs into. Positioning\nreconciled 2026-07-18 against the live site and current decks — see\n`/CLAUDE.md` for the full current product context.\n\n## Tools exposed\n\n| Tool | What it does |\n|---|---|\n| `melt_analyze_value_vectors` | Free Stage-1 Sandbox estimator. Estimates where value is leaking in one department from headcount, labor cost, and dominant unstructured-input type. No integration required — synthetic/self-reported inputs only. |\n| `melt_estimate_annual_leak` | Quantifies an already-identified leak pattern in dollars/yr — `totalVolume x (leakRatePct/100) x valuePerEvent`, generalizing Melt's real \"Anatomy of a Scan\" methodology (a 29% Gong bypass rate, a 62% Clari override rate, etc., combined into a real $77,235/yr finding). |\n| `melt_request_scan` | Lead-capture handoff — the move from a directional estimate to a real, log-verified scan (Frictionless POC Playbook Stage 1 → 2). Routes to HubSpot if `HUBSPOT_PORTAL_ID`/`HUBSPOT_FORM_ID` are set, otherwise appends to a local `leads.jsonl`. |\n\n## Worked example\n\nFrom Melt's [Anatomy of a Real AI Value Leak](https://themelt.ai/blog/anatomy-of-an-ai-value-leak) case study — a pre-IPO fintech with $1.5B in annual originations, already running Salesforce, Gong, and Clari:\n\n| Signal | Finding |\n|---|---|\n| Gong coaching | 29% open rate — reps bypassing AI-generated call summaries and duplicating the work manually |\n| Clari forecasting | 62% override rate — manual date entries corrupting the model across 8 of 13 forecast cycles |\n| Salesforce → CS handoff | 4.2-day lag delaying onboarding after close |\n| Salesforce lead routing | 32% manual — automation failures requiring daily manual reassignment |\n\nNone of this showed up as a problem in the usual adoption dashboards — every tool was \"active,\" which is a different measurement from whether it was actually creating value. Pulling 14 business days of historical logs and tracing where these four patterns cost real time and money added up to a **$77,235/year** leak.\n\n`melt_estimate_annual_leak` generalizes this same shape of analysis — `totalVolume × (leakRatePct/100) × valuePerEvent` — for any leak pattern with a known or hypothesized volume and rate. `melt_analyze_value_vectors` is the earlier-stage tool for when you don't yet know where to look.\n\n`melt_estimate_annual_leak` replaced four formula-named calculators\n(`melt_calculate_feature_waste`, `_dso_cash_flow_impact`,\n`_contract_cycle_revenue_unlock`, `_win_rate_pipeline_impact`) that\nimplemented financial formulas from a retired product framing (Thermal Scan /\nFeature Waste Dollar Amount™ / Delta Engine) — none of which appear in any\ncurrent Melt material. See `CLAUDE.md`'s \"What's Explicitly Retired\" section.\n\n## Install & run\n\n```bash\ncd mcp-server\nnpm install\nnpm run build\nnpm start          # runs dist/index.js on stdio\n```\n\nTo poke at it interactively before wiring it into a client:\n\n```bash\nnpm run inspect     # launches the MCP Inspector against the built server\n```\n\n## Wiring into Claude Desktop / Claude Code\n\nPublished on npm — one-line config, no local clone needed:\n\n```json\n{\n  \"mcpServers\": {\n    \"melt\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@themelt/mcp-server\"]\n    }\n  }\n}\n```\n\nOr from a local clone:\n\n```json\n{\n  \"mcpServers\": {\n    \"melt\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/mcp-server/dist/index.js\"]\n    }\n  }\n}\n```\n\n## One-click install (.mcpb bundle)\n\nFor Claude Desktop specifically, `themelt-mcp-server.mcpb` (Anthropic's [MCP\nBundle format](https://github.com/modelcontextprotocol/mcpb)) installs with a\ndouble-click — no terminal, no config file editing. Download the `.mcpb` from\nthe [latest GitHub Release](https://github.com/omer907/mcp-server/releases/latest)\nand either double-click it or drag it into Claude Desktop's Settings window.\n\nTo rebuild it from source:\n\n```bash\nnpm run build:mcpb   # produces themelt-mcp-server.mcpb\n```\n\nThe manifest (`mcpb-build/manifest.json`) is hand-maintained, not\nauto-generated from the TypeScript source — if a tool's name, parameters, or\ndescription change, update the manifest's `tools` array to match.\n\n## Hosted HTTP transport\n\n`dist/index.js` (stdio) is what gets configured into a local Claude Desktop/\nCursor install. `dist/httpServer.js` is an alternate entrypoint implementing\nthe MCP Streamable HTTP transport — what a future \"Launch Hosted MCP\" web\nbutton (LLMO_PLAYBOOK.md, Task 3.2) would point at, so someone can try the\ntools without installing anything locally.\n\n```bash\nnpm run build\nPORT=3000 npm run start:http   # POST MCP JSON-RPC to http://localhost:3000/mcp\n```\n\nStateless by design — no session ID, a fresh server instance per request.\nAuth is opt-in via `MCP_HTTP_API_KEY` (unset by default): with it unset, the\nendpoint stays fully open — the appropriate trust boundary for what this\nexposes today (read-only calculators plus a lead-capture form, the same\nboundary as a public website contact form). Set it before putting anything\nmore sensitive behind this transport:\n\n```bash\nMCP_HTTP_API_KEY=some-long-random-value PORT=3000 npm run start:http\n```\n\nEvery `/mcp` request then needs `Authorization: Bearer some-long-random-value`\n— missing or wrong key gets a 401. Compared with `crypto.timingSafeEqual`, not\na plain string `===`, so response timing can't be used to guess the key one\nbyte at a time. Not deployed anywhere yet; this is the code, not a live URL —\ndeploying it (Vercel/Fly/Render/etc.) is a separate, later decision.\n\n## Tool-call analytics\n\nEvery tool call (success or error) appends one line to `mcp-server/analytics.jsonl`\n(gitignored) and logs a one-line summary to stderr — tool name, ok/error, and\nthe error code if applicable. Deliberately excludes dollar figures, contact\ninfo, and free-text notes; kept separate from `leads.jsonl`'s PII. This is\nwhat answers \"is anyone actually using this\" and \"which tool description is\nconfusing models,\" independent of `llmo-eval`'s citation-only audit.\n\n## Environment variables\n\n| Variable | Required | Purpose |\n|---|---|---|\n| `HUBSPOT_PORTAL_ID` | No | Overrides the default HubSpot Portal ID for `melt_request_scan` (e.g. to test against a sandbox form). |\n| `HUBSPOT_FORM_ID` | No | Paired with `HUBSPOT_PORTAL_ID`. |\n| `PORT` | No | Port for `start:http` (default 3000). |\n| `MCP_HTTP_API_KEY` | No | If set, requires `Authorization: Bearer <key>` on every hosted-HTTP `/mcp` request. Unset by default — stdio transport is unaffected either way (no HTTP surface to gate). |\n\nReal Portal ID / Form ID defaults are already baked into the code (they\naren't secrets — the same values are exposed in any public HubSpot embed\nsnippet), so `melt_request_scan` reaches the real Melt pipeline with zero\nconfiguration. If HubSpot submission fails for any reason, requests fall back\nto `mcp-server/leads.jsonl` (gitignored) instead of being lost.\n\n## Publishing\n\nPublished under the `@themelt` npm org (created 2026-07-20, owner `omer_melt`)\nunder the MIT license. `npm publish` is effectively one-way — npm allows\nunpublishing within 72 hours but strongly discourages it and blocks it\nentirely once a package has dependents, so treat any published version as\npermanent.\n",
  "bytes": 7739,
  "sha": "396a0b08aaa0610ae5c463a54109c0372a1facfc92045f3bbddd216630126e48",
  "repo_slug": "omer907/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_omer907_mcp_server_6c4b45c6/readme"
}