Connect AI assistants (Claude, ChatGPT) to your Propstack real estate CRM.
Verbinden Sie KI-Assistenten mit Ihrem Propstack-CRM — Kontakte verwalten, Objekte durchsuchen, Deals pflegen, Besichtigungen planen und Suchprofile erstellen, alles per Sprache oder Chat.
- Contact management — search, create, update, and tag contacts with GDPR tracking
- Property search & management — filter by price, rooms, area, status; create and update listings
- Deal pipeline — create deals, move through stages, track win/loss rates
- Buyer matching — create search profiles from natural language ("3-Zimmer in Berlin, bis 400k, mit Balkon") and auto-match to new listings
- Task & calendar — log call notes, set follow-up reminders, schedule viewings
- Email — send templated emails linked to contacts and properties
- 360-degree contact view — get a complete briefing before every call
- Pipeline dashboards — deal counts and values per stage, stale deal alerts
- Lead intake — one-call workflow: dedup, create contact, log notes, create deal, set reminder
- Bulk export — full data dumps for reporting, backup, or migration
export PROPSTACK_API_KEY=your_api_key_hereAdd to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}Add to your project's .mcp.json:
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}- Go to Settings > Connectors > Developer Mode
- Add a new MCP connector
- Set the command to
npx -y propstack-mcp-server - Add environment variable
PROPSTACK_API_KEY
- Open Settings (Ctrl+,) → search "MCP"
- Edit MCP Servers JSON, or add
mcp.jsonin project root /.cursor/
Option A — local project (after npm run build):
{
"mcpServers": {
"propstack": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "C:/Users/you/path/to/propstack_mcp",
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}Or use .env in project root — the server loads it automatically; you can omit the env block.
Option B — npx (published package or npx from local):
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}npm install propstack-mcp-server
PROPSTACK_API_KEY=your_key npx propstack-mcp-serverGet your Propstack API key:
- Log in to crm.propstack.de
- Go to Verwaltung > API-Schluessel (Administration > API Keys)
- Create or copy your V1 API key
Hinweis: Der API-Schluessel bestimmt die Berechtigungen. Stellen Sie sicher, dass Lese- und Schreibzugriff fuer die benoetigten Endpunkte aktiviert ist.
| Tool | Description |
|---|---|
search_contacts |
Search and filter contacts by name, email, phone, status, tags, broker, GDPR status |
get_contact |
Get full details of a single contact with related data |
create_contact |
Create a new contact (auto-dedup by email) |
update_contact |
Update contact details, tags, GDPR status, broker assignment |
delete_contact |
Soft-delete a contact (30-day recycle bin) |
get_contact_sources |
List lead sources (ImmoScout24, Website, Empfehlung, etc.) |
search_contacts_by_phone |
Look up a contact by phone number (formatting-insensitive) |
| Tool | Description |
|---|---|
search_properties |
Search properties with 11 range filters, 17 sort fields |
get_property |
Get full property details including media and custom fields |
create_property |
Create a new property listing |
update_property |
Update price, status, description, broker assignment |
get_property_statuses |
List property statuses (Verfuegbar, Reserviert, Verkauft, etc.) |
| Tool | Description |
|---|---|
create_task |
Create a note, to-do, appointment, or cancellation (polymorphic) |
update_task |
Mark done, reschedule, update notes |
get_task |
Get task details with linked contacts, properties, projects |
| Tool | Description |
|---|---|
search_deals |
Search deals by stage, pipeline, category, broker, feeling score |
create_deal |
Link a contact to a property at a pipeline stage |
update_deal |
Move deal through pipeline stages, update price/notes |
| Tool | Description |
|---|---|
list_search_profiles |
List what buyers/renters are looking for |
create_search_profile |
Capture buyer criteria from natural language |
update_search_profile |
Adjust budget, cities, room count, features |
delete_search_profile |
Remove a search profile |
| Tool | Description |
|---|---|
list_projects |
List development projects with unit counts |
get_project |
Get project details with all units, media, documents |
| Tool | Description |
|---|---|
search_activities |
Full activity timeline for a contact, property, or project |
list_events |
Calendar events — viewings, meetings, filtered by date/state |
| Tool | Description |
|---|---|
send_email |
Send email using a Propstack template (snippet) |
update_email |
Mark read/archived, categorize, link to CRM records |
| Tool | Description |
|---|---|
list_documents |
List files attached to a property, project, or contact |
upload_document |
Upload a document (base64 data URI) |
| Tool | Description |
|---|---|
create_ownership |
Link a contact as property owner (Eigentuemer) |
create_partnership |
Link a contact as buyer, tenant, etc. (Kaeufer, Mieter) |
| Tool | Description |
|---|---|
list_pipelines |
Get deal pipelines with stages (IDs, names, positions) |
get_pipeline |
Get a single pipeline with stage details |
list_tags |
List tags/groups (Merkmale) — filter contacts by group IDs |
create_tag |
Create a new tag for contacts, properties, or activities |
list_activity_types |
List note/todo/event templates for create_task |
list_contact_statuses |
List contact statuses for search/assign |
list_reservation_reasons |
List deal cancellation reasons |
list_custom_fields |
Discover custom field definitions (names, types, options) |
list_users |
List all brokers/agents with contact info |
list_teams |
List teams/departments with member assignments |
list_locations |
List geographic areas (Geolagen) for location matching |
| Tool | Description |
|---|---|
full_contact_360 |
Complete contact dossier — info, search profiles, deals, activity |
property_performance_report |
Days on market, inquiry count, pipeline breakdown, activity summary |
pipeline_summary |
Deals per stage, total values, stale deals needing attention |
smart_lead_intake |
Full lead workflow: dedup, create/update, log notes, deal, reminder |
match_contacts_to_property |
Find buyers whose search profiles match a property |
| Tool | Description |
|---|---|
list_webhooks |
List all configured webhook subscriptions |
create_webhook |
Subscribe to CRM events (CLIENT_CREATED, PROPERTY_UPDATED, etc.) |
delete_webhook |
Remove a webhook subscription |
export_data |
Bulk export an entire data table as JSON |
get_contact_favorites |
Get properties a contact has favorited |
You: What's on my calendar today?
AI: calls
list_eventswith today's date range — You have 3 viewings scheduled...
Du: Gibt es neue Leads seit gestern?
KI: ruft
search_contactsmit created_at_from=gestern auf — 5 neue Kontakte...
You: I just got off the phone with Maria Schmidt, +49 157 1234 5678. She's looking for a 3-room apartment in Berlin, budget 300-400k, must have a balcony. She found us on ImmoScout.
AI: calls
smart_lead_intake— Contact created (ID: 4521), call note logged, follow-up reminder set for tomorrow 9:00. Would you like me to create a search profile for her criteria?
Du: Wir haben ein neues Listing: 3-Zimmer-Wohnung in Charlottenburg, 385.000 EUR. Wer kommt als Kaeufer in Frage?
KI: ruft
match_contacts_to_propertyauf — 12 passende Suchprofile gefunden. Top 3: Herr Weber (Score 95%), Frau Mueller (Score 88%), Herr Kim (Score 85%)...
You: How's our sales pipeline looking? Any stale deals?
AI: calls
pipeline_summary— 47 active deals, total value 12.3M EUR. 5 deals haven't been updated in 14+ days...
Du: Gib mir alles ueber Kontakt 3847 — ich rufe gleich an.
KI: ruft
full_contact_360auf — Herr Weber, Rating 3 Sterne, sucht 3-Zimmer in Berlin/Potsdam bis 400k. 2 aktive Deals, letzte Aktivitaet vor 3 Tagen...
git clone <repo-url>
cd propstack-mcp-server
npm install
npm run build # tsc → dist/
npm start # requires PROPSTACK_API_KEYsrc/
index.ts # Server entry point (stdio transport)
propstack-client.ts # HTTP client with auth, retry, error handling
types/
propstack.ts # TypeScript interfaces for all API responses
tools/
helpers.ts # Shared formatting utilities
contacts.ts # 7 contact tools
properties.ts # 5 property tools
tasks.ts # 3 task tools (polymorphic: note/todo/event/cancel)
deals.ts # 3 deal pipeline tools
search-profiles.ts # 4 search profile tools
projects.ts # 2 project tools
activities.ts # 2 activity/event tools
emails.ts # 2 email tools
documents.ts # 2 document tools
relationships.ts # 2 relationship tools (ownership/partnership)
lookups.ts # 8 lookup/config tools
composites.ts # 5 smart composite tools
admin.ts # 5 admin tools (webhooks, export, favorites)
MIT