propstack-mcp-server 1.0.2 → 1.1.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.
@@ -57,6 +57,9 @@ export function formatError(err) {
57
57
  return `Propstack API error ${err.status}: ${err.detail}`;
58
58
  }
59
59
  }
60
+ if (err instanceof Error && err.name === "TimeoutError") {
61
+ return "Request to Propstack API timed out after multiple attempts. Please try again in a moment.";
62
+ }
60
63
  if (err instanceof TypeError && (err.message.includes("fetch") || err.message.includes("ECONNREFUSED") || err.message.includes("ENOTFOUND"))) {
61
64
  return `Network error: could not reach Propstack API. Check your internet connection. (${err.message})`;
62
65
  }
@@ -165,4 +168,99 @@ export function stripUndefined(obj) {
165
168
  }
166
169
  return result;
167
170
  }
171
+ // ── Field selection (data minimization, Art. 25 DSGVO) ────────────────
172
+ //
173
+ // Bulk-data tools accept an optional `fields` whitelist so a controller can
174
+ // request only the fields they need. These arrays are the known, selectable
175
+ // field names per entity type — they mirror the interfaces in
176
+ // types/propstack.ts and are used to validate the `fields` parameter so
177
+ // unknown names fail loudly instead of being silently dropped.
178
+ export const CONTACT_FIELDS = [
179
+ "id", "name", "first_name", "last_name", "salutation", "email", "phone",
180
+ "home_cell", "home_phone", "office_phone", "fax", "company", "position",
181
+ "description", "home_street", "home_house_number", "home_zip_code",
182
+ "home_city", "home_country", "office_street", "office_house_number",
183
+ "office_zip_code", "office_city", "office_country", "broker_id", "broker",
184
+ "client_source_id", "client_source", "client_status_id", "client_status",
185
+ "status", "language", "rating", "newsletter", "accept_contact",
186
+ "gdpr_status", "warning_notice", "groups", "custom_fields",
187
+ "last_contact_at", "last_contact_at_formatted", "created_at", "updated_at",
188
+ "archived", "children", "documents", "relationships", "owned_properties",
189
+ "old_crm_id",
190
+ ];
191
+ export const PROPERTY_FIELDS = [
192
+ "id", "title", "unit_id", "exposee_id", "marketing_type", "object_type",
193
+ "rs_type", "rs_category", "street", "house_number", "zip_code", "city",
194
+ "country", "lat", "lng", "price", "base_rent", "total_rent", "living_space",
195
+ "plot_area", "property_space_value", "number_of_rooms",
196
+ "number_of_bed_rooms", "number_of_bath_rooms", "floor", "construction_year",
197
+ "description_note", "location_note", "furnishing_note", "other_note",
198
+ "courtage", "courtage_note", "broker_id", "broker", "project_id", "project",
199
+ "status", "property_status", "property_groups", "custom_fields", "images",
200
+ "floorplans", "documents", "links", "created_at", "updated_at", "archived",
201
+ ];
202
+ export const DEAL_FIELDS = [
203
+ "id", "broker_id", "client_id", "property_id", "project_id", "deal_stage_id",
204
+ "deal_pipeline_id", "sold_price", "note", "date", "start_date",
205
+ "reservation_reason_id", "feeling", "category", "client", "property",
206
+ "deal_stage", "deal_pipeline", "created_at", "updated_at",
207
+ ];
208
+ /**
209
+ * Validate a requested `fields` list against a known field set. Returns a
210
+ * clear, user-facing error message if any field is unknown, or null if all
211
+ * requested fields are valid. Unknown fields are reported by name alongside
212
+ * the full list of valid options — never silently ignored.
213
+ */
214
+ export function validateFields(requested, known, entityLabel) {
215
+ const knownSet = new Set(known);
216
+ const unknown = requested.filter((f) => !knownSet.has(f));
217
+ if (unknown.length === 0)
218
+ return null;
219
+ const plural = unknown.length === 1 ? "field" : "fields";
220
+ return (`Unknown ${entityLabel} ${plural}: ${unknown.join(", ")}. ` +
221
+ `Valid ${entityLabel} fields are: ${known.join(", ")}.`);
222
+ }
223
+ /**
224
+ * Render a single (possibly nested) field value for projected output.
225
+ * Unwraps Propstack scalar wrappers and name/label objects where possible
226
+ * for readability; renders genuine nested objects/arrays as JSON so no data
227
+ * is lost.
228
+ */
229
+ export function renderFieldValue(value) {
230
+ if (value !== null && typeof value === "object") {
231
+ const unwrapped = unwrapPropstackValue(value);
232
+ if (typeof unwrapped !== "object" || unwrapped === null) {
233
+ return unwrapped === null || unwrapped === undefined || unwrapped === ""
234
+ ? "none"
235
+ : String(unwrapped);
236
+ }
237
+ return JSON.stringify(value);
238
+ }
239
+ return value === null || value === undefined || value === "" ? "none" : String(value);
240
+ }
241
+ /**
242
+ * Project a record to only the requested fields and render it as a markdown
243
+ * block. `header` identifies the record (e.g. its ID). Used by bulk tools
244
+ * when a `fields` whitelist is supplied.
245
+ */
246
+ export function renderProjectedRecord(record, fields, header) {
247
+ const lines = [header, ...fields.map((f) => `${f}: ${renderFieldValue(record[f])}`)];
248
+ return lines.join("\n");
249
+ }
250
+ /**
251
+ * Expand a custom-field filter map into `cf_<name>` query parameters and
252
+ * merge it into the given params. Field names are taken as-is (the cf_
253
+ * prefix is added if missing), so the caller passes plain custom field
254
+ * names from list_custom_fields. Returns a new object; params is not mutated.
255
+ */
256
+ export function applyCustomFilters(params, customFilters) {
257
+ if (!customFilters)
258
+ return params;
259
+ const out = { ...params };
260
+ for (const [key, value] of Object.entries(customFilters)) {
261
+ const cfKey = key.startsWith("cf_") ? key : `cf_${key}`;
262
+ out[cfKey] = value;
263
+ }
264
+ return out;
265
+ }
168
266
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA2E9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAoYtF"}
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA2E9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CA8ZtF"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { textResult, errorResult, fmt, fmtPrice, fmtArea, stripUndefined } from "./helpers.js";
2
+ import { textResult, errorResult, fmt, fmtPrice, fmtArea, stripUndefined, validateFields, renderProjectedRecord, applyCustomFilters, PROPERTY_FIELDS } from "./helpers.js";
3
3
  // ── Response formatting ──────────────────────────────────────────────
4
4
  function formatProperty(p) {
5
5
  const title = fmt(p.title, "Untitled");
@@ -62,30 +62,39 @@ const SEARCH_SORT_FIELDS = [
62
62
  // ── Tool registration ────────────────────────────────────────────────
63
63
  export function registerPropertyTools(server, client) {
64
64
  // ── search_properties ────────────────────────────────────────────
65
- server.tool("search_properties", `Search and filter properties (Objekte) in Propstack CRM.
66
-
67
- Use this tool to:
68
- - Find properties by address, ID, or exposé ID (use 'q' for fulltext)
69
- - Filter by status, type, marketing type, or project
70
- - Find properties in a price/rent range
71
- - List properties by size, rooms, or construction year
72
- - Filter by custom fields with cf_ prefix parameters
73
-
74
- The 'q' parameter searches: unit_id, street, zip code, city, district, exposé ID.
75
-
76
- Range filter pattern: 11 numeric fields each have _from and _to variants.
77
- For example, price_from=200000 & price_to=400000 finds properties priced 200–400k.
78
- Available range fields: price, base_rent, total_rent, property_space_value,
79
- living_space, plot_area, number_of_rooms, number_of_bed_rooms,
80
- number_of_bath_rooms, floor, construction_year.
81
-
82
- Common queries:
83
- - "Apartments 300–400k in Berlin": q="Berlin", marketing_type=BUY, rs_type=APARTMENT, price_from=300000, price_to=400000
84
- - "All available rentals": marketing_type=RENT, status=<available_id from get_property_statuses>
85
- - "Properties on market 90+ days": sort_by=created_at, order=asc
86
- - "What's in Project X?": project_id=<id>
87
-
88
- Always returns total count. Use expand=true for custom fields.`, {
65
+ server.tool("search_properties", `Search and filter properties (Objekte) in Propstack CRM.
66
+
67
+ Use this tool to:
68
+ - Find properties by address, ID, or exposé ID (use 'q' for fulltext)
69
+ - Filter by status, type, marketing type, or project
70
+ - Find properties in a price/rent range
71
+ - List properties by size, rooms, or construction year
72
+ - Filter by custom fields via the 'custom_filters' object (see below)
73
+
74
+ The 'q' parameter searches: unit_id, street, zip code, city, district, exposé ID.
75
+
76
+ Range filter pattern: 11 numeric fields each have _from and _to variants.
77
+ For example, price_from=200000 & price_to=400000 finds properties priced 200–400k.
78
+ Available range fields: price, base_rent, total_rent, property_space_value,
79
+ living_space, plot_area, number_of_rooms, number_of_bed_rooms,
80
+ number_of_bath_rooms, floor, construction_year.
81
+
82
+ Common queries:
83
+ - "Apartments 300–400k in Berlin": q="Berlin", marketing_type=BUY, rs_type=APARTMENT, price_from=300000, price_to=400000
84
+ - "All available rentals": marketing_type=RENT, status=<available_id from get_property_statuses>
85
+ - "Properties on market 90+ days": sort_by=created_at, order=asc
86
+ - "What's in Project X?": project_id=<id>
87
+
88
+ Custom fields: pass 'custom_filters' as an object of custom-field-name →
89
+ value (use list_custom_fields to discover field names). Each entry becomes
90
+ a cf_<name> query parameter, e.g. { energy_class: "A" }.
91
+
92
+ Always returns total count. Use expand=true for custom fields.
93
+
94
+ Data minimization (Art. 25 DSGVO): pass 'fields' with an array of property
95
+ field names to return only those fields per property (e.g. ["id", "title",
96
+ "price", "city"]). Omit 'fields' to return the default set unchanged.
97
+ Unknown field names produce an error listing the valid options.`, {
89
98
  q: z.string().optional()
90
99
  .describe("Fulltext search across unit_id, street, zip, city, district, exposé ID"),
91
100
  status: z.string().optional()
@@ -144,12 +153,19 @@ Always returns total count. Use expand=true for custom fields.`, {
144
153
  .describe("Page number (default: 1)"),
145
154
  per_page: z.number().optional()
146
155
  .describe("Results per page (default: 25)"),
156
+ custom_filters: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional()
157
+ .describe("Filter by custom field values. Keys are custom field names WITHOUT the cf_ prefix (use list_custom_fields to discover them); each becomes a cf_<name>=<value> query parameter. Example: { energy_class: \"A\" }"),
158
+ fields: z.array(z.string()).optional()
159
+ .describe("Data minimization: return only these property fields per result (e.g. [\"id\", \"title\", \"price\", \"city\"]). Omit to return the default field set. Unknown field names produce an error."),
147
160
  }, async (args) => {
148
161
  try {
149
- const params = {
150
- with_meta: 1,
151
- ...args,
152
- };
162
+ if (args.fields && args.fields.length > 0) {
163
+ const fieldError = validateFields(args.fields, PROPERTY_FIELDS, "property");
164
+ if (fieldError)
165
+ return textResult(fieldError);
166
+ }
167
+ const { fields, custom_filters, ...apiArgs } = args;
168
+ const params = applyCustomFilters({ with_meta: 1, ...apiArgs }, custom_filters);
153
169
  const res = await client.get("/units", { params });
154
170
  if (!res.data || res.data.length === 0) {
155
171
  return textResult("No properties found matching your criteria.");
@@ -158,6 +174,12 @@ Always returns total count. Use expand=true for custom fields.`, {
158
174
  const header = total !== undefined
159
175
  ? `Found ${total} properties (showing ${res.data.length}):\n\n`
160
176
  : `Found ${res.data.length} properties:\n\n`;
177
+ if (fields && fields.length > 0) {
178
+ const projected = res.data
179
+ .map((p) => renderProjectedRecord(p, fields, `**ID: ${p.id}**`))
180
+ .join("\n\n---\n\n");
181
+ return textResult(header + projected);
182
+ }
161
183
  const tableHeader = "| ID | Title | Type | Address | Price | Size | Rooms | Status |\n| --- | --- | --- | --- | --- | --- | --- | --- |";
162
184
  const rows = res.data.map(formatPropertyRow).join("\n");
163
185
  return textResult(header + tableHeader + "\n" + rows);
@@ -167,14 +189,14 @@ Always returns total count. Use expand=true for custom fields.`, {
167
189
  }
168
190
  });
169
191
  // ── get_property ─────────────────────────────────────────────────
170
- server.tool("get_property", `Get full details of a single property by ID.
171
-
172
- Use this tool to:
173
- - View complete property information for an exposé
174
- - Check images, floorplans, documents, and links
175
- - See custom fields, broker assignment, and project
176
- - Get multilingual texts (use locale parameter)
177
-
192
+ server.tool("get_property", `Get full details of a single property by ID.
193
+
194
+ Use this tool to:
195
+ - View complete property information for an exposé
196
+ - Check images, floorplans, documents, and links
197
+ - See custom fields, broker assignment, and project
198
+ - Get multilingual texts (use locale parameter)
199
+
178
200
  Always fetches with new=1 (extra fields) and expand=1 (custom fields).`, {
179
201
  id: z.number()
180
202
  .describe("Property ID"),
@@ -238,19 +260,19 @@ Always fetches with new=1 (extra fields) and expand=1 (custom fields).`, {
238
260
  }
239
261
  });
240
262
  // ── create_property ──────────────────────────────────────────────
241
- server.tool("create_property", `Create a new property (Objekt) in Propstack CRM.
242
-
243
- Use this tool to:
244
- - List a new property from an acquisition call
245
- - Create a listing from an owner inquiry
246
- - Add a property to a project
247
-
248
- Use get_property_statuses to look up valid status IDs.
249
- Use the relationships_attributes array to link an owner contact on creation.
250
-
251
- rs_type values: APARTMENT, HOUSE, TRADE_SITE, GARAGE, SHORT_TERM_ACCOMODATION,
252
- OFFICE, GASTRONOMY, INDUSTRY, STORE, SPECIAL_PURPOSE, INVESTMENT.
253
-
263
+ server.tool("create_property", `Create a new property (Objekt) in Propstack CRM.
264
+
265
+ Use this tool to:
266
+ - List a new property from an acquisition call
267
+ - Create a listing from an owner inquiry
268
+ - Add a property to a project
269
+
270
+ Use get_property_statuses to look up valid status IDs.
271
+ Use the relationships_attributes array to link an owner contact on creation.
272
+
273
+ rs_type values: APARTMENT, HOUSE, TRADE_SITE, GARAGE, SHORT_TERM_ACCOMODATION,
274
+ OFFICE, GASTRONOMY, INDUSTRY, STORE, SPECIAL_PURPOSE, INVESTMENT.
275
+
254
276
  rs_category provides sub-types (e.g. PENTHOUSE, VILLA, MAISONETTE for APARTMENT/HOUSE).`, {
255
277
  title: z.string().optional()
256
278
  .describe("Property title / headline"),
@@ -312,16 +334,16 @@ rs_category provides sub-types (e.g. PENTHOUSE, VILLA, MAISONETTE for APARTMENT/
312
334
  }
313
335
  });
314
336
  // ── update_property ──────────────────────────────────────────────
315
- server.tool("update_property", `Update an existing property in Propstack CRM.
316
-
317
- Use this tool to:
318
- - Update the price or rent
319
- - Change property status (e.g. mark as reserved or sold)
320
- - Edit description texts
321
- - Assign to a different broker or project
322
- - Update custom fields
323
-
324
- Only provide the fields you want to change.
337
+ server.tool("update_property", `Update an existing property in Propstack CRM.
338
+
339
+ Use this tool to:
340
+ - Update the price or rent
341
+ - Change property status (e.g. mark as reserved or sold)
342
+ - Edit description texts
343
+ - Assign to a different broker or project
344
+ - Update custom fields
345
+
346
+ Only provide the fields you want to change.
325
347
  Use get_property_statuses to look up valid status IDs.`, {
326
348
  id: z.number()
327
349
  .describe("Property ID to update"),
@@ -369,13 +391,13 @@ Use get_property_statuses to look up valid status IDs.`, {
369
391
  }
370
392
  });
371
393
  // ── get_property_statuses ────────────────────────────────────────
372
- server.tool("get_property_statuses", `List all available property statuses in Propstack.
373
-
374
- Returns statuses like "Verfügbar", "Reserviert", "Verkauft" with their IDs,
375
- colors, and sort positions.
376
-
377
- Use this tool to look up valid status IDs before:
378
- - Filtering properties by status in search_properties
394
+ server.tool("get_property_statuses", `List all available property statuses in Propstack.
395
+
396
+ Returns statuses like "Verfügbar", "Reserviert", "Verkauft" with their IDs,
397
+ colors, and sort positions.
398
+
399
+ Use this tool to look up valid status IDs before:
400
+ - Filtering properties by status in search_properties
379
401
  - Setting a property's status in create_property or update_property`, {}, async () => {
380
402
  try {
381
403
  const res = await client.get("/property_statuses");
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/tools/properties.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,55 +1,58 @@
1
- {
2
- "name": "propstack-mcp-server",
3
- "mcpName": "io.github.ashev87/propstack-mcp",
4
- "version": "1.0.2",
5
- "type": "module",
6
- "description": "MCP server for Propstack real estate CRM — connect AI assistants to your Propstack data",
7
- "main": "dist/index.js",
8
- "bin": {
9
- "propstack-mcp-server": "dist/index.js"
10
- },
11
- "files": [
12
- "dist",
13
- "README.md",
14
- "LICENSE"
15
- ],
16
- "scripts": {
17
- "build": "tsc",
18
- "start": "node dist/index.js",
19
- "inspector": "npx @modelcontextprotocol/inspector -- node dist/index.js",
20
- "prepublishOnly": "npm run build"
21
- },
22
- "keywords": [
23
- "mcp",
24
- "propstack",
25
- "real-estate",
26
- "crm",
27
- "immobilien",
28
- "makler",
29
- "ai",
30
- "claude",
31
- "chatgpt"
32
- ],
33
- "author": "",
34
- "license": "MIT",
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/your-org/propstack-mcp-server.git"
38
- },
39
- "homepage": "https://github.com/your-org/propstack-mcp-server#readme",
40
- "bugs": {
41
- "url": "https://github.com/your-org/propstack-mcp-server/issues"
42
- },
43
- "engines": {
44
- "node": ">=18"
45
- },
46
- "dependencies": {
47
- "@modelcontextprotocol/sdk": "^1.26.0",
48
- "dotenv": "^17.3.1",
49
- "zod": "^4.3.6"
50
- },
51
- "devDependencies": {
52
- "@types/node": "^25.2.3",
53
- "typescript": "^5.9.3"
54
- }
55
- }
1
+ {
2
+ "name": "propstack-mcp-server",
3
+ "mcpName": "io.github.ashev87/propstack-mcp",
4
+ "version": "1.1.0",
5
+ "type": "module",
6
+ "description": "MCP server for Propstack real estate CRM — connect AI assistants to your Propstack data",
7
+ "main": "dist/index.js",
8
+ "bin": {
9
+ "propstack-mcp-server": "dist/index.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "start": "node dist/index.js",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest",
21
+ "inspector": "npx @modelcontextprotocol/inspector -- node dist/index.js",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "keywords": [
25
+ "mcp",
26
+ "propstack",
27
+ "real-estate",
28
+ "crm",
29
+ "immobilien",
30
+ "makler",
31
+ "ai",
32
+ "claude",
33
+ "chatgpt"
34
+ ],
35
+ "author": "",
36
+ "license": "MIT",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/ashev87/propstack-mcp.git"
40
+ },
41
+ "homepage": "https://github.com/ashev87/propstack-mcp#readme",
42
+ "bugs": {
43
+ "url": "https://github.com/ashev87/propstack-mcp/issues"
44
+ },
45
+ "engines": {
46
+ "node": ">=18"
47
+ },
48
+ "dependencies": {
49
+ "@modelcontextprotocol/sdk": "^1.26.0",
50
+ "dotenv": "^17.3.1",
51
+ "zod": "^4.3.6"
52
+ },
53
+ "devDependencies": {
54
+ "@types/node": "^25.2.3",
55
+ "typescript": "^5.9.3",
56
+ "vitest": "^4.1.9"
57
+ }
58
+ }