albert-heijn-mcp 1.3.0

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.
Files changed (71) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +376 -0
  3. package/assets/icon.png +0 -0
  4. package/deploy/albert-heijn-mcp.service +42 -0
  5. package/dist/ahapi/auth.js +18 -0
  6. package/dist/ahapi/auth.js.map +1 -0
  7. package/dist/ahapi/bonus.js +53 -0
  8. package/dist/ahapi/bonus.js.map +1 -0
  9. package/dist/ahapi/client.js +115 -0
  10. package/dist/ahapi/client.js.map +1 -0
  11. package/dist/ahapi/favorites.js +67 -0
  12. package/dist/ahapi/favorites.js.map +1 -0
  13. package/dist/ahapi/index.js +12 -0
  14. package/dist/ahapi/index.js.map +1 -0
  15. package/dist/ahapi/member.js +23 -0
  16. package/dist/ahapi/member.js.map +1 -0
  17. package/dist/ahapi/orders.js +85 -0
  18. package/dist/ahapi/orders.js.map +1 -0
  19. package/dist/ahapi/products.js +103 -0
  20. package/dist/ahapi/products.js.map +1 -0
  21. package/dist/ahapi/receipts.js +37 -0
  22. package/dist/ahapi/receipts.js.map +1 -0
  23. package/dist/ahapi/recipes.js +57 -0
  24. package/dist/ahapi/recipes.js.map +1 -0
  25. package/dist/ahapi/shoppingList.js +58 -0
  26. package/dist/ahapi/shoppingList.js.map +1 -0
  27. package/dist/ahapi/stores.js +35 -0
  28. package/dist/ahapi/stores.js.map +1 -0
  29. package/dist/auth/login.js +15 -0
  30. package/dist/auth/login.js.map +1 -0
  31. package/dist/auth/session.js +125 -0
  32. package/dist/auth/session.js.map +1 -0
  33. package/dist/auth/tokens.js +132 -0
  34. package/dist/auth/tokens.js.map +1 -0
  35. package/dist/config.js +61 -0
  36. package/dist/config.js.map +1 -0
  37. package/dist/index.js +70 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/log.js +70 -0
  40. package/dist/log.js.map +1 -0
  41. package/dist/server/http.js +99 -0
  42. package/dist/server/http.js.map +1 -0
  43. package/dist/tools/account.js +126 -0
  44. package/dist/tools/account.js.map +1 -0
  45. package/dist/tools/bonus.js +151 -0
  46. package/dist/tools/bonus.js.map +1 -0
  47. package/dist/tools/cache.js +44 -0
  48. package/dist/tools/cache.js.map +1 -0
  49. package/dist/tools/cart.js +127 -0
  50. package/dist/tools/cart.js.map +1 -0
  51. package/dist/tools/common.js +173 -0
  52. package/dist/tools/common.js.map +1 -0
  53. package/dist/tools/favorites.js +103 -0
  54. package/dist/tools/favorites.js.map +1 -0
  55. package/dist/tools/index.js +24 -0
  56. package/dist/tools/index.js.map +1 -0
  57. package/dist/tools/orders.js +141 -0
  58. package/dist/tools/orders.js.map +1 -0
  59. package/dist/tools/products.js +165 -0
  60. package/dist/tools/products.js.map +1 -0
  61. package/dist/tools/receipts.js +52 -0
  62. package/dist/tools/receipts.js.map +1 -0
  63. package/dist/tools/recipes.js +261 -0
  64. package/dist/tools/recipes.js.map +1 -0
  65. package/dist/tools/shoppingList.js +149 -0
  66. package/dist/tools/shoppingList.js.map +1 -0
  67. package/dist/tools/stores.js +108 -0
  68. package/dist/tools/stores.js.map +1 -0
  69. package/dist/tools/views.js +100 -0
  70. package/dist/tools/views.js.map +1 -0
  71. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/tools/stores.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { z } from "zod";
2
+ import { productImage, productPrices, productUrl } from "../ahapi/index.js";
3
+ // Each view has a Zod schema, used as (part of) a tool's outputSchema; the types derive from it.
4
+ const num = z.number().optional();
5
+ const str = z.string().optional();
6
+ /** Product in search and list results. */
7
+ export const productSummary = z.object({
8
+ id: z.number(),
9
+ title: z.string(),
10
+ url: z.string(),
11
+ price: z.number(),
12
+ bonus_price: num,
13
+ unit: str,
14
+ is_bonus: z.boolean(),
15
+ bonus_mechanism: str,
16
+ image_url: str,
17
+ });
18
+ /** Product in ah_get_products. */
19
+ export const productDetail = z.object({
20
+ id: z.number(),
21
+ title: z.string(),
22
+ url: z.string(),
23
+ brand: str,
24
+ category: str,
25
+ description: str,
26
+ price: z.number(),
27
+ bonus_price: num,
28
+ unit_size: str,
29
+ unit_price_description: str,
30
+ is_bonus: z.boolean(),
31
+ bonus_mechanism: str,
32
+ nutri_score: str,
33
+ is_available: z.boolean(),
34
+ property_icons: z.array(z.string()).optional(),
35
+ nutritional_info: z.array(z.object({ type: z.string(), name: z.string(), value: z.string() })).optional(),
36
+ image_url: str,
37
+ });
38
+ export const orderView = z.object({
39
+ id: z.number(),
40
+ state: str,
41
+ items: z.array(z.object({ product_id: z.number(), name: str, url: z.string(), quantity: z.number(), price: num })),
42
+ total_price: num,
43
+ total_discount: num,
44
+ });
45
+ export const favoriteListView = z.object({ id: z.string(), name: z.string(), item_count: z.number(), updated_at: str });
46
+ export function summarizeProduct(p) {
47
+ const { regular, bonus } = productPrices(p);
48
+ return {
49
+ id: p.webshopId,
50
+ title: p.title,
51
+ url: productUrl(p.webshopId, p.title),
52
+ price: regular,
53
+ bonus_price: bonus || undefined,
54
+ unit: p.salesUnitSize || undefined,
55
+ is_bonus: Boolean(p.isBonus),
56
+ bonus_mechanism: p.bonusMechanism || undefined,
57
+ image_url: productImage(p) || undefined,
58
+ };
59
+ }
60
+ export function detailProduct(p, nutrition) {
61
+ const { regular, bonus } = productPrices(p);
62
+ return {
63
+ id: p.webshopId,
64
+ title: p.title,
65
+ url: productUrl(p.webshopId, p.title),
66
+ brand: p.brand || undefined,
67
+ category: p.mainCategory || undefined,
68
+ description: p.descriptionHighlights || undefined,
69
+ price: regular,
70
+ bonus_price: bonus || undefined,
71
+ unit_size: p.salesUnitSize || undefined,
72
+ unit_price_description: p.unitPriceDescription || undefined,
73
+ is_bonus: Boolean(p.isBonus),
74
+ bonus_mechanism: p.bonusMechanism || undefined,
75
+ nutri_score: p.nutriscore || undefined,
76
+ is_available: Boolean(p.isOrderable),
77
+ property_icons: p.propertyIcons?.length ? p.propertyIcons : undefined,
78
+ nutritional_info: nutrition?.length ? nutrition : undefined,
79
+ image_url: productImage(p) || undefined,
80
+ };
81
+ }
82
+ export function viewOrder(o) {
83
+ return {
84
+ id: o.id,
85
+ state: o.state || undefined,
86
+ items: o.items.map((it) => ({
87
+ product_id: it.productId,
88
+ name: it.title || undefined,
89
+ url: productUrl(it.productId, it.title),
90
+ quantity: it.quantity,
91
+ price: it.price || undefined,
92
+ })),
93
+ total_price: o.totalPrice || undefined,
94
+ total_discount: o.totalDiscount || undefined,
95
+ };
96
+ }
97
+ export function viewFavoriteList(l) {
98
+ return { id: l.id, name: l.name, item_count: l.itemCount, updated_at: l.updatedAt };
99
+ }
100
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/tools/views.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "albert-heijn-mcp",
3
+ "version": "1.3.0",
4
+ "description": "Unofficial MCP server for Albert Heijn: products, bonus deals, Allerhande recipes, your shopping list and orders in any AI assistant",
5
+ "keywords": [
6
+ "mcp",
7
+ "mcp-server",
8
+ "model-context-protocol",
9
+ "albert-heijn",
10
+ "supermarket",
11
+ "groceries",
12
+ "shopping-list",
13
+ "recipes",
14
+ "allerhande",
15
+ "netherlands"
16
+ ],
17
+ "homepage": "https://github.com/olekpuchka/albert-heijn-mcp#readme",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/olekpuchka/albert-heijn-mcp.git"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/olekpuchka/albert-heijn-mcp/issues"
24
+ },
25
+ "author": "Olek Puchka",
26
+ "mcpName": "io.github.olekpuchka/albert-heijn-mcp",
27
+ "license": "Apache-2.0",
28
+ "type": "module",
29
+ "bin": {
30
+ "albert-heijn-mcp": "dist/index.js"
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "assets/icon.png",
35
+ "deploy/albert-heijn-mcp.service"
36
+ ],
37
+ "engines": {
38
+ "node": ">=24"
39
+ },
40
+ "scripts": {
41
+ "build": "tsc -p tsconfig.build.json",
42
+ "lint": "tsc --noEmit",
43
+ "start": "node dist/index.js"
44
+ },
45
+ "dependencies": {
46
+ "@modelcontextprotocol/sdk": "^1.32.0",
47
+ "zod": "^4.6.5"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^24.19.1",
51
+ "typescript": "^7.0.2"
52
+ }
53
+ }