PropSWOT MCP Server
PropSWOT is the AI operational intelligence layer for property management. Connect your property portfolio — appliances, work orders, vendors, and maintenance history — to any AI agent that supports MCP.
"Your AI assistant. Your property system. No replacement required."
What This Server Does
PropSWOT MCP turns an AI agent into a fully-briefed property management assistant. Instead of guessing, the agent can:
- Look up the appliance at a unit (make, model, warranty status, age)
- Pull the 5 most recent work orders for that unit
- Generate safe tenant troubleshooting steps (English and Spanish)
- Check which vendors are available and ranked for the issue
- Create a work order with a two-step confirmation
- Assign a vendor and send the tenant an SMS
All 17 tools are org-scoped — an agent with your API key only sees your portfolio.
Quick Start
1. Get your API key
Log in to PropSWOT → Settings → MCP Keys → Create a key with read scope.
2. Connect to Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"propswot": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://pm.propswot.com/api/mcp"],
"env": {
"MCP_HEADER_X_MCP_KEY": "your-api-key-here"
}
}
}
}
Or using the Authorization header:
{
"mcpServers": {
"propswot": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://pm.propswot.com/api/mcp"],
"env": {
"MCP_HEADER_AUTHORIZATION": "Bearer your-api-key-here"
}
}
}
}
3. Try it
Ask Claude: "What needs attention at my properties today?"
Server Details
| Field | Value |
|---|---|
| Endpoint | https://pm.propswot.com/api/mcp |
| Transport | HTTP (Streamable, stateless) |
| Auth | X-MCP-Key: <key> or Authorization: Bearer <key> |
| Discovery | https://pm.propswot.com/.well-known/mcp.json |
| GPT Actions | https://pm.propswot.com/api/gpt/tools/{tool} |
Tools
Read Tools (any valid key)
| Tool | Description |
|---|---|
what_needs_attention | Priority queue: unresponsive tenants + items awaiting vendor |
get_org_snapshot | Red/yellow/green portfolio health snapshot |
list_open_triages | Open work orders with status and address filters |
get_work_order | Full details for a single work order by ID or token |
get_troubleshooting_steps | AI-generated tenant self-help steps (EN/ES) |
check_self_help_eligibility | Whether org allows self-help for a maintenance category |
generate_self_help_link | Tenant-facing microsite URL for a work order |
lookup_appliance | Make, model, warranty status, age for a unit appliance |
get_asset_context | Appliances + recent triage history for a unit |
list_vendors | Org vendor list with ratings and performance scores |
get_vendor_suggestions | Ranked vendors for an issue (trade match + performance) |
Write Tools (write scope — require two-step confirmation)
| Tool | Description |
|---|---|
assign_vendor | Assign a vendor to a work order |
create_work_order | Create a new work order |
update_work_order_status | Update work order status |
sms_tenant | Send an SMS to the tenant on a work order |
Admin Tools (admin scope)
| Tool | Description |
|---|---|
update_snapshot_preferences | Update org-level snapshot preferences |
Two-Step Confirmation (Write Safety)
All write tools use a propose → confirm pattern to prevent accidental mutations:
- Call the tool without
confirmation_id→ receive apending_confirmationresponse with aconfirmation_id - Re-call the tool with the
confirmation_idto execute
Confirmations expire after 5 minutes.
Example Conversation
User: My tenant at 123 Main St Unit 4B says the fridge isn't cooling.
Agent calls: lookup_appliance { property_address: "123 Main St", unit_number: "4B", appliance_type: "refrigerator" }
→ LG LRMVS3006S, installed 2019, warranty expired 2022, age 6 years
Agent calls: get_vendor_suggestions { issue_description: "refrigerator not cooling", property_address: "123 Main St" }
→ Top suggestion: City Appliance Repair (9.2/10, 0 callbacks in last 12 jobs)
Agent calls: create_work_order { property_address: "123 Main St", unit_number: "4B", issue_description: "Refrigerator not cooling — LG LRMVS3006S, 6 years old, warranty expired" }
→ confirmation_id: abc-123, summary shown to PM
PM confirms → work order created, vendor assigned, tenant notified
API Key Scopes
| Scope | Access |
|---|---|
read | All 11 read tools |
write | Read tools + 4 write tools (with confirmation) |
admin | All tools + preferences |
Create and manage keys at Settings → MCP Keys in your PropSWOT dashboard.
Rate Limits
- Default: 60 requests/minute per key
- Contact support for higher limits
Links
- Dashboard: https://pm.propswot.com
- Docs: https://pm.propswot.com/resources/propswot-mcp-for-property-management
- Claude Desktop Guide: https://pm.propswot.com/resources/connect-propswot-mcp-to-claude
- Discovery JSON: https://pm.propswot.com/.well-known/mcp.json
- Support: support@propswot.com
Use Cases
- Property managers using Claude or ChatGPT who want their AI to know their actual portfolio
- PM developers building AI workflows for their clients
- Proptech builders who need a structured MCP interface to property management data without building PMS integrations from scratch
PropSWOT is the AI operational intelligence layer above your PMS — not a replacement for AppFolio or Buildium. Your accounting stays where it is.
服务器配置
{
"mcpServers": {
"propswot": {
"url": "https://pm.propswot.com/api/mcp",
"headers": {
"X-MCP-Key": "YOUR_PROPSWOT_API_KEY"
}
}
}
}