@trustrails/mcp-server 1.0.19 → 1.0.21
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 +19 -13
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,21 +11,18 @@ Built for the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) -
|
|
|
11
11
|
|
|
12
12
|
## Quick Start
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install -g @trustrails/mcp-server
|
|
18
|
-
```
|
|
14
|
+
No installation needed — just add TrustRails to your Claude config.
|
|
19
15
|
|
|
20
16
|
### Configuration
|
|
21
17
|
|
|
22
|
-
**For Claude
|
|
18
|
+
**For Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
|
|
23
19
|
|
|
24
20
|
```json
|
|
25
21
|
{
|
|
26
22
|
"mcpServers": {
|
|
27
23
|
"trustrails": {
|
|
28
|
-
"command": "
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["-y", "@trustrails/mcp-server"],
|
|
29
26
|
"env": {
|
|
30
27
|
"TRUSTRAILS_API_KEY": "mcp-public-2026"
|
|
31
28
|
}
|
|
@@ -34,13 +31,14 @@ npm install -g @trustrails/mcp-server
|
|
|
34
31
|
}
|
|
35
32
|
```
|
|
36
33
|
|
|
37
|
-
**For Claude
|
|
34
|
+
**For Claude Code** (`~/.config/claude/config.json`):
|
|
38
35
|
|
|
39
36
|
```json
|
|
40
37
|
{
|
|
41
38
|
"mcpServers": {
|
|
42
39
|
"trustrails": {
|
|
43
|
-
"command": "
|
|
40
|
+
"command": "npx",
|
|
41
|
+
"args": ["-y", "@trustrails/mcp-server"],
|
|
44
42
|
"env": {
|
|
45
43
|
"TRUSTRAILS_API_KEY": "mcp-public-2026"
|
|
46
44
|
}
|
|
@@ -170,14 +168,22 @@ Search across **26,000+ electronics products** from major UK retailers including
|
|
|
170
168
|
|
|
171
169
|
## Troubleshooting
|
|
172
170
|
|
|
173
|
-
**"Command not found
|
|
174
|
-
- Make sure
|
|
175
|
-
-
|
|
171
|
+
**"Command not found" or server not starting**
|
|
172
|
+
- Make sure Node.js is installed and `npx` is available: `npx --version`
|
|
173
|
+
- Try running manually: `npx -y @trustrails/mcp-server`
|
|
174
|
+
- **Using nvm?** Claude Desktop doesn't inherit your shell PATH. Use the full path to node instead:
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"command": "/Users/YOUR_USERNAME/.nvm/versions/node/vX.X.X/bin/node",
|
|
178
|
+
"args": ["/Users/YOUR_USERNAME/.nvm/versions/node/vX.X.X/lib/node_modules/@trustrails/mcp-server/dist/index.js"]
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
First run `npm install -g @trustrails/mcp-server`, then find your node path with `which node`.
|
|
176
182
|
|
|
177
183
|
**"Rate limit exceeded"**
|
|
178
184
|
- Wait an hour for limits to reset
|
|
179
185
|
- Check `X-RateLimit-Reset` header for exact reset time
|
|
180
|
-
-
|
|
186
|
+
- 50 requests/hour is plenty for normal usage
|
|
181
187
|
|
|
182
188
|
**"No results found"**
|
|
183
189
|
- Try broader search terms (e.g., "laptop" instead of specific model)
|
package/dist/index.js
CHANGED
|
@@ -78,8 +78,9 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
78
78
|
tools: [
|
|
79
79
|
{
|
|
80
80
|
name: "search_products",
|
|
81
|
-
description: "Search 26,000+ UK electronics products across multiple retailers. " +
|
|
82
|
-
"Returns summary data: title, brand, price, availability, category,
|
|
81
|
+
description: "Search 26,000+ deduplicated UK electronics products across multiple retailers with price comparison. " +
|
|
82
|
+
"Returns summary data: title, brand, price, availability, category, purchase link, and offer_count. " +
|
|
83
|
+
"When offer_count > 1, the product is available from multiple retailers — call get_product to see all offers. " +
|
|
83
84
|
"Specs are minimal — for full technical specifications, call get_product with the product ID. " +
|
|
84
85
|
"Covers: Laptops, Desktops, Phones, Tablets, Headphones, Monitors, TVs, Cameras, Keyboards, Mice, Speakers, Gaming, " +
|
|
85
86
|
"Wearables, Printers, Networking, Storage, Audio, Drones, Cables & Chargers. " +
|
|
@@ -94,7 +95,8 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
94
95
|
"AI USAGE PROTOCOL: " +
|
|
95
96
|
"For simple browsing, search with lite=true is sufficient. " +
|
|
96
97
|
"For spec-based queries (wattage, ports, RAM, screen size, weight, etc.), ALWAYS search first, then call get_product on the top 3-5 results and validate constraints against the full specs before recommending. " +
|
|
97
|
-
"Do not assume technical specs from titles alone. If specs are missing, state that explicitly."
|
|
98
|
+
"Do not assume technical specs from titles alone. If specs are missing, state that explicitly. " +
|
|
99
|
+
"STOCK AVAILABILITY: When a product is availability: out_of_stock, do not recommend it as a purchase. Instead mention it as a notable alternative — especially if it offers a meaningful price advantage — and suggest the user check back. Example: 'This model is £X cheaper at [retailer] but currently out of stock — worth checking back if you're not in a rush.' Never silently omit out-of-stock results; surface them transparently.",
|
|
98
100
|
inputSchema: {
|
|
99
101
|
type: "object",
|
|
100
102
|
properties: {
|
|
@@ -125,7 +127,8 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
125
127
|
"Laptops, Desktops, Tablets, Phones, TVs, Monitors, " +
|
|
126
128
|
"Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, " +
|
|
127
129
|
"Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers. " +
|
|
128
|
-
"NOTE: 'Smartphones' is not valid — use 'Phones'. 'Televisions' is not valid — use 'TVs'."
|
|
130
|
+
"NOTE: 'Smartphones' is not valid — use 'Phones'. 'Televisions' is not valid — use 'TVs'. " +
|
|
131
|
+
"For TVs, use query: 'smart TV' — it returns far more results than 'TV' alone. Avoid query: 'television'.",
|
|
129
132
|
},
|
|
130
133
|
lite: {
|
|
131
134
|
type: "boolean",
|
|
@@ -148,9 +151,10 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
148
151
|
name: "get_product",
|
|
149
152
|
description: "Get full details for a single product by ID. " +
|
|
150
153
|
"Returns complete technical specifications including specs.description (full prose spec text with processor, RAM, storage, display, ports etc), " +
|
|
151
|
-
"pricing, stock level, delivery time, and retailer
|
|
154
|
+
"pricing, stock level, delivery time, and all retailer offers with per-retailer pricing. " +
|
|
155
|
+
"Accepts both canonical product IDs and original retailer offer IDs. " +
|
|
152
156
|
"Use this after search_products to get detailed specs for comparison or recommendations. " +
|
|
153
|
-
"Always call this when a user needs precise product attributes, compatibility info,
|
|
157
|
+
"Always call this when a user needs precise product attributes, compatibility info, side-by-side comparisons, or price comparison across retailers.",
|
|
154
158
|
inputSchema: {
|
|
155
159
|
type: "object",
|
|
156
160
|
properties: {
|
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;AAiD7E,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,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|