Use PropSWOT's Maintenance Intelligence Inside Claude, Gemini, and Your AI Tools

Quick Answer

PropSWOT is a maintenance intelligence platform for property managers. PropSWOT publishes a Model Context Protocol (MCP) server at https://pm.propswot.com/api/mcp that any MCP-compatible AI agent can connect to with an API key. Once connected, the AI gains 16 tools to look up work orders, generate bilingual tenant self-help links, suggest vendors by trade and performance, and create or update work orders — with every write action requiring explicit property manager confirmation before it executes.

Listed on mcp.soListed on MCP Registry/.well-known/mcp.json

The AI operational layer above your PMS

Property management software — AppFolio, Buildium, Rent Manager — is built around accounting, leases, and ledgers. It is not built to give an AI agent maintenance context. PropSWOT fills that gap.

// The architecture that wins
Tenant reports issue
AI Intake Layer (voice/SMS/photo — Kris, Twilio)
Operational Intelligence Layer (triage, asset context, vendor routing)
MCP Orchestration Layer (16 tools, propose→confirm)
AppFolio / Buildium / Rent Manager (ledger stays in place)

PropSWOT does not replace your PMS. It operates above it — giving any AI agent the asset context, maintenance intelligence, and vendor data that no PMS provides. Your accounting, leases, and ledgers stay exactly where they are.

What Is PropSWOT MCP?

PropSWOT is a maintenance triage and dispatch platform built for property managers and short-term rental operators. PropSWOT ingests maintenance requests from tenants, matches issues to vendors, sends bilingual self-help guidance, and tracks work order status across a portfolio.

The Model Context Protocol (MCP) is an open standard that allows large language model (LLM) agents — such as Claude, Gemini, and custom GPT-based tools — to call external tools and data sources during a conversation. An MCP server exposes a set of named tools; an MCP client (the AI agent) discovers and calls those tools on behalf of the user.

The PropSWOT MCP server turns PropSWOT's maintenance database into a set of callable tools. Every tool call is org-scoped — meaning the AI agent can only access data belonging to the property management organization whose API key is used. A property manager at Company A cannot accidentally expose data from Company B.

The practical result: a property manager can open Claude Desktop, ask "What work orders need my attention today?", and receive a real-time, prioritized answer drawn from their live PropSWOT data — without opening the PropSWOT dashboard, without switching tools, without copying and pasting.

Platform Integration Guides

Step 0 — Get a PropSWOT MCP API Key

All platforms require an API key. Log in to PropSWOT, open the user menu (top right), and select MCP / API Keys. Click New key, give it a name (e.g. "Claude Desktop"), choose a scope, and copy the key. The raw key is shown once.

  • Read — triage lookups, vendor data, self-help links. Safe default.
  • Write — vendor assignment, work order creation, SMS. Requires two-step PM confirmation for every action.
  • Admin — org health threshold settings.
Generate API Key →

Claude Desktop

Live — available now

Claude Desktop (Anthropic) natively supports MCP servers via a local config file. This is the recommended path for property managers who already use Claude Desktop on their computer.

macOS

Config file: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "propswot": {
      "url": "https://pm.propswot.com/api/mcp",
      "headers": {
        "X-MCP-Key": "ps_live_YOUR_KEY_HERE"
      }
    }
  }
}

Windows

Config file: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "propswot": {
      "url": "https://pm.propswot.com/api/mcp",
      "headers": {
        "X-MCP-Key": "ps_live_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Claude Desktop. You'll see a "propswot" entry in the tools panel. Try these prompts to verify:

  • "What maintenance issues need my attention today?"
  • "Show me open work orders at 123 Main St."
  • "What HVAC vendors do I have on file?"
  • "Generate a self-help link in Spanish for work order #42."

Claude.ai Projects

Live — no installation required

Claude.ai Projects (Anthropic's web product) supports remote MCP servers directly from the browser — no config file or desktop app installation needed. This is the lowest-friction path for property managers who work in the browser.

  1. Open claude.ai and navigate to Projects (left sidebar).
  2. Open or create a Project for property management work.
  3. Click the Settings icon (gear) inside the Project.
  4. Under Tools, click Add MCP server.
  5. Enter the server URL: https://pm.propswot.com/api/mcp
  6. Add a custom header — name: X-MCP-Key, value: your API key.
  7. Save. PropSWOT tools will now be available to Claude in every conversation inside that Project.

ChatGPT (GPT Actions)

Live — available now

ChatGPT Plus and Enterprise users can add PropSWOT as a custom GPT with Actions. The PM creates a private "PropSWOT Assistant" GPT once, and from then on they just type natural language questions in ChatGPT — no dashboard needed. Enterprise admins can publish the GPT org-wide so every PM on the team gets it pre-configured.

Setup (5 minutes)

  1. Generate a PropSWOT API key at Dashboard → MCP / API Keys → New key. Name it "ChatGPT", choose Read or Write scope, and copy the key shown once.
  2. In ChatGPT, go to My GPTs → Create. Name it "PropSWOT Assistant". Add a system prompt like: "You help me manage maintenance work orders for my properties. Always use PropSWOT tools to look up real data before answering."
  3. Click Add actions. Choose Import from URL and paste:
    https://pm.propswot.com/openapi.yaml
    ChatGPT will load all 16 PropSWOT tools automatically.
  4. Under Authentication, select API Key, Auth Type: Bearer, and paste your PropSWOT API key.
  5. Click Save. Your "PropSWOT Assistant" GPT is ready.

Try these prompts

"What maintenance issues need my attention today?"
"Show me open HVAC work orders at Riverside Apartments."
"Suggest a vendor for the AC issue at 123 Main St unit 4B."
"Send a self-help link in Spanish for work order 1042."
"Assign Martinez HVAC to triage 1042." (write key required)

The OpenAPI spec is always current at https://pm.propswot.com/openapi.yaml. Use Import from URL to pick up new tools automatically when PropSWOT adds them.

Google Gemini

Via Gemini API — adapter required

Google Gemini does not natively speak the Model Context Protocol as of 2026. However, Gemini 2.0's function calling capability and MCP are structurally compatible — both use JSON-described tool schemas and structured call/response cycles. A thin adapter bridges the two.

The adapter pattern: declare PropSWOT's MCP tools as Gemini FunctionDeclaration objects, pass them in the Gemini API request, intercept function_call responses, forward them to the PropSWOT MCP server, and return the results as function_response parts.

import { GoogleGenerativeAI } from "@google/generative-ai";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

// 1. Connect to PropSWOT MCP
const mcp = new Client({ name: "gemini-adapter", version: "1.0.0" });
await mcp.connect(new StreamableHTTPClientTransport(
  new URL("https://pm.propswot.com/api/mcp"),
  { headers: { "X-MCP-Key": process.env.PROPSWOT_MCP_KEY } }
));

// 2. Fetch tool list and convert to Gemini FunctionDeclarations
const { tools } = await mcp.listTools();
const geminiTools = tools.map(t => ({
  name: t.name,
  description: t.description,
  parameters: t.inputSchema,
}));

// 3. Call Gemini with PropSWOT tools available
const genai = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genai.getGenerativeModel({
  model: "gemini-2.0-flash",
  tools: [{ functionDeclarations: geminiTools }]
});
const chat = model.startChat();
let response = await chat.sendMessage("What work orders need attention today?");

// 4. Handle function_call → MCP → function_response loop
while (response.functionCalls()?.length) {
  const call = response.functionCalls()[0];
  const mcpResult = await mcp.callTool(call.name, call.args);
  response = await chat.sendMessage([{
    functionResponse: { name: call.name, response: mcpResult }
  }]);
}

console.log(response.text());

PropSWOT publishes its full tool schema at https://pm.propswot.com/.well-known/mcp.json — use this to auto-generate the Gemini function declarations rather than writing them by hand.

S

SlackComing soon

PropSWOT is building a first-party Slack app. Property managers will be able to run maintenance commands directly from any channel or DM:

/propswot what needs attention today
/propswot assign Martinez HVAC to unit 4B
/propswot send self-help link in Spanish to triage 42
Join the Slack waitlist →
T

Microsoft TeamsComing soon

PropSWOT will offer a Teams app for property management organizations running Microsoft 365. Maintenance requests, vendor assignments, and tenant updates — without leaving Teams.

@PropSWOT show open work orders at Riverside Apts
@PropSWOT create a work order for 8 Oak St unit 3, no hot water
Join the Teams waitlist →

Safety by Design — Two-Step Confirmation for Every Write Action

PropSWOT never allows an AI agent to dispatch a vendor, send a tenant SMS, or create a work order without an explicit property manager confirmation. This is a hard architectural constraint, not a configurable setting.

When an AI agent calls a write tool — such as assign_vendor or sms_tenant — the PropSWOT MCP server responds with a plain-language summary and a confirmation_id. The action is stored but not executed. The AI agent presents the summary to the property manager. Only when the property manager confirms does the agent re-call the tool with the confirmation_id, and only then does PropSWOT execute.

// Step 1 — AI agent proposes
const proposal = await client.callTool("assign_vendor", {
  triage_id: 1234,
  vendor_name_or_id: "Martinez HVAC"
});
// PropSWOT responds:
// { status: "pending_confirmation", confirmation_id: "abc-123",
//   summary: "Assign Martinez HVAC to triage #1234." }

// AI agent shows summary to PM and waits for approval.

// Step 2 — PM confirms, AI agent executes
const result = await client.callTool("assign_vendor", {
  triage_id: 1234,
  vendor_name_or_id: "Martinez HVAC",
  confirmation_id: "abc-123"
});
// PropSWOT now assigns the vendor and notifies them via SMS.

Confirmations expire after 5 minutes. If the property manager does not respond, the pending action is discarded automatically. All proposed and executed actions are logged to the pm_assistant_actions audit table.

What the PropSWOT MCP Server Can Do

The PropSWOT MCP server exposes 16 tools across five capability groups. All read tools are available with a Read-scope key. Write tools require a Write-scope key and two-step PM confirmation.

Morning briefing

  • what_needs_attentionPrioritized list of stalled work orders and unresponsive tenants.
  • get_org_snapshotTraffic-light portfolio health (red / yellow / green).

Work order research

  • list_open_triagesFiltered list of open work orders by status or address.
  • get_work_orderFull details for one work order by ID or token.
  • get_asset_contextAppliance details + triage history for a unit.
  • lookup_applianceMake, model, age, warranty status, and installation date for any appliance.

Tenant deflection

  • get_troubleshooting_stepsAI-generated safe self-help steps — English or Spanish.
  • check_self_help_eligibilityOrg settings for which categories allow tenant self-help.
  • generate_self_help_linkPropSWOT tenant microsite URL — bilingual, shareable via SMS.

Vendor intelligence

  • list_vendorsOrg vendor list with trade, contact, performance data — including callback rate and on-time rate.
  • get_vendor_suggestionsRanked vendor matches for an issue using org rules, trade match, and performance scores (callback rate, on-time rate, response time).

Actions (two-step confirmation required)

  • assign_vendorAssign a vendor to a work order.
  • create_work_orderCreate a new maintenance work order.
  • update_work_order_statusMark a work order resolved, in progress, etc.
  • sms_tenantSend an SMS to a tenant for a specific work order.
  • update_snapshot_preferencesAdjust org health threshold settings.

PropSWOT MCP — Technical Summary

Server URLhttps://pm.propswot.com/api/mcp
TransportStreamableHTTP (MCP 2025-03-26 spec)
AuthX-MCP-Key header — org-scoped API key generated in PropSWOT dashboard
Native clientsClaude Desktop, Claude.ai Projects, ChatGPT GPT Actions
Adapter clientsGoogle Gemini API, any MCP-compatible agent
Tools16 tools across read, write, and admin scopes
LanguagesEnglish and Spanish (bilingual tenant deflection tools)
Write safetyTwo-step PM confirmation required for all write actions
Rate limit60 requests per minute per API key (configurable)
Discoveryhttps://pm.propswot.com/.well-known/mcp.json
Listed onmcp.so/server/propswot---property-management-ai/PropSWOT
MCP Registryregistry.modelcontextprotocol.io — io.github.TapAds/propswot
Get startedpm.propswot.com/dashboard/settings/mcp

Frequently Asked Questions

What is PropSWOT MCP?

PropSWOT MCP is a Model Context Protocol server published by PropSWOT, the maintenance intelligence platform for property managers. PropSWOT MCP allows any MCP-compatible AI agent — including Claude Desktop, Claude.ai Projects, and API-connected tools — to access PropSWOT's triage lookups, vendor data, bilingual self-help links, and work order actions, all scoped to the property manager's organization.

Can Claude create work orders in PropSWOT?

Yes. When the PropSWOT MCP server is connected and the API key has write scope, Claude can propose creating a work order. PropSWOT uses a two-step confirmation pattern: Claude presents a plain-language summary and waits for the property manager to confirm before any action executes. PropSWOT never dispatches a vendor or sends an SMS without explicit PM confirmation.

Does PropSWOT MCP support Spanish?

Yes. The get_troubleshooting_steps and generate_self_help_link tools both accept a language parameter ("en" or "es"). When set to Spanish, troubleshooting guidance is generated in Spanish and the PropSWOT tenant microsite displays in Spanish — allowing a property manager to serve bilingual portfolios without any additional setup.

How do I use PropSWOT inside ChatGPT?

ChatGPT Plus and Enterprise users can add PropSWOT as a custom GPT Action. Open ChatGPT, go to My GPTs → Create, click Add Actions, and import https://pm.propswot.com/openapi.yaml. Add your PropSWOT API key as Bearer authentication. The GPT will have access to all 16 PropSWOT tools. Enterprise admins can share the configured GPT with their entire property management team.

Does Google Gemini support PropSWOT MCP?

Google Gemini does not natively speak the Model Context Protocol as of 2026. However, developers can connect PropSWOT to Gemini using a thin adapter that maps Gemini's function calling interface to MCP tool calls. The adapter pattern is documented above and requires approximately 30 lines of Node.js code.

Is my property management data safe when an AI agent connects?

Every PropSWOT MCP API key is scoped to a single property management organization. An AI agent using your key can only read and act on your organization's data — never another property manager's. Keys can be revoked instantly from the PropSWOT dashboard. Write actions require explicit PM confirmation and are logged to a permanent audit trail.

Go deeper

Connect your AI agent in under 5 minutes

Generate an API key from the PropSWOT dashboard and paste it into Claude Desktop, Claude.ai Projects, or your own agent.