@cachly-dev/mcp-server 0.9.9 → 0.9.10
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/dist/index.js +42 -17
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +44 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cachly-dev/mcp-server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.10",
|
|
4
4
|
"mcpName": "io.github.cachly-dev/cachly-mcp",
|
|
5
5
|
"description": "Your AI forgets everything between sessions. cachly fixes that permanently. A causal brain that learns WHY things break — built from every bug fix, git commit, and CI run, without any explicit calls. Arrives pre-briefed each session. Predicts failures before they happen. Never re-researches the same problem. 63 MCP tools · Claude Code · Cursor · GitHub Copilot · Windsurf · Free tier · EU servers.",
|
|
6
6
|
"type": "module",
|
package/src/index.ts
CHANGED
|
@@ -2408,7 +2408,13 @@ const TOOLS = [
|
|
|
2408
2408
|
// ── Instance Management ──────────────────────────────────────────────────
|
|
2409
2409
|
{
|
|
2410
2410
|
name: 'list_instances',
|
|
2411
|
-
description:
|
|
2411
|
+
description:
|
|
2412
|
+
'List all your cachly cache instances with their status and connection details. ' +
|
|
2413
|
+
'Read-only. Returns an array of instance objects — each with id, name, tier, status, region, RAM, ' +
|
|
2414
|
+
'and redis:// connection string. Returns an empty array if no instances exist. ' +
|
|
2415
|
+
'No pagination: all instances are returned in one call (typical accounts have < 20). ' +
|
|
2416
|
+
'Use this first to discover instance UUIDs required by get_instance, cache_get, cache_set, ' +
|
|
2417
|
+
'and all other cache tools. Use get_instance to retrieve full metadata for a single instance.',
|
|
2412
2418
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
2413
2419
|
},
|
|
2414
2420
|
{
|
|
@@ -2433,7 +2439,12 @@ const TOOLS = [
|
|
|
2433
2439
|
},
|
|
2434
2440
|
{
|
|
2435
2441
|
name: 'get_instance',
|
|
2436
|
-
description:
|
|
2442
|
+
description:
|
|
2443
|
+
'Get full metadata for a specific cache instance: name, tier, status (provisioning / running / paused), ' +
|
|
2444
|
+
'region, RAM limit, Redis connection string, created_at, and expiry. Read-only. ' +
|
|
2445
|
+
'Returns an error if the instance_id is not found or belongs to another account. ' +
|
|
2446
|
+
'Call list_instances first to discover valid UUIDs. ' +
|
|
2447
|
+
'Use get_connection_string instead if you only need the redis:// URL for your app config.',
|
|
2437
2448
|
inputSchema: {
|
|
2438
2449
|
type: 'object',
|
|
2439
2450
|
properties: {
|
|
@@ -2572,11 +2583,15 @@ const TOOLS = [
|
|
|
2572
2583
|
name: 'cache_stats',
|
|
2573
2584
|
description:
|
|
2574
2585
|
'Get real-time stats for a cache instance: memory usage, hit/miss rate, commands/sec, ' +
|
|
2575
|
-
'connected clients, keyspace info, and uptime.'
|
|
2586
|
+
'connected clients, keyspace info, and uptime. Read-only — no side effects. ' +
|
|
2587
|
+
'The instance_id identifies the target instance (obtain from list_instances). ' +
|
|
2588
|
+
'Use this for monitoring, capacity planning, or debugging performance issues — ' +
|
|
2589
|
+
'not for reading cached values (use cache_get for that). ' +
|
|
2590
|
+
'Use cache_exists or cache_ttl if you only need key-level information.',
|
|
2576
2591
|
inputSchema: {
|
|
2577
2592
|
type: 'object',
|
|
2578
2593
|
properties: {
|
|
2579
|
-
instance_id: { type: 'string' },
|
|
2594
|
+
instance_id: { type: 'string', description: 'UUID of the cache instance (from list_instances)' },
|
|
2580
2595
|
},
|
|
2581
2596
|
required: ['instance_id'],
|
|
2582
2597
|
},
|
|
@@ -3432,8 +3447,12 @@ const TOOLS = [
|
|
|
3432
3447
|
name: 'import_public_brain',
|
|
3433
3448
|
description:
|
|
3434
3449
|
'Import community lessons from the Cachly Public Brain for a framework. ' +
|
|
3435
|
-
'
|
|
3436
|
-
'
|
|
3450
|
+
'Non-destructive: existing lessons with the same topic key are not overwritten. ' +
|
|
3451
|
+
'Returns the count of lessons imported and their topic slugs. ' +
|
|
3452
|
+
'Available frameworks: nextjs, fastapi, go, docker, kubernetes, react, typescript, python, rust, laravel, rails, spring. ' +
|
|
3453
|
+
'Use this to bootstrap a new brain with battle-tested community knowledge before your first session_start. ' +
|
|
3454
|
+
'Use publish_lesson to contribute your own lessons to the Public Brain; ' +
|
|
3455
|
+
'use learn_from_attempts for storing lessons from your own sessions.',
|
|
3437
3456
|
inputSchema: {
|
|
3438
3457
|
type: 'object',
|
|
3439
3458
|
properties: {
|
|
@@ -3653,12 +3672,16 @@ const TOOLS = [
|
|
|
3653
3672
|
{
|
|
3654
3673
|
name: 'causal_trace',
|
|
3655
3674
|
description:
|
|
3656
|
-
'Root Cause Analysis through memory
|
|
3657
|
-
'
|
|
3658
|
-
'
|
|
3675
|
+
'Root Cause Analysis through memory: given a problem description, traces the causal chain ' +
|
|
3676
|
+
'from root cause through intermediate failures to the current symptom, then surfaces the ' +
|
|
3677
|
+
'exact solution that worked before. Read-only — does not modify any stored data. ' +
|
|
3678
|
+
'Requires prior learning: brain must have lessons stored via learn_from_attempts or brain_from_git. ' +
|
|
3679
|
+
'Returns an ordered chain of concepts with confidence scores plus the matching solution; ' +
|
|
3680
|
+
'returns an empty chain with a message if no causal path is found. ' +
|
|
3659
3681
|
'Example: causal_trace(problem="auth breaks after restart") → ' +
|
|
3660
|
-
'"Root: k8s:namespace-terminating → keycloak:jwks-race → Solution
|
|
3661
|
-
'
|
|
3682
|
+
'"Root: k8s:namespace-terminating → keycloak:jwks-race → Solution: PollUntilContextTimeout 3min". ' +
|
|
3683
|
+
'Use recall_best_solution for direct topic lookup, syndicate_search for community patterns, ' +
|
|
3684
|
+
'and causal_trace when you have a symptom and need the full root-cause chain.',
|
|
3662
3685
|
inputSchema: {
|
|
3663
3686
|
type: 'object',
|
|
3664
3687
|
properties: {
|
|
@@ -3691,12 +3714,16 @@ const TOOLS = [
|
|
|
3691
3714
|
{
|
|
3692
3715
|
name: 'autopilot',
|
|
3693
3716
|
description:
|
|
3694
|
-
'
|
|
3695
|
-
'
|
|
3696
|
-
'
|
|
3697
|
-
'
|
|
3698
|
-
'
|
|
3699
|
-
'
|
|
3717
|
+
'Generate a CLAUDE.md / copilot-instructions.md that makes any AI self-managing forever. ' +
|
|
3718
|
+
'Writes a configuration file to disk — will overwrite an existing file at the target path. ' +
|
|
3719
|
+
'No auth required beyond a valid instance_id. ' +
|
|
3720
|
+
'The generated file instructs Claude, Cursor, Copilot, Windsurf, or Gemini to automatically ' +
|
|
3721
|
+
'call session_start at window open, learn_from_attempts after every fix, and session_end ' +
|
|
3722
|
+
'before closing — without being asked. ' +
|
|
3723
|
+
'Returns the generated file content as a string and the path where it was written. ' +
|
|
3724
|
+
'Use style="minimal" for just the three hooks; style="full" for the complete ruleset with examples. ' +
|
|
3725
|
+
'One command. Every AI. Always on. ' +
|
|
3726
|
+
'Use setup_ai_memory instead if you want an interactive one-shot setup that also creates an instance.',
|
|
3700
3727
|
inputSchema: {
|
|
3701
3728
|
type: 'object',
|
|
3702
3729
|
properties: {
|