weneed-mcp 0.2.3 → 0.2.5
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 +6 -34
- package/dist/tools.js +11 -14
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,20 +42,19 @@ That's it. You're ready to go.
|
|
|
42
42
|
|
|
43
43
|
These methods require [Node.js 18+](https://nodejs.org) installed on your machine.
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
<summary><strong>Claude Code</strong></summary>
|
|
45
|
+
### Claude Code
|
|
47
46
|
|
|
48
47
|
```bash
|
|
49
48
|
claude mcp add weneed -e WENEED_EMAIL=your-email@example.com \
|
|
50
49
|
-e WENEED_PASSWORD=your-password -- npx -y weneed-mcp
|
|
51
50
|
```
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
### Claude Desktop (manual) / Cursor
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
<summary><strong>Claude Desktop (manual config)</strong></summary>
|
|
54
|
+
Add the following to your config file:
|
|
57
55
|
|
|
58
|
-
|
|
56
|
+
- **Claude Desktop** - `claude_desktop_config.json`
|
|
57
|
+
- **Cursor** - `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global)
|
|
59
58
|
|
|
60
59
|
```json
|
|
61
60
|
{
|
|
@@ -72,32 +71,7 @@ Add to your `claude_desktop_config.json`:
|
|
|
72
71
|
}
|
|
73
72
|
```
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<details>
|
|
78
|
-
<summary><strong>Cursor</strong></summary>
|
|
79
|
-
|
|
80
|
-
Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):
|
|
81
|
-
|
|
82
|
-
```json
|
|
83
|
-
{
|
|
84
|
-
"mcpServers": {
|
|
85
|
-
"weneed": {
|
|
86
|
-
"command": "npx",
|
|
87
|
-
"args": ["-y", "weneed-mcp"],
|
|
88
|
-
"env": {
|
|
89
|
-
"WENEED_EMAIL": "your-email@example.com",
|
|
90
|
-
"WENEED_PASSWORD": "your-password"
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
</details>
|
|
98
|
-
|
|
99
|
-
<details>
|
|
100
|
-
<summary><strong>Test connection</strong></summary>
|
|
74
|
+
### Test connection
|
|
101
75
|
|
|
102
76
|
Verify your credentials work before wiring it into a client:
|
|
103
77
|
|
|
@@ -105,8 +79,6 @@ Verify your credentials work before wiring it into a client:
|
|
|
105
79
|
WENEED_EMAIL='your-email@example.com' WENEED_PASSWORD='your-password' npx weneed-mcp
|
|
106
80
|
```
|
|
107
81
|
|
|
108
|
-
</details>
|
|
109
|
-
|
|
110
82
|
## Available tools
|
|
111
83
|
|
|
112
84
|
| Tool | Description |
|
package/dist/tools.js
CHANGED
|
@@ -2,13 +2,12 @@ import { ensureAuth, getDb, unwrapDoc, wrapForCreate, wrapFieldsForUpdate, callF
|
|
|
2
2
|
// Collections
|
|
3
3
|
const LISTS = "v2_shoppingLists";
|
|
4
4
|
const PRODUCTS = "v2_shoppingListProducts";
|
|
5
|
-
function
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return result;
|
|
5
|
+
function generateUUID() {
|
|
6
|
+
const hex = "0123456789ABCDEF";
|
|
7
|
+
const sections = [8, 4, 4, 4, 12];
|
|
8
|
+
return sections
|
|
9
|
+
.map((len) => Array.from({ length: len }, () => hex.charAt(Math.floor(Math.random() * 16))).join(""))
|
|
10
|
+
.join("-");
|
|
12
11
|
}
|
|
13
12
|
export async function getShoppingLists() {
|
|
14
13
|
const uid = await ensureAuth();
|
|
@@ -68,13 +67,11 @@ export async function getListItems(listId) {
|
|
|
68
67
|
export async function addItem(listId, name, description, locale) {
|
|
69
68
|
const uid = await ensureAuth();
|
|
70
69
|
const db = getDb();
|
|
71
|
-
const nameObj = { de: "", en: "", fr: "", it: "" };
|
|
72
|
-
nameObj[locale] = name;
|
|
73
70
|
const productData = {
|
|
74
|
-
productId:
|
|
75
|
-
name:
|
|
71
|
+
productId: generateUUID(),
|
|
72
|
+
name: { de: name, en: name, fr: name, it: name },
|
|
76
73
|
description: description || "",
|
|
77
|
-
categoryId:
|
|
74
|
+
categoryId: 999,
|
|
78
75
|
checked: false,
|
|
79
76
|
status: "active",
|
|
80
77
|
shoppingListId: listId,
|
|
@@ -84,10 +81,10 @@ export async function addItem(listId, name, description, locale) {
|
|
|
84
81
|
keywords: null,
|
|
85
82
|
brands: null,
|
|
86
83
|
popularityIndex: null,
|
|
87
|
-
imageName:
|
|
84
|
+
imageName: "",
|
|
88
85
|
type: "OTHER",
|
|
89
86
|
};
|
|
90
|
-
const docId =
|
|
87
|
+
const docId = generateUUID();
|
|
91
88
|
const wrapped = wrapForCreate(productData, uid);
|
|
92
89
|
await setDoc(doc(db, LISTS, listId, PRODUCTS, docId), wrapped);
|
|
93
90
|
// Update the list's productLastModified fields
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,eAAe,GAChB,MAAM,eAAe,CAAC;AAQvB,cAAc;AACd,MAAM,KAAK,GAAG,kBAAkB,CAAC;AACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,SAAS,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,eAAe,GAChB,MAAM,eAAe,CAAC;AAQvB,cAAc;AACd,MAAM,KAAK,GAAG,kBAAkB,CAAC;AACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,kBAAkB,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAC3C,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,gCAAgC;IAChC,MAAM,UAAU,GAAG,KAAK,CACtB,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,EACrB,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAC/B,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,KAAK,CAC5B,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,EACrB,KAAK,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAClD,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAExD,wBAAwB;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAA6C,EAAE,CAAC;IAE3D,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAmB,OAAO,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,GAAG;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;QAC5C,cAAc,EAAE,IAAI,CAAC,yBAAyB;KAC/C,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,aAAa,GAAG,KAAK,CACzB,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EACvC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CACrC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,SAAS,CAA0B,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,IAAY,EACZ,WAAmB,EACnB,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,WAAW,GAAmD;QAClE,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;QAChD,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,OAAO;KACd,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,WAAiD,EAAE,GAAG,CAAC,CAAC;IAEtF,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAE/D,+CAA+C;IAC/C,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;QACtC,4BAA4B,EAAE,eAAe,EAAE;QAC/C,4BAA4B,EAAE,GAAG;KAClC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,OAAO,EAAE,KAAK;KACf,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,mBAAmB,CACjC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EACnD,GAAG,CACJ,CAAC;IACF,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEnE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEnE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,mBAAmB,CACjC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,EACtC,GAAG,CACJ,CAAC;IACF,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEnE,+CAA+C;IAC/C,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;QACtC,4BAA4B,EAAE,eAAe,EAAE;QAC/C,4BAA4B,EAAE,GAAG;KAClC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,oBAAoB,EACpB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAC/B,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,sBAAsB,EACtB,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface ShoppingListProductData {
|
|
|
23
23
|
productId: string;
|
|
24
24
|
name: Record<string, string>;
|
|
25
25
|
description: string;
|
|
26
|
-
categoryId: string | null;
|
|
26
|
+
categoryId: string | number | null;
|
|
27
27
|
checked: boolean;
|
|
28
28
|
status: "active" | "inactive";
|
|
29
29
|
shoppingListId: string;
|