Propstack Mcp Server について
Propstack Mcp Serverは、Propstackの不動産CRMのデータやワークフローをAIアシスタントから扱えるようにします。不動産チーム向けに、CRM操作に加え、リード登録、買い手とのマッチング、連絡前の概要確認を行う複合ツールを備えています。
主な機能
- 01連絡先と物件の検索・管理
- 02取引ステージとパイプラインの追跡
- 03買い手の検索条件作成と物件照合
- 04タスク、カレンダー、メールの管理
- 05連絡先概要とパイプラインレポート
- 06リード登録とフォローアップ通知
活用シーン
- 01会話でCRMの連絡先を検索・更新
- 02条件に基づく買い手と物件の照合
- 03内見とフォローアップ通知の設定
- 04パイプラインの確認と停滞案件の把握
MCP 対応
Propstack APIの操作をツールとしてMCPクライアントに公開します。接続にはPropstack APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y propstack-mcp-serverPROPSTACK_API_KEYシークレットYour Propstack V1 API key (Verwaltung > API-Schluessel in crm.propstack.de). Determines which endpoints are accessible.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
52掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| q | string | いいえ | 名前、メールアドレス、住所、電話番号を対象に全文検索 |
| phone_number | string | いいえ | 電話番号で検索(書式を無視) |
| string | いいえ | メールアドレスで検索 | |
| broker_id | number | いいえ | 割り当てられたブローカー ID で絞り込み |
| status | array | いいえ | 連絡先ステータス ID で絞り込み |
| sources | array | いいえ | リードソース ID で絞り込み(例:ImmoScout24、Website) |
| group | array | いいえ | タグ/グループ ID(Merkmale)で絞り込み |
| not_in_group | array | いいえ | これらのタグ/グループ ID を持つ連絡先を除外 |
| gdpr_status | number | いいえ | GDPR status: 0=Keine Angabe, 1=Ignoriert, 2=Zugestimmt, 3=Widerrufen |
| newsletter | boolean | いいえ | ニュースレターのオプトイン状態で絞り込み |
| accept_contact | boolean | いいえ | 連絡許可で絞り込み |
| owner | boolean | いいえ | 不動産所有者で絞り込み |
| archived | string | いいえ | アーカイブの絞り込み:'-1' = すべて(アーカイブ済みを含む)、'1' = アーカイブ済みのみ。省略すると、アーカイブされていないもののみ(既定)。 |
| language | array | いいえ | 言語コードで絞り込みます(例:'de'、'en') |
| home_countries | array | いいえ | 居住国コードで絞り込みます |
| project_ids | array | いいえ | 関連付けられたプロジェクト ID で絞り込みます |
| created_at_from | string | いいえ | この日付以降に作成された連絡先を絞り込みます(ISO 8601) |
| created_at_to | string | いいえ | この日付以前に作成された連絡先を絞り込みます(ISO 8601) |
| updated_at_from | string | いいえ | この日付以降に更新された連絡先を絞り込みます(ISO 8601) |
| updated_at_to | string | いいえ | この日付以前に更新された連絡先を絞り込みます(ISO 8601) |
| sort_by | enum | いいえ | 結果の並べ替えに使用するフィールドlast_contact_at | created_at | updated_at | first_name | last_name |
| order | enum | いいえ | 並べ替え順(デフォルト:desc)asc | desc |
| expand | boolean | いいえ | 詳細情報とカスタムフィールドを含めます |
| include_children | boolean | いいえ | 結果に子連絡先を含めます |
| page | number | いいえ | ページ番号(デフォルト:1) |
| per_page | number | いいえ | ページあたりの結果数(デフォルト:25) |
| custom_filters | object | いいえ | カスタムフィールドの値で絞り込みます。キーは cf_ プレフィックスを付けないカスタムフィールド名です(list_custom_fields で確認してください)。各キーは cf_<name>=<value> クエリパラメーターになります。例:{ marketing_channel: "Website" } |
| fields | array | いいえ | データを最小限にするため、各結果では指定した連絡先フィールドのみを返します(例:["first_name", "last_name", "email"])。省略するとデフォルトのフィールドセットを返します。不明なフィールド名を指定するとエラーになります。 |
詳細
Propstack MCP サーバー
AI アシスタント(Claude、ChatGPT)を Propstack 不動産 CRM に接続します。
AI アシスタントを Propstack CRM に接続 — 音声またはチャットで、連絡先の管理、物件の検索、取引の管理、内見の予約、検索プロフィールの作成ができます。
できること
- 連絡先管理 — GDPR の追跡機能を使って、連絡先の検索、作成、更新、タグ付けができます
- 物件の検索と管理 — 価格、部屋数、面積、ステータスで絞り込み、物件情報の作成と更新ができます
- 取引パイプライン — 取引の作成、ステージ間の移動、成約率と失注率の追跡ができます
- 購入者のマッチング — 自然言語(「ベルリンで3部屋、40万ユーロまで、バルコニー付き」)から検索プロフィールを作成し、新着物件と自動でマッチングできます
- タスクとカレンダー — 通話メモの記録、フォローアップのリマインダー設定、内見の予約ができます
- メール — 連絡先や物件に紐づけたテンプレートメールを送信できます
- 連絡先の360度ビュー — 通話の前に必要な情報をまとめて確認できます
- パイプラインダッシュボード — ステージごとの取引数と金額、停滞している取引のアラートを確認できます
- リード受付 — 1回の通話で完了するワークフロー:重複の確認、連絡先の作成、メモの記録、取引の作成、リマインダーの設定
データ保護(DSGVO): このサーバーを使用すると、Propstack CRM の個人データが、接続する LLM(Claude、ChatGPT など)に送信されます。Propstack のお客様であるお客様が、引き続きデータ管理者となります。責任、法的根拠、
fieldsによるデータ最小化パラメーター、自動化された意思決定に関する注意事項については、データ保護(DSGVO)をご覧ください。
クイックスタート
1. API キーを設定する
export PROPSTACK_API_KEY=your_api_key_here
2a. Claude Desktop
Claude Desktop の設定(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)
プロジェクトの .mcp.json に追加します。
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
2c. ChatGPT と claude.ai(ウェブ/モバイル)
これらのクライアントは、HTTPS URL を使ってリモート MCP サーバーにのみ接続できます。
ローカルの npx コマンドを起動できないため、このサーバーを直接追加することはできません。代わりに Claude Desktop、Claude Code、Cursor、またはその他のローカルクライアントを使用してください。
ChatGPT または claude.ai アプリを使うには、認証された HTTPS エンドポイントの背後でサーバーを実行する必要があります。オープンなトンネルや認証のない stdio-to-HTTP ブリッジを通じて公開しないでください。URL を知っている人なら誰でも、お客様の API キーを使って CRM への完全な読み書きアクセスを得られてしまいます。ホスト型の構成が必要な場合は、Issue を作成してください。
2d. Cursor IDE
- Settings(Ctrl+,)を開き、「MCP」を検索します
- MCP Servers の JSON を編集するか、プロジェクトのルート/
.cursor/にmcp.jsonを追加します
オプション A — ローカルプロジェクト(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"
}
}
}
}
または、プロジェクトのルートに .env を使用します。サーバーが自動的に読み込むため、env ブロックは省略できます。
オプション B — npx(公開済みパッケージ、またはローカルからの npx):
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
2e. 直接実行する
npm install propstack-mcp-server
PROPSTACK_API_KEY=your_key npx propstack-mcp-server
API キー
Propstack API キーを取得します。
- crm.propstack.de にログインします
- 管理 > API キー(Administration > API Keys)に移動します
- V1 API キーを作成するか、コピーします
注意: API キーによって権限が決まります。必要なエンドポイントで読み取りと書き込みのアクセスが有効になっていることを確認してください。
利用可能なツール(56)
連絡先
| ツール | 説明 |
|---|---|
search_contacts | 名前、メールアドレス、電話番号、ステータス、タグ、ブローカー、GDPR ステータス、カスタムフィールドで連絡先を検索、絞り込みます |
get_contact | 関連データを含む、単一の連絡先の詳細をすべて取得します |
create_contact | 新しい連絡先を作成します(メールアドレスで重複を自動確認) |
update_contact | 連絡先の詳細、タグ、GDPR ステータス、ブローカーの割り当てを更新します |
delete_contact | 連絡先を論理削除します(30 日間のごみ箱) |
get_contact_sources | リードの流入元(ImmoScout24、ウェブサイト、紹介など)を一覧表示します |
search_contacts_by_phone | 電話番号から連絡先を検索します(書式の違いは無視されます) |
物件(オブジェクト)
| ツール | 説明 |
|---|---|
search_properties | 11種類の範囲フィルター、17種類の並べ替え項目、カスタムフィールドフィルターを使って物件を検索します |
get_property | メディア、カスタムフィールド、エネルギー証明書、設備、間取り、費用、マーケティング項目を含む物件の詳細をすべて取得します |
create_property | ドイツの住宅物件紹介に関する項目(エネルギー証明書、設備、費用)を含め、新しい物件情報を作成します |
update_property | 価格、ステータス、説明、担当ブローカー、ドイツの住宅物件紹介に関する項目を更新します |
get_property_statuses | 物件のステータス(Verfuegbar、Reserviert、Verkauft など)を一覧表示します |
タスク(タスクとメモ)
| ツール | 説明 |
|---|---|
create_task | メモ、ToDo、予定、キャンセルを作成します(多態型) |
update_task | 完了にする、日程を変更する、メモを更新する |
get_task | 関連付けられた連絡先、物件、プロジェクトを含むタスクの詳細を取得します |
取引(パイプライン)
| ツール | 説明 |
|---|---|
search_deals | ステージ、パイプライン、カテゴリ、ブローカー、感情スコアで取引を検索します |
create_deal | パイプラインのステージで、連絡先を物件に関連付けます |
update_deal | 取引をパイプラインのステージ間で移動し、価格やメモを更新します |
検索プロフィール(検索条件)
| ツール | 説明 |
|---|---|
list_search_profiles | 購入希望者や賃貸希望者が探している条件を一覧表示します |
create_search_profile | 自然言語で購入希望者の条件を登録します |
update_search_profile | 予算、都市、部屋数、設備を調整します |
delete_search_profile | 検索プロフィールを削除します |
プロジェクト
| ツール | 説明 |
|---|---|
list_projects | 住戸数を含む開発プロジェクトを一覧表示します |
get_project | すべての住戸、メディア、ドキュメントを含むプロジェクトの詳細を取得します |
アクティビティとイベント(アクティビティと予定)
| ツール | 説明 |
|---|---|
search_activities | 連絡先、物件、プロジェクトのアクティビティ履歴全体を検索します |
list_events | カレンダーのイベント(内覧、会議)を日付や状態で絞り込んで表示します |
メール
| ツール | 説明 |
|---|---|
send_email | Propstack のテンプレート(スニペット)を使ってメールを送信します |
update_email | 既読・アーカイブの設定、分類、CRM レコードとの関連付けを行います |
ドキュメント
| ツール | 説明 |
|---|---|
list_documents | 物件、プロジェクト、連絡先に添付されたファイルを一覧表示します |
upload_document | ドキュメントをアップロードします(base64 データ URI) |
画像
| ツール | 説明 |
|---|---|
list_property_images | ポータル上の表示順で、物件の画像と間取り図を一覧表示します(ID、タイトル、フラグ) |
upload_image | 物件またはプロジェクトに画像をアップロードします(base64 データ URI、ポータルでの表示設定) |
update_image | 画像のタイトル(title_de / title_en を含む)またはポータルでの表示設定を変更します |
関係
| ツール | 説明 |
|---|---|
create_ownership | 連絡先を物件の所有者(Eigentuemer)として関連付けます |
create_partnership | 連絡先を購入者、賃借人など(Kaeufer、Mieter)として関連付けます |
参照データ(設定)
| ツール | 説明 |
|---|---|
list_pipelines | ステージを含む取引パイプラインを取得します(ID、名前、位置) |
get_pipeline | 単一のパイプラインとステージの詳細を取得します |
list_tags | タグ/グループ(Merkmale)を一覧表示します。グループ ID で連絡先を絞り込めます |
create_tag | 連絡先、物件、アクティビティ用の新しいタグを作成します |
list_activity_types | create_task 用のメモ/ToDo/イベントテンプレートを一覧表示します |
list_contact_statuses | 検索や割り当てに使う連絡先のステータスを一覧表示します |
list_reservation_reasons | 取引のキャンセル理由を一覧表示します |
list_custom_fields | カスタムフィールドの定義(名前、型、選択肢)を確認します |
list_users | 連絡先情報を含む、すべてのブローカー/エージェントを一覧表示します |
list_teams | メンバーの割り当てを含むチーム/部署を一覧表示します |
list_locations | 位置情報の照合に使う地理エリア(Geolagen)を一覧表示します |
スマートコンポジット(インテリジェントなワークフロー)
| ツール | 説明 |
|---|---|
full_contact_360 | 連絡先の完全な情報 — 情報、検索プロフィール、取引、アクティビティ |
property_performance_report | 販売市場に出ている日数、問い合わせ件数、パイプラインの内訳、アクティビティの概要 |
pipeline_summary | ステージ別の取引、合計金額、注意が必要な停滞中の取引 |
smart_lead_intake | リード対応の全ワークフロー:重複排除、作成/更新、メモの記録、取引、リマインダー |
match_contacts_to_property | 検索プロフィールが物件に一致する購入希望者を検索 |
match_properties_to_contact | 逆マッチング:連絡先の検索プロフィールに合う物件を検索 |
管理
| ツール | 説明 |
|---|---|
list_webhooks | 設定済みのすべての Webhook サブスクリプションを一覧表示 |
create_webhook | CRM イベント(CLIENT_CREATED、PROPERTY_UPDATED など)をサブスクライブ |
delete_webhook | Webhook サブスクリプションを削除 |
get_contact_favorites | 連絡先がお気に入りに登録した物件を取得 |
会話例
朝のブリーフィング
あなた: 今日の予定を教えてください。
AI: 今日の日付範囲を指定して
list_eventsを呼び出します — 内見の予定が3件あります……
あなた: 昨日から新しいリードはありますか?
AI: created_at_from=昨日を指定して
search_contactsを呼び出します — 新しい連絡先が5件あります……
リードの登録
あなた: 先ほど Maria Schmidt さんと電話で話しました。電話番号は +49 157 1234 5678 です。ベルリンで、予算30万〜40万ユーロ、バルコニー付きの3部屋のアパートを探しています。ImmoScout で弊社を知ったそうです。
AI:
smart_lead_intakeを呼び出します — 連絡先を作成しました(ID:4521)。通話メモを記録し、明日9:00にフォローアップのリマインダーを設定しました。この条件で検索プロフィールを作成しますか?
物件のマッチング
あなた: 新しい物件情報があります。シャルロッテンブルクの3部屋のアパートで、価格は385,000 EURです。購入希望者の候補はいますか?
AI:
match_contacts_to_propertyを呼び出します — 条件に一致する検索プロフィールが12件見つかりました。上位3件:Weber 氏(スコア95%)、Mueller 氏(スコア88%)、Kim 氏(スコア85%)……
パイプラインの確認
あなた: 営業パイプラインの状況はどうですか?停滞中の取引はありますか?
AI:
pipeline_summaryを呼び出します — 進行中の取引は47件、合計金額は12.3M EURです。14日以上更新されていない取引が5件あります……
通話前のブリーフィング
あなた: 連絡先3847の情報をすべて教えてください。これから電話します。
AI:
full_contact_360を呼び出します — Weber 氏、評価は星3つです。ベルリン/ポツダムで、上限40万ユーロの3部屋の物件を探しています。進行中の取引が2件あり、最後のアクティビティは3日前です……
データ保護(DSGVO)
英語の概要: この MCP サーバーを使用すると、お使いの Propstack CRM の個人データが、接続先の LLM に送信されます。お客様(Propstack の顧客)は GDPR 第4条第7項に基づくデータ管理者(Verantwortlicher)です。ツールの作成者はデータをホストも処理もしません。以下のドイツ語のセクションでは、管理者としての責任、LLM によるデータ処理に必要な法的根拠、データ最小化のための
fieldsパラメーター、match_contacts_to_propertyに関する自動意思決定の注意事項、および監査ログについて説明します。これらの点は、顧客データを扱うあらゆる LLM ツールに当てはまります。見落とされやすいため、ここに記載しています。
管理者の責任
これはオープンソースのツールです。各ユーザーは自身の API キーを使用して、自身の Propstack アカウントに接続します。サーバーはステートレスで、各ユーザーのローカル環境で実行され、データを保存しません。ツールの作成者がデータをホストまたは処理することはありません。このツールを使用する Propstack の顧客は、GDPR 第4条第7号に基づくデータ管理者です。
LLM による処理
このツールを使用すると、個人データ(氏名、住所、連絡先情報、およびツールによっては財務データや取引データも)が、接続されている LLM(Claude、ChatGPT など)のコンテキストウィンドウに転送されます。これは、GDPR 第 4 条第 2 号にいう処理行為に該当します。管理者には、以下が必要です。
- GDPR 第 6 条に基づく法的根拠、
- 自身のプライバシーポリシーへの適切な記載(データ主体に対する GDPR 第 13 条/第 14 条に基づく透明性義務)、
- 必要に応じて、LLM プロバイダーとのデータ処理契約(AVV)。
これは、顧客データを処理する LLM 対応ツールすべてに当てはまり、この MCP サーバーに特有のものではありません。それでも、見落とされやすいため、ここで明示しています。
自動化された意思決定に関する注意(match_contacts_to_property)
match_contacts_to_property ツールは、担当者による確認を前提として、連絡先と物件との一致度スコア(ランキング)を生成します。これは意思決定支援を目的としており、自律的に決定を下すものではありません。不動産仲介業者が結果を確認し、手動で対応します。そのため、この利用は GDPR 第 22 条(法的効果または同様に重大な影響を及ぼす、完全に自動化された意思決定のみを対象とする)の適用対象にはなりません。ただし、管理者は、ツールが実際にそのように使用されることを確認する必要があります。つまり、人による確認を行わずに、完全に自動化されたアプローチに組み込まれないようにしてください。
データ最小化(fields パラメーター)
個人データを広範囲に返すツールである search_contacts、search_properties、search_deals、full_contact_360 は、任意の fields パラメーターに対応しています。これにより、必要なフィールドだけを指定して取得できます(例:["first_name", "last_name", "email"])。fields を指定しない場合、動作は変わらず、すべてのフィールドが返されます。管理者には、GDPR 第 25 条に基づくプライバシー・バイ・デザインの考え方に沿って、それぞれの目的に必要なデータのみを処理するために fields を使用することを推奨します。
監査ログ/アクセス制御
アクセスの記録とアクセス制御は、管理者の責任です。たとえば、Propstack の権限管理(API キーの権限)や、クライアントまたはセッションレベルでのログ記録によって実施できます。サーバーはステートレスで、各ユーザーの環境でローカルに実行されるため、このようなログ記録機能はツール自体には含まれていません。
開発
git clone <repo-url>
cd propstack-mcp-server
npm install
npm run build # tsc → dist/
npm start # requires PROPSTACK_API_KEY
プロジェクト構成
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)
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。