@cachly-dev/mcp-server 0.10.115 → 0.10.117
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 +12 -2
- package/dist/src/handlers/brain.js +22 -10
- package/dist/src/handlers/brain.js.map +1 -1
- package/dist/src/index.js +2 -19
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools.d.ts +0 -196
- package/dist/src/tools.js +0 -178
- package/dist/src/tools.js.map +1 -1
- package/dist/src/toolspecs.d.ts +1 -1
- package/dist/src/toolspecs.js +1 -1
- package/glama.json +3 -1
- package/package.json +16 -4
- package/server.json +3 -3
- package/dist/src/handlers/tco.d.ts +0 -16
- package/dist/src/handlers/tco.js +0 -304
- package/dist/src/handlers/tco.js.map +0 -1
package/dist/src/tools.d.ts
CHANGED
|
@@ -2699,202 +2699,6 @@ declare const TOOLS: readonly [{
|
|
|
2699
2699
|
};
|
|
2700
2700
|
readonly required: readonly ["instance_id", "context"];
|
|
2701
2701
|
};
|
|
2702
|
-
}, {
|
|
2703
|
-
readonly name: "tco_list_trips";
|
|
2704
|
-
readonly description: string;
|
|
2705
|
-
readonly inputSchema: {
|
|
2706
|
-
readonly type: "object";
|
|
2707
|
-
readonly properties: {};
|
|
2708
|
-
readonly required: readonly [];
|
|
2709
|
-
};
|
|
2710
|
-
}, {
|
|
2711
|
-
readonly name: "tco_create_trip";
|
|
2712
|
-
readonly description: string;
|
|
2713
|
-
readonly inputSchema: {
|
|
2714
|
-
readonly type: "object";
|
|
2715
|
-
readonly properties: {
|
|
2716
|
-
readonly name: {
|
|
2717
|
-
readonly type: "string";
|
|
2718
|
-
readonly description: "Trip name, e.g. \"Barcelona Sommer 2025\"";
|
|
2719
|
-
};
|
|
2720
|
-
readonly description: {
|
|
2721
|
-
readonly type: "string";
|
|
2722
|
-
readonly description: "Optional trip description";
|
|
2723
|
-
};
|
|
2724
|
-
readonly start_date: {
|
|
2725
|
-
readonly type: "string";
|
|
2726
|
-
readonly description: "Start date (YYYY-MM-DD), optional";
|
|
2727
|
-
};
|
|
2728
|
-
readonly end_date: {
|
|
2729
|
-
readonly type: "string";
|
|
2730
|
-
readonly description: "End date (YYYY-MM-DD), optional";
|
|
2731
|
-
};
|
|
2732
|
-
};
|
|
2733
|
-
readonly required: readonly ["name"];
|
|
2734
|
-
};
|
|
2735
|
-
}, {
|
|
2736
|
-
readonly name: "tco_get_timeline";
|
|
2737
|
-
readonly description: string;
|
|
2738
|
-
readonly inputSchema: {
|
|
2739
|
-
readonly type: "object";
|
|
2740
|
-
readonly properties: {
|
|
2741
|
-
readonly trip_id: {
|
|
2742
|
-
readonly type: "string";
|
|
2743
|
-
readonly description: "UUID of the trip (from tco_list_trips)";
|
|
2744
|
-
};
|
|
2745
|
-
};
|
|
2746
|
-
readonly required: readonly ["trip_id"];
|
|
2747
|
-
};
|
|
2748
|
-
}, {
|
|
2749
|
-
readonly name: "tco_delete_trip";
|
|
2750
|
-
readonly description: "Permanently delete a trip and all its timeline items. This is irreversible.";
|
|
2751
|
-
readonly inputSchema: {
|
|
2752
|
-
readonly type: "object";
|
|
2753
|
-
readonly properties: {
|
|
2754
|
-
readonly trip_id: {
|
|
2755
|
-
readonly type: "string";
|
|
2756
|
-
readonly description: "UUID of the trip to delete";
|
|
2757
|
-
};
|
|
2758
|
-
};
|
|
2759
|
-
readonly required: readonly ["trip_id"];
|
|
2760
|
-
};
|
|
2761
|
-
}, {
|
|
2762
|
-
readonly name: "tco_inbox_list";
|
|
2763
|
-
readonly description: string;
|
|
2764
|
-
readonly inputSchema: {
|
|
2765
|
-
readonly type: "object";
|
|
2766
|
-
readonly properties: {
|
|
2767
|
-
readonly status: {
|
|
2768
|
-
readonly type: "string";
|
|
2769
|
-
readonly enum: readonly ["pending", "assigned", "rejected"];
|
|
2770
|
-
readonly description: "Filter by status (default: pending)";
|
|
2771
|
-
};
|
|
2772
|
-
};
|
|
2773
|
-
readonly required: readonly [];
|
|
2774
|
-
};
|
|
2775
|
-
}, {
|
|
2776
|
-
readonly name: "tco_inbox_assign";
|
|
2777
|
-
readonly description: string;
|
|
2778
|
-
readonly inputSchema: {
|
|
2779
|
-
readonly type: "object";
|
|
2780
|
-
readonly properties: {
|
|
2781
|
-
readonly inbox_id: {
|
|
2782
|
-
readonly type: "string";
|
|
2783
|
-
readonly description: "UUID of the inbox item";
|
|
2784
|
-
};
|
|
2785
|
-
readonly trip_id: {
|
|
2786
|
-
readonly type: "string";
|
|
2787
|
-
readonly description: "UUID of the target trip";
|
|
2788
|
-
};
|
|
2789
|
-
readonly type: {
|
|
2790
|
-
readonly type: "string";
|
|
2791
|
-
readonly enum: readonly ["flight", "train", "bus", "hotel", "rental_car", "activity", "transfer", "document", "other"];
|
|
2792
|
-
readonly description: "Item type (default: other)";
|
|
2793
|
-
};
|
|
2794
|
-
};
|
|
2795
|
-
readonly required: readonly ["inbox_id", "trip_id"];
|
|
2796
|
-
};
|
|
2797
|
-
}, {
|
|
2798
|
-
readonly name: "tco_inbox_reject";
|
|
2799
|
-
readonly description: "Remove an item from the Chaos Inbox without assigning it to any trip.";
|
|
2800
|
-
readonly inputSchema: {
|
|
2801
|
-
readonly type: "object";
|
|
2802
|
-
readonly properties: {
|
|
2803
|
-
readonly inbox_id: {
|
|
2804
|
-
readonly type: "string";
|
|
2805
|
-
readonly description: "UUID of the inbox item to reject";
|
|
2806
|
-
};
|
|
2807
|
-
};
|
|
2808
|
-
readonly required: readonly ["inbox_id"];
|
|
2809
|
-
};
|
|
2810
|
-
}, {
|
|
2811
|
-
readonly name: "tco_parse_url";
|
|
2812
|
-
readonly description: string;
|
|
2813
|
-
readonly inputSchema: {
|
|
2814
|
-
readonly type: "object";
|
|
2815
|
-
readonly properties: {
|
|
2816
|
-
readonly url: {
|
|
2817
|
-
readonly type: "string";
|
|
2818
|
-
readonly description: "Public URL to fetch and parse";
|
|
2819
|
-
};
|
|
2820
|
-
readonly trip_id: {
|
|
2821
|
-
readonly type: "string";
|
|
2822
|
-
readonly description: "Trip UUID to assign to directly (omit to send to Chaos Inbox)";
|
|
2823
|
-
};
|
|
2824
|
-
};
|
|
2825
|
-
readonly required: readonly ["url"];
|
|
2826
|
-
};
|
|
2827
|
-
}, {
|
|
2828
|
-
readonly name: "tco_import_email";
|
|
2829
|
-
readonly description: string;
|
|
2830
|
-
readonly inputSchema: {
|
|
2831
|
-
readonly type: "object";
|
|
2832
|
-
readonly properties: {
|
|
2833
|
-
readonly raw_email: {
|
|
2834
|
-
readonly type: "string";
|
|
2835
|
-
readonly description: "Full email text including headers";
|
|
2836
|
-
};
|
|
2837
|
-
readonly trip_id: {
|
|
2838
|
-
readonly type: "string";
|
|
2839
|
-
readonly description: "Trip UUID to assign directly (omit to send to Chaos Inbox)";
|
|
2840
|
-
};
|
|
2841
|
-
};
|
|
2842
|
-
readonly required: readonly ["raw_email"];
|
|
2843
|
-
};
|
|
2844
|
-
}, {
|
|
2845
|
-
readonly name: "tco_parse_text";
|
|
2846
|
-
readonly description: string;
|
|
2847
|
-
readonly inputSchema: {
|
|
2848
|
-
readonly type: "object";
|
|
2849
|
-
readonly properties: {
|
|
2850
|
-
readonly text: {
|
|
2851
|
-
readonly type: "string";
|
|
2852
|
-
readonly description: "Raw text to parse (booking confirmation, itinerary, etc.)";
|
|
2853
|
-
};
|
|
2854
|
-
readonly trip_id: {
|
|
2855
|
-
readonly type: "string";
|
|
2856
|
-
readonly description: "Trip UUID to assign directly (omit to send to Chaos Inbox)";
|
|
2857
|
-
};
|
|
2858
|
-
};
|
|
2859
|
-
readonly required: readonly ["text"];
|
|
2860
|
-
};
|
|
2861
|
-
}, {
|
|
2862
|
-
readonly name: "tco_cache_stats";
|
|
2863
|
-
readonly description: string;
|
|
2864
|
-
readonly inputSchema: {
|
|
2865
|
-
readonly type: "object";
|
|
2866
|
-
readonly properties: {};
|
|
2867
|
-
readonly required: readonly [];
|
|
2868
|
-
};
|
|
2869
|
-
}, {
|
|
2870
|
-
readonly name: "tco_provision_cache";
|
|
2871
|
-
readonly description: string;
|
|
2872
|
-
readonly inputSchema: {
|
|
2873
|
-
readonly type: "object";
|
|
2874
|
-
readonly properties: {};
|
|
2875
|
-
readonly required: readonly [];
|
|
2876
|
-
};
|
|
2877
|
-
}, {
|
|
2878
|
-
readonly name: "tco_telegram_status";
|
|
2879
|
-
readonly description: string;
|
|
2880
|
-
readonly inputSchema: {
|
|
2881
|
-
readonly type: "object";
|
|
2882
|
-
readonly properties: {};
|
|
2883
|
-
readonly required: readonly [];
|
|
2884
|
-
};
|
|
2885
|
-
}, {
|
|
2886
|
-
readonly name: "tco_telegram_send";
|
|
2887
|
-
readonly description: string;
|
|
2888
|
-
readonly inputSchema: {
|
|
2889
|
-
readonly type: "object";
|
|
2890
|
-
readonly properties: {
|
|
2891
|
-
readonly message: {
|
|
2892
|
-
readonly type: "string";
|
|
2893
|
-
readonly description: "Message text to send. Markdown supported (bold **text**, code `value`).";
|
|
2894
|
-
};
|
|
2895
|
-
};
|
|
2896
|
-
readonly required: readonly ["message"];
|
|
2897
|
-
};
|
|
2898
2702
|
}, {
|
|
2899
2703
|
readonly name: "brain_share";
|
|
2900
2704
|
readonly description: string;
|
package/dist/src/tools.js
CHANGED
|
@@ -2284,184 +2284,6 @@ const TOOLS = [
|
|
|
2284
2284
|
required: ['instance_id', 'context'],
|
|
2285
2285
|
},
|
|
2286
2286
|
},
|
|
2287
|
-
// ── Travel Chaos Organizer (TCO) ─────────────────────────────────────────
|
|
2288
|
-
// Requires TCO_API_URL env var pointing to the TCO FastAPI backend.
|
|
2289
|
-
// Auth is shared with Cachly via the same Keycloak realm (CACHLY_JWT forwarded).
|
|
2290
|
-
{
|
|
2291
|
-
name: 'tco_list_trips',
|
|
2292
|
-
description: 'List all travel trips in Travel Chaos Organizer. ' +
|
|
2293
|
-
'Returns trip name, id, and date range. Use tco_get_timeline to see items for a specific trip. ' +
|
|
2294
|
-
'Requires TCO_API_URL to be configured.',
|
|
2295
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
2296
|
-
},
|
|
2297
|
-
{
|
|
2298
|
-
name: 'tco_create_trip',
|
|
2299
|
-
description: 'Create a new trip in Travel Chaos Organizer. ' +
|
|
2300
|
-
'Dates are optional ISO strings (YYYY-MM-DD). ' +
|
|
2301
|
-
'Returns the new trip id.',
|
|
2302
|
-
inputSchema: {
|
|
2303
|
-
type: 'object',
|
|
2304
|
-
properties: {
|
|
2305
|
-
name: { type: 'string', description: 'Trip name, e.g. "Barcelona Sommer 2025"' },
|
|
2306
|
-
description: { type: 'string', description: 'Optional trip description' },
|
|
2307
|
-
start_date: { type: 'string', description: 'Start date (YYYY-MM-DD), optional' },
|
|
2308
|
-
end_date: { type: 'string', description: 'End date (YYYY-MM-DD), optional' },
|
|
2309
|
-
},
|
|
2310
|
-
required: ['name'],
|
|
2311
|
-
},
|
|
2312
|
-
},
|
|
2313
|
-
{
|
|
2314
|
-
name: 'tco_get_timeline',
|
|
2315
|
-
description: 'Get the full timeline (flights, hotels, trains, activities …) for a trip. ' +
|
|
2316
|
-
'Use tco_list_trips first to get the trip_id. ' +
|
|
2317
|
-
'Returns items sorted by event_at with type icon, time, provider, and booking reference.',
|
|
2318
|
-
inputSchema: {
|
|
2319
|
-
type: 'object',
|
|
2320
|
-
properties: {
|
|
2321
|
-
trip_id: { type: 'string', description: 'UUID of the trip (from tco_list_trips)' },
|
|
2322
|
-
},
|
|
2323
|
-
required: ['trip_id'],
|
|
2324
|
-
},
|
|
2325
|
-
},
|
|
2326
|
-
{
|
|
2327
|
-
name: 'tco_delete_trip',
|
|
2328
|
-
description: 'Permanently delete a trip and all its timeline items. This is irreversible.',
|
|
2329
|
-
inputSchema: {
|
|
2330
|
-
type: 'object',
|
|
2331
|
-
properties: {
|
|
2332
|
-
trip_id: { type: 'string', description: 'UUID of the trip to delete' },
|
|
2333
|
-
},
|
|
2334
|
-
required: ['trip_id'],
|
|
2335
|
-
},
|
|
2336
|
-
},
|
|
2337
|
-
{
|
|
2338
|
-
name: 'tco_inbox_list',
|
|
2339
|
-
description: 'List items in the Travel Chaos Organizer Chaos Inbox — unassigned documents, ' +
|
|
2340
|
-
'emails, and PDFs that Ollama has parsed but not yet assigned to a trip. ' +
|
|
2341
|
-
'Use tco_inbox_assign to move them to a trip or tco_inbox_reject to discard.',
|
|
2342
|
-
inputSchema: {
|
|
2343
|
-
type: 'object',
|
|
2344
|
-
properties: {
|
|
2345
|
-
status: {
|
|
2346
|
-
type: 'string',
|
|
2347
|
-
enum: ['pending', 'assigned', 'rejected'],
|
|
2348
|
-
description: 'Filter by status (default: pending)',
|
|
2349
|
-
},
|
|
2350
|
-
},
|
|
2351
|
-
required: [],
|
|
2352
|
-
},
|
|
2353
|
-
},
|
|
2354
|
-
{
|
|
2355
|
-
name: 'tco_inbox_assign',
|
|
2356
|
-
description: 'Assign a Chaos Inbox item to an existing trip, creating a timeline entry. ' +
|
|
2357
|
-
'Use tco_inbox_list to discover inbox_id values and tco_list_trips for trip_ids.',
|
|
2358
|
-
inputSchema: {
|
|
2359
|
-
type: 'object',
|
|
2360
|
-
properties: {
|
|
2361
|
-
inbox_id: { type: 'string', description: 'UUID of the inbox item' },
|
|
2362
|
-
trip_id: { type: 'string', description: 'UUID of the target trip' },
|
|
2363
|
-
type: {
|
|
2364
|
-
type: 'string',
|
|
2365
|
-
enum: ['flight', 'train', 'bus', 'hotel', 'rental_car', 'activity', 'transfer', 'document', 'other'],
|
|
2366
|
-
description: 'Item type (default: other)',
|
|
2367
|
-
},
|
|
2368
|
-
},
|
|
2369
|
-
required: ['inbox_id', 'trip_id'],
|
|
2370
|
-
},
|
|
2371
|
-
},
|
|
2372
|
-
{
|
|
2373
|
-
name: 'tco_inbox_reject',
|
|
2374
|
-
description: 'Remove an item from the Chaos Inbox without assigning it to any trip.',
|
|
2375
|
-
inputSchema: {
|
|
2376
|
-
type: 'object',
|
|
2377
|
-
properties: {
|
|
2378
|
-
inbox_id: { type: 'string', description: 'UUID of the inbox item to reject' },
|
|
2379
|
-
},
|
|
2380
|
-
required: ['inbox_id'],
|
|
2381
|
-
},
|
|
2382
|
-
},
|
|
2383
|
-
{
|
|
2384
|
-
name: 'tco_parse_url',
|
|
2385
|
-
description: 'Fetch a public URL (booking confirmation page, airline URL) and parse it with Ollama AI, ' +
|
|
2386
|
-
'saving the result directly to a trip timeline or the Chaos Inbox. ' +
|
|
2387
|
-
'Useful for quickly importing online booking confirmations without uploading a file.',
|
|
2388
|
-
inputSchema: {
|
|
2389
|
-
type: 'object',
|
|
2390
|
-
properties: {
|
|
2391
|
-
url: { type: 'string', description: 'Public URL to fetch and parse' },
|
|
2392
|
-
trip_id: { type: 'string', description: 'Trip UUID to assign to directly (omit to send to Chaos Inbox)' },
|
|
2393
|
-
},
|
|
2394
|
-
required: ['url'],
|
|
2395
|
-
},
|
|
2396
|
-
},
|
|
2397
|
-
{
|
|
2398
|
-
name: 'tco_import_email',
|
|
2399
|
-
description: 'Import a raw email (paste the full email text including headers) into Travel Chaos Organizer. ' +
|
|
2400
|
-
'Ollama strips headers, parses travel data (flights, hotels, bookings), and saves to inbox or trip. ' +
|
|
2401
|
-
'Ideal for forwarding booking confirmation emails directly through Claude.',
|
|
2402
|
-
inputSchema: {
|
|
2403
|
-
type: 'object',
|
|
2404
|
-
properties: {
|
|
2405
|
-
raw_email: { type: 'string', description: 'Full email text including headers' },
|
|
2406
|
-
trip_id: { type: 'string', description: 'Trip UUID to assign directly (omit to send to Chaos Inbox)' },
|
|
2407
|
-
},
|
|
2408
|
-
required: ['raw_email'],
|
|
2409
|
-
},
|
|
2410
|
-
},
|
|
2411
|
-
{
|
|
2412
|
-
name: 'tco_parse_text',
|
|
2413
|
-
description: 'Parse raw text (booking confirmation, itinerary, travel note) with Ollama AI in Travel Chaos Organizer. ' +
|
|
2414
|
-
'Extracts flight, hotel, train, activity and other travel data. ' +
|
|
2415
|
-
'Results are cached in Cachly Redis — identical text returns instantly without a second AI call. ' +
|
|
2416
|
-
'Saves to a specific trip timeline or to the Chaos Inbox if no trip_id is given.',
|
|
2417
|
-
inputSchema: {
|
|
2418
|
-
type: 'object',
|
|
2419
|
-
properties: {
|
|
2420
|
-
text: { type: 'string', description: 'Raw text to parse (booking confirmation, itinerary, etc.)' },
|
|
2421
|
-
trip_id: { type: 'string', description: 'Trip UUID to assign directly (omit to send to Chaos Inbox)' },
|
|
2422
|
-
},
|
|
2423
|
-
required: ['text'],
|
|
2424
|
-
},
|
|
2425
|
-
},
|
|
2426
|
-
{
|
|
2427
|
-
name: 'tco_cache_stats',
|
|
2428
|
-
description: 'Get Cachly Redis cache statistics for the TCO backend. ' +
|
|
2429
|
-
'Shows how many AI parse results are cached, the cache hit rate, and whether Cachly is connected. ' +
|
|
2430
|
-
'Use this to verify the TCO ↔ Cachly integration is working or to report savings to the user.',
|
|
2431
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
2432
|
-
},
|
|
2433
|
-
{
|
|
2434
|
-
name: 'tco_provision_cache',
|
|
2435
|
-
description: 'Provision a free Cachly Redis instance for Travel Chaos Organizer and return the connection string. ' +
|
|
2436
|
-
'Creates a "tco-cache" instance on cachly.dev (free tier, 25 MB — enough for thousands of parse results). ' +
|
|
2437
|
-
'After provisioning, instruct the user to set CACHLY_REDIS_URL=<returned URL> in their TCO .env and redeploy. ' +
|
|
2438
|
-
'This wires TCO to Cachly so every Ollama parse result is deduplicated automatically.',
|
|
2439
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
2440
|
-
},
|
|
2441
|
-
{
|
|
2442
|
-
name: 'tco_telegram_status',
|
|
2443
|
-
description: 'Check if the current user has linked their Telegram account in Travel Chaos Organizer. ' +
|
|
2444
|
-
'Returns linked status, plan, and guidance to link if not yet connected. ' +
|
|
2445
|
-
'Use before tco_telegram_send to confirm the user will actually receive the message.',
|
|
2446
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
2447
|
-
},
|
|
2448
|
-
{
|
|
2449
|
-
name: 'tco_telegram_send',
|
|
2450
|
-
description: 'Send a Telegram message directly to the current TCO user\'s linked Telegram chat. ' +
|
|
2451
|
-
'Supports Markdown formatting. Use for: summaries, reminders, trip updates, parse results. ' +
|
|
2452
|
-
'Requires the user to have linked Telegram (check with tco_telegram_status first). ' +
|
|
2453
|
-
'Ideal for pushing trip information to the user outside the app.',
|
|
2454
|
-
inputSchema: {
|
|
2455
|
-
type: 'object',
|
|
2456
|
-
properties: {
|
|
2457
|
-
message: {
|
|
2458
|
-
type: 'string',
|
|
2459
|
-
description: 'Message text to send. Markdown supported (bold **text**, code `value`).',
|
|
2460
|
-
},
|
|
2461
|
-
},
|
|
2462
|
-
required: ['message'],
|
|
2463
|
-
},
|
|
2464
|
-
},
|
|
2465
2287
|
// ── Phase 3: Shareable / Public Brains ──────────────────────────────────────
|
|
2466
2288
|
// brain_share, brain_import, brain_share_list, brain_unshare, brain_discover
|
|
2467
2289
|
{
|