@trustrails/mcp-server 1.0.12 → 1.0.14
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 +24 -18
- package/dist/index.js +18 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,18 +57,19 @@ That's it! Restart Claude and start searching.
|
|
|
57
57
|
|
|
58
58
|
### Natural Language Product Search
|
|
59
59
|
|
|
60
|
+
Just ask Claude naturally — it will decompose your request into the right query and filters:
|
|
61
|
+
|
|
60
62
|
```
|
|
61
63
|
"Find me a gaming laptop under £1000"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
64
|
+
"I need Sony noise cancelling headphones"
|
|
65
|
+
"What HP laptops are available between £500-£700?"
|
|
66
|
+
"Show me Anker chargers"
|
|
65
67
|
```
|
|
66
68
|
|
|
67
69
|
Claude will search across multiple UK retailers and show you:
|
|
68
70
|
- Real-time prices & availability
|
|
69
|
-
- Product specs & descriptions
|
|
70
|
-
- Stock status
|
|
71
71
|
- Direct purchase links
|
|
72
|
+
- Then call `get_product` for full specs when you need details
|
|
72
73
|
|
|
73
74
|
---
|
|
74
75
|
|
|
@@ -79,12 +80,12 @@ Claude will search across multiple UK retailers and show you:
|
|
|
79
80
|
Search 26,000+ UK electronics products. Returns summary data (title, price, availability, category). For full technical specs, use `get_product`.
|
|
80
81
|
|
|
81
82
|
**Parameters:**
|
|
82
|
-
- `query` (string) -
|
|
83
|
+
- `query` (string) - 1-3 words describing the product type (e.g., "laptop", "headphones", "gaming monitor"). Do not include brand names, prices, or model numbers — use filters instead.
|
|
83
84
|
- `min_price` (number, optional) - Minimum price in GBP
|
|
84
85
|
- `max_price` (number, optional) - Maximum price in GBP
|
|
85
86
|
- `brand` (string, optional) - Filter by brand, exact match (e.g., "Sony", "HP", "Apple")
|
|
86
|
-
- `category` (string, optional) - Filter by category: Laptops, Desktops, Tablets, Phones, TVs, Monitors, Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers.
|
|
87
|
-
- `lite` (boolean, optional) - Return trimmed product objects (reduces payload by ~80%).
|
|
87
|
+
- `category` (string, optional) - Filter by category: Laptops, Desktops, Tablets, Phones, TVs, Monitors, Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers.
|
|
88
|
+
- `lite` (boolean, optional) - Return trimmed product objects (reduces payload by ~80%). Always use for LLM integrations.
|
|
88
89
|
- `limit` (number, optional) - Maximum products to return (default 20, max 100)
|
|
89
90
|
|
|
90
91
|
**Returns:** Up to 20 products with summary data. With `lite: true`, returns only essential fields (id, title, brand, price, availability, image_url, purchase_url).
|
|
@@ -108,29 +109,34 @@ Search across **26,000+ electronics products** from major UK retailers including
|
|
|
108
109
|
|
|
109
110
|
## Example Usage
|
|
110
111
|
|
|
111
|
-
**
|
|
112
|
+
**Budget shopping:**
|
|
112
113
|
```
|
|
113
|
-
"
|
|
114
|
+
"Find gaming laptops under £800"
|
|
115
|
+
→ query='gaming laptop', category='Laptops', max_price=800, lite=true
|
|
114
116
|
```
|
|
115
117
|
|
|
116
|
-
**
|
|
118
|
+
**Brand search:**
|
|
117
119
|
```
|
|
118
|
-
"
|
|
120
|
+
"I need Sony headphones under £200"
|
|
121
|
+
→ query='headphones', brand='Sony', max_price=200, lite=true
|
|
119
122
|
```
|
|
120
123
|
|
|
121
|
-
**
|
|
124
|
+
**Category browsing:**
|
|
122
125
|
```
|
|
123
|
-
"Show me
|
|
126
|
+
"Show me cheap monitors"
|
|
127
|
+
→ query='monitor', category='Monitors', max_price=200, lite=true
|
|
124
128
|
```
|
|
125
129
|
|
|
126
|
-
**
|
|
130
|
+
**Detailed specs:**
|
|
127
131
|
```
|
|
128
|
-
"
|
|
132
|
+
"Tell me the full specs of this laptop"
|
|
133
|
+
→ get_product(product_id) — returns full technical specifications
|
|
129
134
|
```
|
|
130
135
|
|
|
131
|
-
**
|
|
136
|
+
**Price range:**
|
|
132
137
|
```
|
|
133
|
-
"
|
|
138
|
+
"Apple products between £500 and £1000"
|
|
139
|
+
→ brand='Apple', min_price=500, max_price=1000, lite=true
|
|
134
140
|
```
|
|
135
141
|
|
|
136
142
|
---
|
package/dist/index.js
CHANGED
|
@@ -81,45 +81,50 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
81
81
|
"Covers: Laptops, Desktops, Phones, Tablets, Headphones, Monitors, TVs, Cameras, Keyboards, Mice, Speakers, Gaming, " +
|
|
82
82
|
"Wearables, Printers, Networking, Storage, Audio, Drones, Cables & Chargers. " +
|
|
83
83
|
"All prices in GBP. " +
|
|
84
|
-
"
|
|
85
|
-
"
|
|
84
|
+
"IMPORTANT RULES: " +
|
|
85
|
+
"1) Decompose the user's request into query + filters. Example: 'Sony headphones under £200' → query='headphones', brand='Sony', max_price=200. " +
|
|
86
|
+
"2) DO NOT put brand names, prices, or model numbers in the query — use the brand, min_price, max_price filters instead. " +
|
|
87
|
+
"3) Keep the query to 1-3 generic words describing the product type. " +
|
|
88
|
+
"4) Always set lite=true to reduce payload size. " +
|
|
89
|
+
"5) If 0 results, try a shorter/broader query or drop filters. " +
|
|
90
|
+
"6) Use get_product for full specs — do not rely on search results for detailed attributes.",
|
|
86
91
|
inputSchema: {
|
|
87
92
|
type: "object",
|
|
88
93
|
properties: {
|
|
89
94
|
query: {
|
|
90
95
|
type: "string",
|
|
91
|
-
description: "
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"Examples: 'laptop', 'iPhone 16', 'noise cancelling headphones'",
|
|
96
|
+
description: "1-3 words describing the product type. Matched against product title. " +
|
|
97
|
+
"DO NOT include brand names, prices, model numbers, or specs — use filters instead. " +
|
|
98
|
+
"Good: 'laptop', 'headphones', 'charger', 'gaming monitor'. " +
|
|
99
|
+
"Bad: 'Samsung Galaxy S25 Ultra', 'USB-C charger 65W', 'laptop under 500'.",
|
|
96
100
|
},
|
|
97
101
|
min_price: {
|
|
98
102
|
type: "number",
|
|
99
|
-
description: "Minimum price
|
|
103
|
+
description: "Minimum price in GBP. Use this instead of putting prices in the query.",
|
|
100
104
|
},
|
|
101
105
|
max_price: {
|
|
102
106
|
type: "number",
|
|
103
|
-
description: "Maximum price
|
|
107
|
+
description: "Maximum price in GBP. Use this instead of putting prices in the query.",
|
|
104
108
|
},
|
|
105
109
|
brand: {
|
|
106
110
|
type: "string",
|
|
107
111
|
description: "Filter by brand name (exact match, case-insensitive). " +
|
|
112
|
+
"Use this instead of putting brand names in the query. " +
|
|
108
113
|
"Examples: Apple, Samsung, Sony, HP, Dell, Lenovo, Anker, Bose, LG",
|
|
109
114
|
},
|
|
110
115
|
category: {
|
|
111
116
|
type: "string",
|
|
112
|
-
description: "Filter by product category. " +
|
|
113
|
-
"
|
|
117
|
+
description: "Filter by product category. Use ONLY these exact values: " +
|
|
118
|
+
"Laptops, Desktops, Tablets, Phones, TVs, Monitors, " +
|
|
114
119
|
"Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, " +
|
|
115
120
|
"Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers. " +
|
|
116
|
-
"
|
|
121
|
+
"NOTE: 'Smartphones' is not valid — use 'Phones'. 'Televisions' is not valid — use 'TVs'.",
|
|
117
122
|
},
|
|
118
123
|
lite: {
|
|
119
124
|
type: "boolean",
|
|
120
125
|
description: "Return trimmed product objects with only essential fields " +
|
|
121
126
|
"(id, title, brand, price, availability, image_url, purchase_url). " +
|
|
122
|
-
"
|
|
127
|
+
"Always set to true unless the user specifically needs full product objects.",
|
|
123
128
|
},
|
|
124
129
|
limit: {
|
|
125
130
|
type: "number",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,+BAA+B;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,iBAAiB,CAAC;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,wBAAwB,CAAC;AA6C7E,yBAAyB;AACzB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,MAAoB;IAChD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAE3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7C,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7C,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACrC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,QAAQ,eAAe,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,GAAG,CAAC,OAAO,IAAI,EAAE,eAAe,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;SACzD;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,MAAM,GAAG,GAAG,GAAG,QAAQ,gBAAgB,SAAS,EAAE,CAAC;IAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,GAAG,CAAC,OAAO,IAAI,EAAE,eAAe,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;SACzD;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAa,CAAC;AAC1C,CAAC;AAED,sBAAsB;AACtB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,oEAAoE;oBACpE,wFAAwF;oBACxF,+FAA+F;oBAC/F,qHAAqH;oBACrH,8EAA8E;oBAC9E,qBAAqB;oBACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|