Panda IDX MCP Server
Connect Grok, Claude, or ChatGPT to Panda IDX with the Model Context Protocol (MCP). The public docs server at https://www.pandaidx.com/mcp needs no login and exposes OpenAPI, llms.txt, and developer resources. The authenticated product server at https://api.pandaidx.com/mcp can search listings, manage contacts, work your calendar, share properties and, with the builder scope, build and publish your AI Builder website — just by asking.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants securely connect to your tools and data. Instead of copy-pasting, the assistant queries your Panda IDX account in real time: listings, contacts, calendar, collections, saved searches, analytics, and email.
You authorize once. You can disconnect anytime from Dashboard → Apps.
Connect with Grok (Cursor)
Grok in Cursor already connects to Panda IDX as a custom MCP connector. No API key to paste.
https://api.pandaidx.com/mcpapp.pandaidx.com).Connect with Claude.ai
Add Panda IDX as a connector in Claude.ai. No code or API keys — OAuth handles it.
https://api.pandaidx.com/mcpClaude also has a Connectors Directory. You can add Panda IDX manually today with the URL above.
Connect with Claude Code (CLI)
For developers using Claude Code in the terminal, add the MCP server to your settings:
# Add to your Claude Code settings# File: ~/.claude/settings.json{"mcpServers": {"panda-idx": {"type": "url","url": "https://api.pandaidx.com/mcp"}}}
Claude prompts you to authorize on first use.
Connect with ChatGPT
Add Panda IDX as a custom MCP connector in ChatGPT (paid plans that support custom connectors / Developer Mode).
https://api.pandaidx.com/mcpThe ChatGPT apps / plugins store is a separate review path. You can connect with the URL today.
Available Tools
Once connected, the assistant has these tools. You do not need to call them by name — ask naturally.
Listings
search_listingsSearch MLS listings with filters: city, price, beds, baths, property type, amenities, waterfront, pool, and more. Returns public website links.
get_listingFull details and photos for one MLS number.
get_listing_changesPrice and status changes for listings since a date.
create_offmarket_propertyCreate an off-market / custom property. Confirm type, address, and price before the assistant calls this.
Contacts
list_contactsList and search CRM contacts by name, email, stage, or tag.
get_contactOne contact, optionally with notes, collections, and saved searches.
create_contactCreate a CRM contact. Confirm name and email first.
get_contact_activityActivity timeline: emails, calls, property views, form submissions.
Calendar
list_calendar_eventsCRM events in a date range.
create_calendar_eventCreate an event. Syncs to the connected Google Calendar when that is set up.
update_calendar_eventUpdate an event.
delete_calendar_eventRemove an event (and its Google Calendar copy when configured).
Collections
list_property_collectionsCollections for you or a CRM contact.
create_property_collectionCreate a collection, optionally with MLS IDs.
update_property_collectionRename a collection.
add_listing_to_collectionAdd an MLS listing to a collection.
remove_listing_from_collectionRemove an MLS listing from a collection.
delete_property_collectionDelete a collection.
Saved searches
list_saved_searchesSaved searches for you or a CRM contact.
create_saved_searchCreate a saved search from filters. Optional email updates: daily, weekly, or never.
update_saved_searchUpdate title, filters, or email frequency.
delete_saved_searchDelete a saved search.
send_contact_messageSend a freeform email to one CRM contact. Confirm the contact and the message first.
send_property_resource_emailEmail a listing, collection, or saved search to a CRM contact. Accepted for delivery is not the same as delivered.
Analytics
get_analyticsWebsite visitors, page views, conversions, traffic sources, UTM, and geography.
Account
get_meYour Panda IDX user, application, subscription status, and granted scopes.
Builder Tools
With the builder scope the assistant can build and edit your AI Builder websites with the same sandbox, design checks and publish rules as the Builder chat, driven by your own model (Claude Code, Claude Desktop). Start with list_sites and open_site, which returns the design guide to follow. Tools that change your account or publish are marked; assistants should confirm before using them.
Sites and sessions
list_sitesList your AI Builder websites with id, name, status and published URL.
open_siteStart or resume a site's sandbox and live preview, and get its design guide and skills.
wait_for_jobGet the result of a long tool call that answered pending with a job id.
load_skillLoad one builder skill (design, libraries, forms, navigation, integrations) by name.
describe_widgetRead the contract of a @pandaidx/widgets widget from the site's installed build.
Files
list_filesList every editable file of the site.
read_fileRead a text file of the site.
search_filesCase-insensitive text search across the site's files.
write_fileCreate or overwrite a file. The preview hot-reloads.
edit_fileApply a list of exact-match replacements to one file, atomically.
delete_fileDelete a file or a whole folder.
restore_filePut a file back exactly as a saved version had it.
install_packagesInstall npm packages into the site.
Preview and design checks
get_preview_logsRead the dev server output: compile errors, runtime errors and requests.
typecheckRun the TypeScript compiler over the site.
screenshot_pageScreenshot a page of the live preview at 375, 768 or 1440 px, with browser console errors.
measure_elementMeasure one element as the browser renders it: box, margins, classes and layout.
interact_pageUse the preview like a visitor: click, hover, scroll, type and wait.
inspect_web_pageRender an external public page in a real browser and read its content and styles.
compare_to_referenceCompare a section of the site with the same section of a reference page.
design_palettePropose three complete palettes from a brand color or a photo.
check_design_kitMeasure how much of the site follows its DESIGN.md kit. Slow, only on request.
Versions and publishing
save_versionSave the current files as a named version.
check_publishRun every Panda publish rule, runtime health and typecheck without publishing.
publish_sitePublish the site to production, like the Publish button. Ask the owner first.
get_publish_statusWhether the site is live and the progress of its publish job.
Content, SEO and data
list_cms_blocksList the site's CMS blocks: texts, links, media and menus.
update_cms_blockChange a CMS text, image, video, document or menu as data. No code edit and no publish needed.
convert_to_cmsTurn plain texts and media of the site into editable CMS blocks.
list_contentList the site's Content types and entries (FAQ, services, guides, legal pages) with where each is used.
define_content_typeCreate or update a Content type from a Panda preset (FAQ, Services) or your own fields.
update_content_entryCreate or update an entry of a Content type; Panda's legal entries become the owner's when edited.
site_seoRead or change the site's SEO title and description.
logo_placementsList or choose which of the three logos each spot of a page shows.
get_site_dataSummarize the account's real data: profile, brand, team, listings, areas, blog.
get_legacy_websiteRead an old Panda website's homepage and header as structured content for migration.
Media
list_mediaList the Media Center with CDN URLs.
upload_mediaGet a presigned upload for a local image, video or PDF.
import_media_from_urlImport a public image, video or document (25 MB max) into the Media Center.
generate_imageGenerate one image with AI and save it to the Media Center.
create_logoCreate the owner's logo with AI when MAIA Creator is on for the account.
Forms and popups
list_formsList the account's forms with their page spot and fields.
create_formCreate a form. Submissions land in the CRM.
arrange_formRearrange a form's fields into rows and steps.
assign_form_spotAssign a form to a page spot (contact, request-showing, new-development, home-valuation) or release it.
manage_popupsList, create, update or delete popups.
Libraries
list_librariesList the account's libraries and the Panda template catalog.
list_page_librariesList the sections of a page that show a library.
swap_libraryShow another library in a section already wired to one.
find_library_itemsFind areas, buildings, developments, collections, team, stories, reviews or saved searches to put in a library.
create_libraryCreate a library from item ids or slugs, or fork an existing one.
Integrations and analytics
get_site_runtimeRead the site's declared integrations and Panda analytics settings.
update_site_runtimeUpdate Panda analytics settings.
site_integrationsList, declare, update, retire or remove site integrations (authorized admins).
Example Prompts
Ask in natural language. Here are examples of what you can say:
Listings
- "Search for waterfront condos in Miami Beach between $800K and $2M with at least 2 bedrooms"
- "Show me the details and photos for listing A11567890"
- "What price changes happened this week on listings A11234567 and A11234568?"
Contacts
- "Show me my most recent contacts"
- "Add a contact: Maria Lopez, email maria@example.com"
- "Find contacts tagged as 'investor'"
- "What activity does contact John Smith have in the last 30 days?"
Calendar
- "Schedule a showing Friday at 3pm"
Collections and saved searches
- "Create a Brickell collection"
- "Create a weekly Coral Gables search"
- "Email that collection to the contact"
Analytics
- "How are my website visits doing this month?"
- "Show me traffic sources and top pages for the last 90 days"
Scopes & Permissions
When you authorize, the assistant requests access to these scopes:
profile
Your account, application, and granted scopes
listings
Search and view MLS listings, details, and price changes. Create off-market properties when that tool is used.
contacts
Read and create CRM contacts, notes, and activity
analytics
Website analytics, traffic, and conversions
calendar
List, create, update, and delete CRM calendar events
collections
List, create, update, and delete property collections
saved_searches
List, create, update, and delete saved searches
Send email to a CRM contact (freeform or a listing / collection / saved search)
builder
Build and edit your AI Builder websites: files, previews, versions, forms, libraries, and media. Publishing needs your confirmation in the client.
Write, delete, and email tools should be confirmed before the assistant runs them.
Manage Access
After you authorize, the connection appears in Dashboard → Apps. From there you can:
- See which scopes were granted
- See when the connection was created
- Disconnect at any time to immediately revoke all access
Go to Dashboard → Apps to manage connected apps.
How It Works
The MCP Server uses OAuth 2.1. Never paste an API key. The client registers itself (Dynamic Client Registration) or publishes a Client ID Metadata Document, and sends PKCE with every authorization. Here is what happens when you add the connector:
app.pandaidx.com)Requirements
Panda IDX
An active Panda IDX subscription.
Grok / Cursor
A Cursor account that can add custom MCP connectors.
Claude
Claude Pro, Team, or Enterprise for connectors. Claude Code works from the CLI settings above.
ChatGPT
A ChatGPT plan that allows custom MCP connectors / Developer Mode.
Subscription & Errors
The MCP servers work only while the Panda IDX account has an active subscription (active, in trial, or with a payment being retried), and only for an owner or administrator of the account. Otherwise every MCP request answers 403 with the reason, and the connection works again as soon as it is fixed. No need to reconnect.
| Status | Code | Meaning |
|---|---|---|
| 401 | invalid_token | No token, or it was revoked (Disconnect in Dashboard → Apps). The assistant asks you to authorize again. |
| 403 | subscription_inactive | The account has no active subscription. Renew it in Workspace settings › Subscriptions. |
| 403 | user_access_revoked | The user who connected is no longer an owner or administrator. Reconnect with one who is. |
| 403 | insufficient_scope | The tool needs a scope you did not approve. Reconnect and approve it. |
Your Own Agent
MCP with OAuth is for assistants you talk to. A bot or automation that runs on its own (a WhatsApp bot, Zapier, Make, n8n, your own code) uses a secret API key instead: contacts, listing search and saved searches. See Connect Your Own Agent.