Propstack Mcp

io.github.ashev87由 GitHub 账号 ashev87 发布v1.1.0更新于 Oct 24, 2026

Connect AI assistants to your Propstack real estate CRM (contacts, properties, deals).

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

让助手操作 Propstack 房地产 CRM:联系人、房源、交易、任务、邮件和文档。

可以做什么
通过 Propstack V1 API 提供约 49 个工具,涵盖联系人搜索与管理、房源信息、交易管道、搜索画像、任务与日历事件、模板邮件、文档以及配置查询。组合工具可生成完整联系人档案、房源表现报告、管道汇总、线索录入,以及联系人与房源的匹配。服务以 stdio 在本地运行,无状态。
适用场景
适合已在使用 Propstack 的房产经纪人或团队,希望通过对话查询和更新 CRM 记录、准备通话简报、处理线索录入,或在不打开 CRM 的情况下查看管道和房源表现。
运行要求
需要本地 Node.js 运行环境,以 stdio 方式运行 npm 包 propstack-mcp-server,并提供 Propstack V1 API 密钥,通过环境变量 PROPSTACK_API_KEY 传入。密钥权限决定可访问的接口范围。仅支持桌面客户端。
安装前请注意
该服务可创建、更新和软删除 CRM 记录、发送邮件、上传文档并管理 webhook,因此助手的操作会改动真实数据。CRM 中的个人数据和交易数据会发送到所连接的 LLM;Propstack 客户仍是 GDPR 下的数据控制者。API 密钥属于机密,应仅授予所需的读写接口权限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Propstack Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

Data protection (DSGVO): Using this server sends personal data from your Propstack CRM into the LLM you connect (Claude, ChatGPT, …). You — the Propstack customer — remain the data controller. See Datenschutz (DSGVO) for responsibility, legal basis, the fields data-minimization parameter, and notes on automated decisions.

Quick Start

1. Set your API key

bash
export PROPSTACK_API_KEY=your_api_key_here

2a. Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

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:

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

2c. ChatGPT and claude.ai (web / mobile)

These clients only connect to remote MCP servers over an HTTPS URL. They cannot start a local npx command, so this server can't be added to them directly — use Claude Desktop, Claude Code, Cursor or another local client instead.

If you need ChatGPT or the claude.ai apps, the server has to run behind an authenticated HTTPS endpoint. Do not expose it through an open tunnel or an unauthenticated stdio-to-HTTP bridge: anyone with the URL would get full read/write access to your CRM with your API key. Open an issue if you need a hosted setup.

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):

json
{  "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):

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

2e. Run directly

bash
npm install propstack-mcp-serverPROPSTACK_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 (56)

Contacts (Kontakte)

ToolDescription
search_contactsSearch and filter contacts by name, email, phone, status, tags, broker, GDPR status, custom fields
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, custom-field filters
get_propertyGet full property details including media, custom fields, energy certificate, equipment, layout, cost, and marketing fields
create_propertyCreate a new property listing, including German residential exposé fields (energy certificate, equipment, costs)
update_propertyUpdate price, status, description, broker assignment, and German residential exposé fields
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)

Images (Bilder)

ToolDescription
list_property_imagesList a property's images and floor plans in portal order (IDs, titles, flags)
upload_imageUpload an image to a property or project (base64 data URI, portal visibility)
update_imageChange an image's title (incl. title_de / title_en) or portal visibility

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
match_properties_to_contactReverse matching: find properties that fit a contact's search profiles

Admin (Verwaltung)

ToolDescription
list_webhooksList all configured webhook subscriptions
create_webhookSubscribe to CRM events (CLIENT_CREATED, PROPERTY_UPDATED, etc.)
delete_webhookRemove a webhook subscription
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...

Datenschutz (DSGVO)

English summary: Using this MCP server sends personal data from your Propstack CRM into whichever LLM you connect. You (the Propstack customer) are the data controller (Verantwortlicher) under Art. 4(7) GDPR — the tool author hosts and processes nothing. The German section below covers controller responsibility, the legal basis your LLM processing needs, the fields parameter for data minimization, automated-decision notes for match_contacts_to_property, and audit logging. These points apply to any LLM tool handling customer data; they are stated here because they are easy to overlook.

Verantwortlichkeit

Dies ist ein quelloffenes Werkzeug (Open Source). Jeder Nutzer verbindet es über seinen eigenen API-Schluessel mit seinem eigenen Propstack-Konto. Der Server ist zustandslos, laeuft lokal beim jeweiligen Nutzer und speichert keine Daten. Es werden keine Daten durch den Autor des Werkzeugs gehostet oder verarbeitet. Der Propstack-Kunde, der dieses Werkzeug einsetzt, ist der Verantwortliche im Sinne von Art. 4 Nr. 7 DSGVO.

Verarbeitung durch das LLM

Bei der Nutzung dieses Werkzeugs werden personenbezogene Daten (Namen, Adressen, Kontaktdaten sowie je nach Tool auch Finanz- bzw. Deal-Daten) in das Kontextfenster des jeweils verbundenen LLM (Claude, ChatGPT usw.) uebertragen. Dies stellt einen Verarbeitungsvorgang im Sinne von Art. 4 Nr. 2 DSGVO dar. Der Verantwortliche benoetigt hierfuer:

  • eine Rechtsgrundlage nach Art. 6 DSGVO,
  • eine entsprechende Angabe in der eigenen Datenschutzerklaerung (Transparenzpflichten nach Art. 13/14 DSGVO gegenueber den betroffenen Personen),
  • gegebenenfalls einen Auftragsverarbeitungsvertrag (AVV) mit dem LLM-Anbieter.

Dies gilt fuer jedes LLM-gestuetzte Werkzeug, das Kundendaten verarbeitet, und ist nicht spezifisch fuer diesen MCP-Server — es wird hier dennoch ausdruecklich genannt, da es leicht uebersehen wird.

Hinweis zu automatisierten Entscheidungen (match_contacts_to_property)

Das Tool match_contacts_to_property erzeugt einen Uebereinstimmungs-Score (Ranking) zwischen Kontakten und einem Objekt — zur Vorlage fuer eine menschliche Pruefung. Es ist als Entscheidungsunterstuetzung konzipiert, nicht als autonomer Entscheider: Der Makler prueft die Ergebnisse und handelt manuell. Dadurch faellt die Nutzung nicht unter Art. 22 DSGVO (der ausschliesslich automatisierte Entscheidungen mit rechtlicher oder aehnlich erheblicher Wirkung betrifft). Der Verantwortliche sollte jedoch sicherstellen, dass das Tool auch tatsaechlich so eingesetzt wird — also nicht ohne menschliche Pruefung in eine vollstaendig automatisierte Ansprache eingebunden wird.

Datenminimierung (fields-Parameter)

Die Tools, die personenbezogene Daten in groesserem Umfang zurueckgeben — search_contacts, search_properties, search_deals und full_contact_360 — unterstuetzen einen optionalen fields-Parameter. Damit lassen sich gezielt nur die benoetigten Felder abrufen (z. B. ["first_name", "last_name", "email"]). Ohne fields bleibt das Verhalten unveraendert (alle Felder werden zurueckgegeben). Es wird empfohlen, dass Verantwortliche fields nutzen, um nur die fuer den jeweiligen Zweck erforderlichen Daten zu verarbeiten — im Sinne von Datenschutz durch Technikgestaltung (Art. 25 DSGVO).

Audit-Logging / Zugriffskontrolle

Protokollierung von Zugriffen und Zugriffskontrolle liegen in der Verantwortung des Verantwortlichen — etwa ueber die Berechtigungssteuerung von Propstack (API-Schluessel-Berechtigungen) oder ueber Protokollierung auf Client- bzw. Sitzungsebene. Da der Server zustandslos ist und lokal beim jeweiligen Nutzer laeuft, ist eine solche Protokollierung nicht im Werkzeug selbst enthalten.

Development

bash
git clone <repo-url>cd propstack-mcp-servernpm installnpm 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

[图片]

来源:README.md,提交 3acf764

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分