propstack-mcp-server 1.1.0 → 1.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"composites.js","sourceRoot":"","sources":["../../src/tools/composites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composites.js","sourceRoot":"","sources":["../../src/tools/composites.ts"],"names":[],"mappings":"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"}
@@ -53,32 +53,32 @@ function formatContact(c) {
53
53
  // ── Tool registration ────────────────────────────────────────────────
54
54
  export function registerContactTools(server, client) {
55
55
  // ── search_contacts ──────────────────────────────────────────────
56
- server.tool("search_contacts", `Search and filter contacts in Propstack CRM.
57
-
58
- Use this tool to:
59
- - Find contacts by name, email, or phone number
60
- - List recent leads (sort by created_at desc)
61
- - Find uncontacted leads (last_contact_at is null)
62
- - Filter by broker assignment, status, tags, or GDPR status
63
- - Search across all contact fields with 'q' parameter
64
-
65
- The 'q' parameter searches across: first name, last name, all emails,
66
- all addresses, and all phone numbers.
67
-
68
- Phone search ('phone_number') ignores formatting — both 015712345678
69
- and 0157-123-456-78 will match.
70
-
71
- Returns paginated results. Use expand=true for full details including
72
- custom fields.
73
-
74
- Custom fields: pass 'custom_filters' as an object of custom-field-name →
75
- value to filter by agency-specific fields (use list_custom_fields to
76
- discover field names). Each entry becomes a cf_<name> query parameter,
77
- e.g. { marketing_channel: "Website" }.
78
-
79
- Data minimization (Art. 25 DSGVO): pass 'fields' with an array of contact
80
- field names to return only those fields per contact (e.g. ["first_name",
81
- "last_name", "email"]). Omit 'fields' to return the default set unchanged.
56
+ server.tool("search_contacts", `Search and filter contacts in Propstack CRM.
57
+
58
+ Use this tool to:
59
+ - Find contacts by name, email, or phone number
60
+ - List recent leads (sort by created_at desc)
61
+ - Find uncontacted leads (last_contact_at is null)
62
+ - Filter by broker assignment, status, tags, or GDPR status
63
+ - Search across all contact fields with 'q' parameter
64
+
65
+ The 'q' parameter searches across: first name, last name, all emails,
66
+ all addresses, and all phone numbers.
67
+
68
+ Phone search ('phone_number') ignores formatting — both 015712345678
69
+ and 0157-123-456-78 will match.
70
+
71
+ Returns paginated results. Use expand=true for full details including
72
+ custom fields.
73
+
74
+ Custom fields: pass 'custom_filters' as an object of custom-field-name →
75
+ value to filter by agency-specific fields (use list_custom_fields to
76
+ discover field names). Each entry becomes a cf_<name> query parameter,
77
+ e.g. { marketing_channel: "Website" }.
78
+
79
+ Data minimization (Art. 25 DSGVO): pass 'fields' with an array of contact
80
+ field names to return only those fields per contact (e.g. ["first_name",
81
+ "last_name", "email"]). Omit 'fields' to return the default set unchanged.
82
82
  Unknown field names produce an error listing the valid options.`, {
83
83
  q: z.string().optional()
84
84
  .describe("Fulltext search across name, email, address, phone"),
@@ -167,13 +167,13 @@ Unknown field names produce an error listing the valid options.`, {
167
167
  }
168
168
  });
169
169
  // ── get_contact ──────────────────────────────────────────────────
170
- server.tool("get_contact", `Get full details of a single contact by ID.
171
-
172
- Use this tool to:
173
- - View complete contact information before a call
174
- - Check relationships, documents, and owned properties
175
- - See sub-contacts (e.g. family members at same address)
176
-
170
+ server.tool("get_contact", `Get full details of a single contact by ID.
171
+
172
+ Use this tool to:
173
+ - View complete contact information before a call
174
+ - Check relationships, documents, and owned properties
175
+ - See sub-contacts (e.g. family members at same address)
176
+
177
177
  Use 'include' to load related data in one request.`, {
178
178
  id: z.number()
179
179
  .describe("Contact ID"),
@@ -193,16 +193,16 @@ Use 'include' to load related data in one request.`, {
193
193
  }
194
194
  });
195
195
  // ── create_contact ───────────────────────────────────────────────
196
- server.tool("create_contact", `Create a new contact in Propstack CRM.
197
-
198
- Use this tool to:
199
- - Register a new lead after a phone call
200
- - Create a contact from a web form submission
201
- - Add a new property owner
202
-
203
- Auto-upserts: if a contact with the same email or old_crm_id already
204
- exists, it will be updated instead of creating a duplicate.
205
-
196
+ server.tool("create_contact", `Create a new contact in Propstack CRM.
197
+
198
+ Use this tool to:
199
+ - Register a new lead after a phone call
200
+ - Create a contact from a web form submission
201
+ - Add a new property owner
202
+
203
+ Auto-upserts: if a contact with the same email or old_crm_id already
204
+ exists, it will be updated instead of creating a duplicate.
205
+
206
206
  Use get_contact_sources first to find valid source IDs.`, {
207
207
  first_name: z.string().optional()
208
208
  .describe("First name"),
@@ -260,20 +260,20 @@ Use get_contact_sources first to find valid source IDs.`, {
260
260
  }
261
261
  });
262
262
  // ── update_contact ───────────────────────────────────────────────
263
- server.tool("update_contact", `Update an existing contact in Propstack CRM.
264
-
265
- Use this tool to:
266
- - Update contact details after a call
267
- - Change broker assignment
268
- - Add or remove tags (Merkmale)
269
- - Update GDPR status
270
- - Change contact rating or status
271
-
272
- Tag management options:
273
- - group_ids: replaces ALL tags with this list
274
- - add_group_ids: adds tags without removing existing ones
275
- - sub_group_ids: removes specific tags
276
-
263
+ server.tool("update_contact", `Update an existing contact in Propstack CRM.
264
+
265
+ Use this tool to:
266
+ - Update contact details after a call
267
+ - Change broker assignment
268
+ - Add or remove tags (Merkmale)
269
+ - Update GDPR status
270
+ - Change contact rating or status
271
+
272
+ Tag management options:
273
+ - group_ids: replaces ALL tags with this list
274
+ - add_group_ids: adds tags without removing existing ones
275
+ - sub_group_ids: removes specific tags
276
+
277
277
  Only provide the fields you want to change.`, {
278
278
  id: z.number()
279
279
  .describe("Contact ID to update"),
@@ -324,13 +324,13 @@ Only provide the fields you want to change.`, {
324
324
  }
325
325
  });
326
326
  // ── delete_contact ───────────────────────────────────────────────
327
- server.tool("delete_contact", `Delete a contact from Propstack CRM (soft delete).
328
-
329
- The contact is moved to a 30-day recycle bin and can be restored.
330
-
331
- Use this tool for:
332
- - GDPR deletion requests (Art. 17 DSGVO)
333
- - Removing duplicate contacts
327
+ server.tool("delete_contact", `Delete a contact from Propstack CRM (soft delete).
328
+
329
+ The contact is moved to a 30-day recycle bin and can be restored.
330
+
331
+ Use this tool for:
332
+ - GDPR deletion requests (Art. 17 DSGVO)
333
+ - Removing duplicate contacts
334
334
  - Cleaning up test data`, {
335
335
  id: z.number()
336
336
  .describe("Contact ID to delete"),
@@ -344,12 +344,12 @@ Use this tool for:
344
344
  }
345
345
  });
346
346
  // ── get_contact_sources ──────────────────────────────────────────
347
- server.tool("get_contact_sources", `List all available contact/lead sources in Propstack.
348
-
349
- Returns the list of sources like "Immobilienscout 24", "Website",
350
- "Empfehlung", etc. with their IDs.
351
-
352
- Use this tool to look up valid source IDs before creating or updating
347
+ server.tool("get_contact_sources", `List all available contact/lead sources in Propstack.
348
+
349
+ Returns the list of sources like "Immobilienscout 24", "Website",
350
+ "Empfehlung", etc. with their IDs.
351
+
352
+ Use this tool to look up valid source IDs before creating or updating
353
353
  contacts with client_source_id.`, {}, async () => {
354
354
  try {
355
355
  const sources = await client.get("/contact_sources");
@@ -364,16 +364,16 @@ contacts with client_source_id.`, {}, async () => {
364
364
  }
365
365
  });
366
366
  // ── search_contacts_by_phone ─────────────────────────────────────
367
- server.tool("search_contacts_by_phone", `Look up a contact by phone number.
368
-
369
- This is the go-to tool for voice agent caller identification. When a call
370
- comes in, use this tool with the caller's phone number to instantly find
371
- the matching contact.
372
-
373
- Phone matching ignores formatting — all of these find the same contact:
374
- 015712345678, 0157-123-456-78, +49 157 12345678
375
-
376
- Returns the matching contact(s) with key details. If no match is found,
367
+ server.tool("search_contacts_by_phone", `Look up a contact by phone number.
368
+
369
+ This is the go-to tool for voice agent caller identification. When a call
370
+ comes in, use this tool with the caller's phone number to instantly find
371
+ the matching contact.
372
+
373
+ Phone matching ignores formatting — all of these find the same contact:
374
+ 015712345678, 0157-123-456-78, +49 157 12345678
375
+
376
+ Returns the matching contact(s) with key details. If no match is found,
377
377
  the caller is unknown and you should create a new contact.`, {
378
378
  phone_number: z.string()
379
379
  .describe("Phone number to search for (any format — formatting is ignored)"),
@@ -92,31 +92,31 @@ function formatDealRow(d) {
92
92
  // ── Tool registration ────────────────────────────────────────────────
93
93
  export function registerDealTools(server, client) {
94
94
  // ── search_deals ────────────────────────────────────────────────
95
- server.tool("search_deals", `Search and filter deals (contact↔property relationships) in Propstack.
96
-
97
- Use this tool to:
98
- - Show all deals in a specific pipeline stage
99
- - Find deals for a contact or property
100
- - Track deal pipeline progress for a project
101
- - Find lost deals and cancellation reasons
102
- - Filter by broker, team, feeling (cold/warm/hot)
103
-
104
- A "deal" represents an interested contact linked to a property at a
105
- specific stage in a sales/rental pipeline (e.g. Anfrage → Besichtigung
106
- → Reserviert → Notartermin → Verkauft).
107
-
108
- Use include="client,property" to get expanded contact and property
109
- details in one request.
110
-
111
- Common queries:
112
- - All active deals: category="qualified"
113
- - Lost deals this month: category="lost" + created_at_from
114
- - Deals for a property: property_id=123
115
- - Pipeline view: deal_pipeline_id + sort_by=deal_stage_id
116
-
117
- Data minimization (Art. 25 DSGVO): pass 'fields' with an array of deal field
118
- names to return only those fields per deal (e.g. ["id", "deal_stage_id",
119
- "sold_price"]). Omit 'fields' to return the default set unchanged. Unknown
95
+ server.tool("search_deals", `Search and filter deals (contact↔property relationships) in Propstack.
96
+
97
+ Use this tool to:
98
+ - Show all deals in a specific pipeline stage
99
+ - Find deals for a contact or property
100
+ - Track deal pipeline progress for a project
101
+ - Find lost deals and cancellation reasons
102
+ - Filter by broker, team, feeling (cold/warm/hot)
103
+
104
+ A "deal" represents an interested contact linked to a property at a
105
+ specific stage in a sales/rental pipeline (e.g. Anfrage → Besichtigung
106
+ → Reserviert → Notartermin → Verkauft).
107
+
108
+ Use include="client,property" to get expanded contact and property
109
+ details in one request.
110
+
111
+ Common queries:
112
+ - All active deals: category="qualified"
113
+ - Lost deals this month: category="lost" + created_at_from
114
+ - Deals for a property: property_id=123
115
+ - Pipeline view: deal_pipeline_id + sort_by=deal_stage_id
116
+
117
+ Data minimization (Art. 25 DSGVO): pass 'fields' with an array of deal field
118
+ names to return only those fields per deal (e.g. ["id", "deal_stage_id",
119
+ "sold_price"]). Omit 'fields' to return the default set unchanged. Unknown
120
120
  field names produce an error listing the valid options.`, {
121
121
  client_id: z.number().optional()
122
122
  .describe("Filter by contact ID"),
@@ -208,18 +208,18 @@ field names produce an error listing the valid options.`, {
208
208
  }
209
209
  });
210
210
  // ── create_deal ─────────────────────────────────────────────────
211
- server.tool("create_deal", `Create a deal linking an interested contact to a property in Propstack.
212
-
213
- A deal represents a contact's interest in a property and tracks it
214
- through pipeline stages (e.g. Anfrage → Besichtigung → Reserviert →
215
- Notartermin → Verkauft).
216
-
217
- Use this tool after:
218
- - A viewing to formalize interest
219
- - A contact inquiry about a property
220
- - Moving a lead into the sales pipeline
221
-
222
- Requires client_id, property_id, and deal_stage_id. Use list_pipelines or
211
+ server.tool("create_deal", `Create a deal linking an interested contact to a property in Propstack.
212
+
213
+ A deal represents a contact's interest in a property and tracks it
214
+ through pipeline stages (e.g. Anfrage → Besichtigung → Reserviert →
215
+ Notartermin → Verkauft).
216
+
217
+ Use this tool after:
218
+ - A viewing to formalize interest
219
+ - A contact inquiry about a property
220
+ - Moving a lead into the sales pipeline
221
+
222
+ Requires client_id, property_id, and deal_stage_id. Use list_pipelines or
223
223
  get_pipeline to find valid pipeline and stage IDs.`, {
224
224
  client_id: z.number()
225
225
  .describe("Contact ID (required)"),
@@ -253,16 +253,16 @@ get_pipeline to find valid pipeline and stage IDs.`, {
253
253
  }
254
254
  });
255
255
  // ── update_deal ─────────────────────────────────────────────────
256
- server.tool("update_deal", `Update an existing deal in Propstack.
257
-
258
- Use this tool to:
259
- - Move a deal to the next pipeline stage (change deal_stage_id)
260
- - Update expected/agreed price
261
- - Add or update notes
262
- - Change broker assignment
263
- - Update feeling score after contact
264
- - Record cancellation reason
265
-
256
+ server.tool("update_deal", `Update an existing deal in Propstack.
257
+
258
+ Use this tool to:
259
+ - Move a deal to the next pipeline stage (change deal_stage_id)
260
+ - Update expected/agreed price
261
+ - Add or update notes
262
+ - Change broker assignment
263
+ - Update feeling score after contact
264
+ - Record cancellation reason
265
+
266
266
  Only provide the fields you want to change.`, {
267
267
  id: z.number()
268
268
  .describe("Deal ID to update"),
@@ -9,16 +9,11 @@ export declare function textResult(text: string): {
9
9
  */
10
10
  export declare function formatError(err: unknown): string;
11
11
  export declare function errorResult(entity: string, err: unknown): {
12
+ isError: true;
12
13
  content: {
13
14
  type: "text";
14
15
  text: string;
15
16
  }[];
16
- } | {
17
- content: {
18
- type: "text";
19
- text: string;
20
- }[];
21
- isError: true;
22
17
  };
23
18
  /**
24
19
  * Propstack API with new=1/expand=1 returns nested objects like { value: X } or
@@ -37,7 +32,7 @@ export declare function fmtNested(obj: unknown, key: string, fallback?: string):
37
32
  */
38
33
  export declare function stripUndefined<T extends Record<string, unknown>>(obj: T): Partial<T>;
39
34
  export declare const CONTACT_FIELDS: readonly ["id", "name", "first_name", "last_name", "salutation", "email", "phone", "home_cell", "home_phone", "office_phone", "fax", "company", "position", "description", "home_street", "home_house_number", "home_zip_code", "home_city", "home_country", "office_street", "office_house_number", "office_zip_code", "office_city", "office_country", "broker_id", "broker", "client_source_id", "client_source", "client_status_id", "client_status", "status", "language", "rating", "newsletter", "accept_contact", "gdpr_status", "warning_notice", "groups", "custom_fields", "last_contact_at", "last_contact_at_formatted", "created_at", "updated_at", "archived", "children", "documents", "relationships", "owned_properties", "old_crm_id"];
40
- export declare const PROPERTY_FIELDS: readonly ["id", "title", "unit_id", "exposee_id", "marketing_type", "object_type", "rs_type", "rs_category", "street", "house_number", "zip_code", "city", "country", "lat", "lng", "price", "base_rent", "total_rent", "living_space", "plot_area", "property_space_value", "number_of_rooms", "number_of_bed_rooms", "number_of_bath_rooms", "floor", "construction_year", "description_note", "location_note", "furnishing_note", "other_note", "courtage", "courtage_note", "broker_id", "broker", "project_id", "project", "status", "property_status", "property_groups", "custom_fields", "images", "floorplans", "documents", "links", "created_at", "updated_at", "archived"];
35
+ export declare const PROPERTY_FIELDS: readonly ["id", "title", "unit_id", "exposee_id", "marketing_type", "object_type", "rs_type", "rs_category", "street", "house_number", "zip_code", "city", "country", "lat", "lng", "price", "base_rent", "total_rent", "living_space", "plot_area", "property_space_value", "number_of_rooms", "number_of_bed_rooms", "number_of_bath_rooms", "floor", "construction_year", "description_note", "location_note", "furnishing_note", "other_note", "courtage", "courtage_note", "broker_id", "broker", "project_id", "project", "status", "property_status", "property_groups", "custom_fields", "images", "floorplans", "documents", "links", "created_at", "updated_at", "archived", "energy_certificate_availability", "building_energy_rating_type", "energy_efficiency_class", "thermal_characteristic", "thermal_characteristic_electricity", "thermal_characteristic_heating", "energy_consumption_contains_warm_water", "energy_certificate_start_date", "energy_certificate_end_date", "heating_type", "firing_types", "lift", "cellar", "barrier_free", "guest_toilet", "built_in_kitchen", "balcony", "garden", "terrace", "monument", "number_of_floors", "number_of_balconies", "number_of_terraces", "number_of_parking_spaces", "floor_label", "parking_space_type", "last_refurbishment", "condition", "interior_quality", "equipment_technology_construction_year", "service_charge", "heating_costs", "parking_space_price", "deposit", "sold_price", "sold_date", "usable_floor_space", "total_floor_space", "balcony_space", "free_from", "rented", "long_description_note", "long_location_note", "long_furnishing_note", "long_other_note"];
41
36
  export declare const DEAL_FIELDS: readonly ["id", "broker_id", "client_id", "property_id", "project_id", "deal_stage_id", "deal_pipeline_id", "sold_price", "note", "date", "start_date", "reservation_reason_id", "feeling", "category", "client", "property", "deal_stage", "deal_pipeline", "created_at", "updated_at"];
42
37
  /**
43
38
  * Validate a requested `fields` list against a known field set. Returns a
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;EAEtC;AAiCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4BhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;;;;;;;;;;;EAwBvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoB1D;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAS,GAAG,MAAM,CAK7D;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQxD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAO,GAAG,MAAM,CAI3D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAI9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQpF;AAUD,eAAO,MAAM,cAAc,2tBAYjB,CAAC;AAEX,eAAO,MAAM,eAAe,wpBAUlB,CAAC;AAEX,eAAO,MAAM,WAAW,0RAKd,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CASf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,GACnE,WAAW,CAQb"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;EAEtC;AAiCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4BhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;;;;;;EAyBvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoB1D;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAS,GAAG,MAAM,CAK7D;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQxD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAO,GAAG,MAAM,CAI3D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAI9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQpF;AAUD,eAAO,MAAM,cAAc,2tBAYjB,CAAC;AAEX,eAAO,MAAM,eAAe,mkDAyBlB,CAAC;AAEX,eAAO,MAAM,WAAW,0RAKd,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CASf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,GACnE,WAAW,CAQb"}
@@ -68,26 +68,27 @@ export function formatError(err) {
68
68
  return String(err);
69
69
  }
70
70
  export function errorResult(entity, err) {
71
+ const toolError = (text) => ({ ...textResult(text), isError: true });
71
72
  if (err instanceof PropstackError) {
72
73
  const id = extractIdFromPath(err.path);
73
74
  if (err.status === 401) {
74
- return textResult("Invalid API key. Check your PROPSTACK_API_KEY. Manage keys at crm.propstack.de/app/admin/api_keys");
75
+ return toolError("Invalid API key. Check your PROPSTACK_API_KEY. Manage keys at crm.propstack.de/app/admin/api_keys");
75
76
  }
76
77
  if (err.status === 403) {
77
- return textResult("Insufficient permissions. Check API key permissions in Propstack admin.");
78
+ return toolError("Insufficient permissions. Check API key permissions in Propstack admin.");
78
79
  }
79
80
  if (err.status === 404) {
80
81
  return id
81
- ? textResult(`${entity} not found. No ${entity.toLowerCase()} with ID ${id} exists.`)
82
- : textResult(`${entity} not found.`);
82
+ ? toolError(`${entity} not found. No ${entity.toLowerCase()} with ID ${id} exists.`)
83
+ : toolError(`${entity} not found.`);
83
84
  }
84
85
  if (err.status === 422) {
85
- return textResult(parse422(err.detail));
86
+ return toolError(parse422(err.detail));
86
87
  }
87
88
  if (err.status === 429) {
88
- return textResult("Rate limited by Propstack API. Please try again in a moment.");
89
+ return toolError("Rate limited by Propstack API. Please try again in a moment.");
89
90
  }
90
- return textResult(`Propstack API error ${err.status}: ${err.detail}`);
91
+ return toolError(`Propstack API error ${err.status}: ${err.detail}`);
91
92
  }
92
93
  const msg = formatError(err);
93
94
  return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true };
@@ -198,6 +199,21 @@ export const PROPERTY_FIELDS = [
198
199
  "courtage", "courtage_note", "broker_id", "broker", "project_id", "project",
199
200
  "status", "property_status", "property_groups", "custom_fields", "images",
200
201
  "floorplans", "documents", "links", "created_at", "updated_at", "archived",
202
+ // German residential exposé fields (energy certificate, equipment, layout, costs)
203
+ "energy_certificate_availability", "building_energy_rating_type",
204
+ "energy_efficiency_class", "thermal_characteristic",
205
+ "thermal_characteristic_electricity", "thermal_characteristic_heating",
206
+ "energy_consumption_contains_warm_water", "energy_certificate_start_date",
207
+ "energy_certificate_end_date", "heating_type", "firing_types", "lift",
208
+ "cellar", "barrier_free", "guest_toilet", "built_in_kitchen", "balcony",
209
+ "garden", "terrace", "monument", "number_of_floors", "number_of_balconies",
210
+ "number_of_terraces", "number_of_parking_spaces", "floor_label",
211
+ "parking_space_type", "last_refurbishment", "condition", "interior_quality",
212
+ "equipment_technology_construction_year", "service_charge", "heating_costs",
213
+ "parking_space_price", "deposit", "sold_price", "sold_date",
214
+ "usable_floor_space", "total_floor_space", "balcony_space", "free_from",
215
+ "rented", "long_description_note", "long_location_note",
216
+ "long_furnishing_note", "long_other_note",
201
217
  ];
202
218
  export const DEAL_FIELDS = [
203
219
  "id", "broker_id", "client_id", "property_id", "project_id", "deal_stage_id",