@cachly-dev/mcp-server 0.10.75 → 0.10.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -0
- package/dist/src/handlers/brain.js +15 -1
- package/dist/src/handlers/brain.js.map +1 -1
- package/dist/src/index.js +110 -37
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -331,6 +331,40 @@ sessions + WIP registry — typically one tool call.
|
|
|
331
331
|
|
|
332
332
|
---
|
|
333
333
|
|
|
334
|
+
## Editor support matrix
|
|
335
|
+
|
|
336
|
+
`npx @cachly-dev/mcp-server@latest setup` auto-detects and configures all of the
|
|
337
|
+
following. Manual snippets are in the **Manual Setup** section below.
|
|
338
|
+
|
|
339
|
+
| Editor / Client | Auto-setup | Config file written | Global config | Notes |
|
|
340
|
+
|---|---|---|---|---|
|
|
341
|
+
| **Claude Code** | ✅ | `~/.claude/mcp.json` + `.mcp.json` | ✅ global always | Runtime device-flow sign-in on first tool call |
|
|
342
|
+
| **Cursor** | ✅ detected via `.cursor/` | `.cursor/mcp.json` | — | Project-level; restart Cursor after setup |
|
|
343
|
+
| **Windsurf** | ✅ detected via `.windsurf/` | `.windsurf/mcp.json` | — | Project-level; restart Windsurf after setup |
|
|
344
|
+
| **VS Code + Copilot** | ✅ detected via `.vscode/` | `.vscode/mcp.json` | — | Requires VS Code MCP extension or Copilot chat |
|
|
345
|
+
| **Cline** | ✅ detected via VS Code | `.vscode/mcp.json` | — | Shares config with Copilot; restart VS Code |
|
|
346
|
+
| **Continue.dev** | ✅ detected via `.continue/` | `.continue/config.json` | — | Uses `modelContextProtocolServers` key |
|
|
347
|
+
| **Zed** | ✅ detected via `.zed/` | `.zed/settings.json` | — | Uses `context_servers` key |
|
|
348
|
+
| **Windsurf (global)** | `setup --editor windsurf` | `~/.windsurf/mcp.json` | ✅ | Pass `--editor` to target global config |
|
|
349
|
+
| **Any other MCP client** | `init --editor claude` | `.mcp.json` | — | Standard `mcpServers` stdio format |
|
|
350
|
+
|
|
351
|
+
**Which sign-in path each editor uses:**
|
|
352
|
+
|
|
353
|
+
| Scenario | Path |
|
|
354
|
+
|---|---|
|
|
355
|
+
| `setup` from a real terminal (TTY) | OAuth device-flow → browser click → API key saved automatically |
|
|
356
|
+
| `setup` from VSCode task / CI (non-TTY) | Auto-detects non-interactive, opens browser with step-by-step guide, prints `CACHLY_JWT=... setup` instruction |
|
|
357
|
+
| First tool call from Claude Code (no JWT yet) | Inline device-flow: MCP returns URL + code, browser opens automatically, next call proceeds |
|
|
358
|
+
| `CACHLY_JWT=cky_live_xxx npx ... setup` | Skips auth step entirely, uses provided key |
|
|
359
|
+
|
|
360
|
+
> **Tip — fastest per-project setup from inside Claude Code:**
|
|
361
|
+
> ```
|
|
362
|
+
> Set up cachly for this project: npx @cachly-dev/mcp-server@latest setup
|
|
363
|
+
> ```
|
|
364
|
+
> Claude runs it and restarts automatically.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
334
368
|
## Manual Setup
|
|
335
369
|
|
|
336
370
|
<details>
|
|
@@ -384,6 +418,46 @@ On the first tool call your AI will prompt you to sign in — takes 10 seconds.
|
|
|
384
418
|
|
|
385
419
|
---
|
|
386
420
|
|
|
421
|
+
## Self-hosting & BYOK
|
|
422
|
+
|
|
423
|
+
cachly is **bring-your-own-key and self-host friendly out of the box** — no
|
|
424
|
+
enterprise contract required to keep data in your own infra.
|
|
425
|
+
|
|
426
|
+
**Bring your own embedding key (BYOK).** Semantic search runs on the embedding
|
|
427
|
+
provider *you* choose. Set one env var and cachly auto-detects it; no key needed if
|
|
428
|
+
you prefer cachly's server-side embeddings (uses your JWT):
|
|
429
|
+
|
|
430
|
+
| Provider | Env var | Model |
|
|
431
|
+
|---|---|---|
|
|
432
|
+
| OpenAI | `OPENAI_API_KEY` | `text-embedding-3-small` |
|
|
433
|
+
| Google Gemini | `GEMINI_API_KEY` | `text-embedding-004` |
|
|
434
|
+
| Mistral | `MISTRAL_API_KEY` | `mistral-embed` |
|
|
435
|
+
| Cohere | `COHERE_API_KEY` | `embed-english-v3.0` |
|
|
436
|
+
| Ollama (local, free) | `OLLAMA_BASE_URL` | `nomic-embed-text` |
|
|
437
|
+
| cachly (server-side) | *(none — uses JWT)* | managed |
|
|
438
|
+
|
|
439
|
+
Force a specific one with `CACHLY_EMBED_PROVIDER=openai`. Run
|
|
440
|
+
`npx @cachly-dev/mcp-server@latest health` to confirm which provider is active.
|
|
441
|
+
|
|
442
|
+
**Point at your own backend (self-hosting).** Every cachly install can talk to a
|
|
443
|
+
private backend instead of `api.cachly.dev`:
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
# One-shot: wire up the wizard against your self-hosted backend
|
|
447
|
+
npx @cachly-dev/mcp-server@latest setup --api-url https://cachly.mycorp.internal
|
|
448
|
+
|
|
449
|
+
# Or non-interactively
|
|
450
|
+
npx @cachly-dev/mcp-server@latest init \
|
|
451
|
+
--instance-id <uuid> --api-key <cky_live_...> \
|
|
452
|
+
--api-url https://cachly.mycorp.internal
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
`setup`/`init` bake `CACHLY_API_URL` into the editor config **only** when it differs
|
|
456
|
+
from the default cloud — so default installs stay clean, and self-hosted installs
|
|
457
|
+
keep talking to your backend on every editor launch. All data stays in your infra.
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
387
461
|
## Pricing
|
|
388
462
|
|
|
389
463
|
| Tier | RAM | Price | Best for |
|
|
@@ -7,8 +7,22 @@ import { keywordSearch, tokenize, splitMultiQuery, levenshtein, indexVocab as _i
|
|
|
7
7
|
import { rerankByQuality } from '../rerank.js';
|
|
8
8
|
import { computeEmbedding, hasEmbedProvider } from '../embeddings.js';
|
|
9
9
|
// ── Changelog (shown once per version in session_start) ──────────────────────
|
|
10
|
-
const MCP_VERSION = '0.10.
|
|
10
|
+
const MCP_VERSION = '0.10.77';
|
|
11
11
|
const WHATS_NEW = {
|
|
12
|
+
'0.10.77': [
|
|
13
|
+
`🩹 **Frictionless onboarding + first-class self-hosting/BYOK**`,
|
|
14
|
+
` 🚀 Editor-launched server now serves all tools even before sign-in — zero-credential device flow finally triggers on first tool call`,
|
|
15
|
+
` 🔒 No more stdout pollution: stdio JSON-RPC stream stays clean when no JWT is set`,
|
|
16
|
+
` 🏠 \`setup --api-url\` / \`init --api-url\` point at a self-hosted backend; URL baked into config only when non-default`,
|
|
17
|
+
` 🧬 \`health\` now shows your BYOK embedding provider + accepts cky_ long-lived keys (was a false "invalid token" failure)`,
|
|
18
|
+
],
|
|
19
|
+
'0.10.76': [
|
|
20
|
+
`📊 **Agent-trace benchmark + editor matrix + setup timer**`,
|
|
21
|
+
` 📂 New \`agent-traces-corpus.json\` — 22 lessons, 15 queries, realistic AI-agent debug patterns`,
|
|
22
|
+
` 🏆 Benchmark result: **P@1 +66.7%, MRR +9.5% vs flat-file** (adversarial failure-distractors per category)`,
|
|
23
|
+
` 📋 README: first-class editor support matrix (Claude Code, Cursor, Windsurf, VSCode, Cline, Continue.dev, Zed)`,
|
|
24
|
+
` ⏱️ setup now shows elapsed time + "Brain is ready" banner at the end`,
|
|
25
|
+
],
|
|
12
26
|
'0.10.75': [
|
|
13
27
|
`🩹 **Setup hardened — works from the VSCode plugin & any non-TTY terminal**`,
|
|
14
28
|
` 🔌 \`setup\` no longer hangs on a non-interactive stdin (VSCode tasks, CI) — auto-detects + runs in automatic mode`,
|