CryptoCultCurt Appfolio MCP Server vs Propstack MCP

A side-by-side look at the CryptoCultCurt Appfolio MCP Server and Propstack MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

CryptoCultCurt Appfolio MCP Server logoCryptoCultCurt Appfolio MCP ServerReal Estate · Local subprocess (stdio)Provide seamless access to Appfolio Property Manager Reporting API through a standardized MCP serv…61GoodAuth: not declaredPropstack MCP logoPropstack MCPReal Estate · Local subprocess (stdio)Propstack CRM MCP: search contacts, manage properties, track deals, schedule viewings for real estate agents (Makler).65GreatAuth: api key required

Verdict: choose CryptoCultCurt Appfolio MCP Server for real estate work as a local process; choose Propstack MCP for real estate as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

CryptoCultCurt Appfolio MCP Server logoChoose CryptoCultCurt Appfolio MCP Server when

  • You need dedicated capabilities in the Real Estate domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: VHOST, USERNAME, PASSWORD.
  • You want tools like get_owner_directory_report, get_cashflow_report, get_property_directory_report.
Explore CryptoCultCurt Appfolio MCP Server

Propstack MCP logoChoose Propstack MCP when

  • You need dedicated capabilities in the Real Estate domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: PROPSTACK_API_KEY.
  • You want tools like search_contacts, get_contact, create_contact.
Explore Propstack MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCryptoCultCurt Appfolio MCP Server logoCryptoCultCurt Appfolio MCP ServerPropstack MCP logoPropstack MCP
CategoryReal EstateReal Estate
Quality signal61/100 · Good65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredBYOK (pay the provider)
Required env varsVHOSTUSERNAMEPASSWORDPROPSTACK_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars109
Directory activity 2 views 0 installs 0 upvotes 5 views 0 installs 0 upvotes
Tools4652

Tools & capabilities

CryptoCultCurt Appfolio MCP Server tools 46

  • get_owner_directory_reportReturns an owner directory report based on specified filters.
  • get_cashflow_reportReturns Cash Flow Details including income and expenses for given time period.
  • get_property_directory_reportReturns property directory details for the given filters.
  • get_account_totals_reportReturns account totals for given filters and date range.
  • get_aged_payables_summary_reportReturns aged payables summary for the given filters.
  • get_aged_receivables_detail_reportReturns aged receivables detail for the given filters.
  • get_budget_comparative_reportReturns budget comparative report for the given filters.
  • get_expense_distribution_reportReturns expense distribution report for the given filters.
  • get_rent_roll_itemized_reportReturns rent roll itemized report for the given filters.
  • get_delinquency_as_of_reportReturns delinquency as of report for the given filters.
  • get_guest_card_inquiries_reportReturns guest card inquiries report for the given filters.
  • get_leasing_funnel_performance_reportReturns leasing funnel performance report for the given filters.
  • +34 more on the listing page

Propstack MCP tools 52

  • search_contactsSearch and filter contacts in Propstack CRM. Use this tool to: - Find contacts by name, email, or phone number - List recent leads (sort by created_at desc) - Find uncontacted leads (last_contact_at is null) - Filter by broker assignment, status, tags, or GDPR status - Search across all contact fields with 'q' parameter The 'q' parameter searches across: first name, last name, all emails, all addresses, and all phone numbers. Phone search ('phone_number') ignores formatting — both 015712345678 and 0157-123-456-78 will match. Returns paginated results. Use expand=true for full details including custom fields. Custom fields: pass 'custom_filters' as an object of custom-field-name → value to filter by agency-specific fields (use list_custom_fields to discover field names). Each entry becomes a cf_<name> query parameter, e.g. { marketing_channel: "Website" }. Data minimization (Art. 25 DSGVO): pass 'fields' with an array of contact field names to return only those fields per contact (e.g. ["first_name", "last_name", "email"]). Omit 'fields' to return the default set unchanged. Unknown field names produce an error listing the valid options.
  • get_contactGet full details of a single contact by ID. Use this tool to: - View complete contact information before a call - Check relationships, documents, and owned properties - See sub-contacts (e.g. family members at same address) Use 'include' to load related data in one request.
  • create_contactCreate a new contact in Propstack CRM. Use this tool to: - Register a new lead after a phone call - Create a contact from a web form submission - Add a new property owner Auto-upserts: if a contact with the same email or old_crm_id already exists, it will be updated instead of creating a duplicate. Use get_contact_sources first to find valid source IDs.
  • update_contactUpdate an existing contact in Propstack CRM. Use this tool to: - Update contact details after a call - Change broker assignment - Add or remove tags (Merkmale) - Update GDPR status - Change contact rating or status Tag management options: - group_ids: replaces ALL tags with this list - add_group_ids: adds tags without removing existing ones - sub_group_ids: removes specific tags Only provide the fields you want to change.
  • delete_contactDelete a contact from Propstack CRM (soft delete). The contact is moved to a 30-day recycle bin and can be restored. Use this tool for: - GDPR deletion requests (Art. 17 DSGVO) - Removing duplicate contacts - Cleaning up test data
  • get_contact_sourcesList all available contact/lead sources in Propstack. Returns the list of sources like "Immobilienscout 24", "Website", "Empfehlung", etc. with their IDs. Use this tool to look up valid source IDs before creating or updating contacts with client_source_id.
  • search_contacts_by_phoneLook up a contact by phone number. This is the go-to tool for voice agent caller identification. When a call comes in, use this tool with the caller's phone number to instantly find the matching contact. Phone matching ignores formatting — all of these find the same contact: 015712345678, 0157-123-456-78, +49 157 12345678 Returns the matching contact(s) with key details. If no match is found, the caller is unknown and you should create a new contact.
  • search_propertiesSearch and filter properties (Objekte) in Propstack CRM. Use this tool to: - Find properties by address, ID, or exposé ID (use 'q' for fulltext) - Filter by status, type, marketing type, or project - Find properties in a price/rent range - List properties by size, rooms, or construction year - Filter by custom fields via the 'custom_filters' object (see below) The 'q' parameter searches: unit_id, street, zip code, city, district, exposé ID. Range filter pattern: 11 numeric fields each have _from and _to variants. For example, price_from=200000 & price_to=400000 finds properties priced 200–400k. Available range fields: price, base_rent, total_rent, property_space_value, living_space, plot_area, number_of_rooms, number_of_bed_rooms, number_of_bath_rooms, floor, construction_year. Common queries: - "Apartments 300–400k in Berlin": q="Berlin", marketing_type=BUY, rs_type=APARTMENT, price_from=300000, price_to=400000 - "All available rentals": marketing_type=RENT, status=<available_id from get_property_statuses> - "Properties on market 90+ days": sort_by=created_at, order=asc - "What's in Project X?": project_id=<id> Custom fields: pass 'custom_filters' as an object of custom-field-name → value (use list_custom_fields to discover field names). Each entry becomes a cf_<name> query parameter, e.g. { energy_class: "A" }. Always returns total count. Use expand=true for custom fields. Data minimization (Art. 25 DSGVO): pass 'fields' with an array of property field names to return only those fields per property (e.g. ["id", "title", "price", "city"]). Omit 'fields' to return the default set unchanged. Unknown field names produce an error listing the valid options.
  • get_propertyGet full details of a single property by ID. Use this tool to: - View complete property information for an exposé - Check images, floorplans, documents, and links - See custom fields, broker assignment, and project - Get multilingual texts (use locale parameter) Always fetches with new=1 (extra fields) and expand=1 (custom fields).
  • create_propertyCreate a new property (Objekt) in Propstack CRM. Use this tool to: - List a new property from an acquisition call - Create a listing from an owner inquiry - Add a property to a project Use get_property_statuses to look up valid status IDs. Use the relationships_attributes array to link an owner contact on creation. rs_type values: APARTMENT, HOUSE, TRADE_SITE, GARAGE, SHORT_TERM_ACCOMODATION, OFFICE, GASTRONOMY, INDUSTRY, STORE, SPECIAL_PURPOSE, INVESTMENT. rs_category provides sub-types (e.g. PENTHOUSE, VILLA, MAISONETTE for APARTMENT/HOUSE).
  • update_propertyUpdate an existing property in Propstack CRM. Use this tool to: - Update the price or rent - Change property status (e.g. mark as reserved or sold) - Edit description texts - Assign to a different broker or project - Update custom fields Only provide the fields you want to change. Use get_property_statuses to look up valid status IDs.
  • get_property_statusesList all available property statuses in Propstack. Returns statuses like "Verfügbar", "Reserviert", "Verkauft" with their IDs, colors, and sort positions. Use this tool to look up valid status IDs before: - Filtering properties by status in search_properties - Setting a property's status in create_property or update_property
  • +40 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

CryptoCultCurt Appfolio MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "cryptocultcurt-appfolio-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@fluegeldao/appfolio-mcp-server"
      ],
      "env": {
        "VHOST": "YOUR_VHOST_HERE",
        "USERNAME": "YOUR_USERNAME_HERE",
        "PASSWORD": "YOUR_PASSWORD_HERE"
      }
    }
  }
}

Propstack MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "ashev87-propstack-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "propstack-mcp-server"
      ],
      "env": {
        "PROPSTACK_API_KEY": "YOUR_PROPSTACK_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

CryptoCultCurt Appfolio MCP Server is categorized under Real Estate and uses a local stdio subprocess. Propstack MCP belongs to Real Estate and uses a local stdio subprocess. Pick CryptoCultCurt Appfolio MCP Server for real estate work and Propstack MCP for real estate.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

CryptoCultCurt Appfolio MCP Server has no declared pricing — check the project's own site. Propstack MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add cryptocultcurt-appfolio-mcp-server and ashev87-propstack-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, CryptoCultCurt Appfolio MCP Server has a quality signal of 61/100 (Good) with 2 views, 0 installs and 10 GitHub stars. Propstack MCP has 65/100 (Great) with 5 views, 0 installs and 9 GitHub stars.