Propstack MCP Server

Connect AI assistants to Propstack real estate CRM. Search contacts, manage properties, track deals, schedule viewings, and manage your entire real estate pipeline through natural language. 47 tools covering the complete Propstack API.

Propstack MCP Server

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.

What you can do / Was Sie damit machen koennen

  • 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

Quick Start

1. Set your API key

export PROPSTACK_API_KEY=your_api_key_here

2a. Claude Desktop

Add 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"
      }
    }
  }
}

2b. Claude Code (CLI)

Add to your project's .mcp.json:

{
  "mcpServers": {
    "propstack": {
      "command": "npx",
      "args": ["-y", "propstack-mcp-server"],
      "env": {
        "PROPSTACK_API_KEY": "your_api_key_here"
      }
    }
  }
}

2c. ChatGPT

  1. Go to Settings > Connectors > Developer Mode
  2. Add a new MCP connector
  3. Set the command to npx -y propstack-mcp-server
  4. Add environment variable PROPSTACK_API_KEY

2d. Cursor IDE

  1. Open Settings (Ctrl+,) → search "MCP"
  2. Edit MCP Servers JSON, or add mcp.json in 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"
      }
    }
  }
}

2e. Run directly

npm install propstack-mcp-server
PROPSTACK_API_KEY=your_key npx propstack-mcp-server

API Key / API-Schluessel

Get your Propstack API key:

  1. Log in to crm.propstack.de
  2. Go to Verwaltung > API-Schluessel (Administration > API Keys)
  3. 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.

Available Tools (50)

Contacts (Kontakte)

ToolDescription
search_contactsSearch and filter contacts by name, email, phone, status, tags, broker, GDPR status
get_contactGet full details of a single contact with related data
create_contactCreate a new contact (auto-dedup by email)
update_contactUpdate contact details, tags, GDPR status, broker assignment
delete_contactSoft-delete a contact (30-day recycle bin)
get_contact_sourcesList lead sources (ImmoScout24, Website, Empfehlung, etc.)
search_contacts_by_phoneLook up a contact by phone number (formatting-insensitive)

Properties (Objekte)

ToolDescription
search_propertiesSearch properties with 11 range filters, 17 sort fields
get_propertyGet full property details including media and custom fields
create_propertyCreate a new property listing
update_propertyUpdate price, status, description, broker assignment
get_property_statusesList property statuses (Verfuegbar, Reserviert, Verkauft, etc.)

Tasks (Aufgaben & Notizen)

ToolDescription
create_taskCreate a note, to-do, appointment, or cancellation (polymorphic)
update_taskMark done, reschedule, update notes
get_taskGet task details with linked contacts, properties, projects

Deals (Pipeline)

ToolDescription
search_dealsSearch deals by stage, pipeline, category, broker, feeling score
create_dealLink a contact to a property at a pipeline stage
update_dealMove deal through pipeline stages, update price/notes

Search Profiles (Suchprofile)

ToolDescription
list_search_profilesList what buyers/renters are looking for
create_search_profileCapture buyer criteria from natural language
update_search_profileAdjust budget, cities, room count, features
delete_search_profileRemove a search profile

Projects (Projekte)

ToolDescription
list_projectsList development projects with unit counts
get_projectGet project details with all units, media, documents

Activities & Events (Aktivitaeten & Termine)

ToolDescription
search_activitiesFull activity timeline for a contact, property, or project
list_eventsCalendar events — viewings, meetings, filtered by date/state

Emails (E-Mails)

ToolDescription
send_emailSend email using a Propstack template (snippet)
update_emailMark read/archived, categorize, link to CRM records

Documents (Dokumente)

ToolDescription
list_documentsList files attached to a property, project, or contact
upload_documentUpload a document (base64 data URI)

Relationships (Beziehungen)

ToolDescription
create_ownershipLink a contact as property owner (Eigentuemer)
create_partnershipLink a contact as buyer, tenant, etc. (Kaeufer, Mieter)

Lookups (Konfiguration)

ToolDescription
list_pipelinesGet deal pipelines with stages (IDs, names, positions)
get_pipelineGet a single pipeline with stage details
list_tagsList tags/groups (Merkmale) — filter contacts by group IDs
create_tagCreate a new tag for contacts, properties, or activities
list_activity_typesList note/todo/event templates for create_task
list_contact_statusesList contact statuses for search/assign
list_reservation_reasonsList deal cancellation reasons
list_custom_fieldsDiscover custom field definitions (names, types, options)
list_usersList all brokers/agents with contact info
list_teamsList teams/departments with member assignments
list_locationsList geographic areas (Geolagen) for location matching

Smart Composites (Intelligente Workflows)

ToolDescription
full_contact_360Complete contact dossier — info, search profiles, deals, activity
property_performance_reportDays on market, inquiry count, pipeline breakdown, activity summary
pipeline_summaryDeals per stage, total values, stale deals needing attention
smart_lead_intakeFull lead workflow: dedup, create/update, log notes, deal, reminder
match_contacts_to_propertyFind buyers whose search profiles match a property

Admin (Verwaltung)

ToolDescription
list_webhooksList all configured webhook subscriptions
create_webhookSubscribe to CRM events (CLIENT_CREATED, PROPERTY_UPDATED, etc.)
delete_webhookRemove a webhook subscription
export_dataBulk export an entire data table as JSON
get_contact_favoritesGet properties a contact has favorited

Example Conversations / Beispiel-Konversationen

Morning Briefing / Morgen-Briefing

You: What's on my calendar today?

AI: calls list_events with today's date range — You have 3 viewings scheduled...

Du: Gibt es neue Leads seit gestern?

KI: ruft search_contacts mit created_at_from=gestern auf — 5 neue Kontakte...

Lead Intake / Leaderfassung

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?

Property Matching / Objekt-Matching

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_property auf — 12 passende Suchprofile gefunden. Top 3: Herr Weber (Score 95%), Frau Mueller (Score 88%), Herr Kim (Score 85%)...

Pipeline Review

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...

Pre-Call Briefing / Vor dem Anruf

Du: Gib mir alles ueber Kontakt 3847 — ich rufe gleich an.

KI: ruft full_contact_360 auf — Herr Weber, Rating 3 Sterne, sucht 3-Zimmer in Berlin/Potsdam bis 400k. 2 aktive Deals, letzte Aktivitaet vor 3 Tagen...

Development

git clone <repo-url>
cd propstack-mcp-server
npm install
npm run build    # tsc → dist/
npm start        # requires PROPSTACK_API_KEY

Project Structure

src/
  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)

License

MIT

Related Servers