Subscribe
The Relm MCP server
Give your AI agent 57 tools for commercial real estate: search any US property, run a multi-agent Intel Report, build 10-year pro-formas, and read your portfolios — every finding traceable to a source.
Developer settings
- Mint relm_sk_ keys
- Revoke anytime
- Org-scoped access
Connect
Add the server URL to your client
Analyze
Run Intel Reports from chat
Connect in three steps
- Start a Relm subscription. For desktop and terminal clients, create an API key in Settings → Developer; browser assistants just sign in.
- Add the server to your MCP client — sign in with Relm, or authenticate with your key. Pick your client for the exact setup:
{
"mcpServers": {
"relm": {
"url": "https://api.relm.ai/mcp/",
"headers": { "Authorization": "Bearer relm_sk_..." }
}
}
}Cursor Settings → MCP, or ~/.cursor/mcp.json · Full guide
Step-by-step guides with screenshots: Claude · ChatGPT · Gemini · Grok · GitHub Copilot · Cursor & others · Troubleshooting. The browser versions of ChatGPT and Gemini cannot connect yet; see which assistants can.
- Start prompting — your agent can now use the tools below.
57 tools for deal analysis
Read-only tools work with a read key; a full key adds the ones that trigger runs and edits.
Search & preview
Find properties and pull instant preview data.
search_propertiesSearch your properties, portfolios, and uploaded documents by address, name, or keywords.
preview_propertyFetch preview data (basic info, taxes, area stats) for a US address. Required before adding it to a portfolio. 10 credits per call.
get_preview_progressCheck real-time progress of an in-flight preview.
Property records
Raw public-record data for any US address — no portfolio required. Use the full record when you want everything, or a single slice when you only need one group of fields. 10 credits per call, including a repeat call. Records come in pages: while more remain, the result gives next_offset to pass as offset.
get_property_recordsThe complete public record for an address: ownership, transactions, prices, tax, listing, building, and commercial financials in one payload. Set paginate for large towers that return one record per unit.
get_property_ownershipOwnership slice: owners, companies, management, absentee vs owner-occupied, trust description.
get_property_transactionsTransaction slice: deed and mortgage history with buyer, seller, lender, loan amount and term, plus involuntary liens and judgements.
get_property_pricesPrice slice: list, sold, and estimated prices, rental prices, fees, deposits, and payment types.
get_property_tax_assessmentsTax slice: assessed values, property taxes, exemptions, parcel numbers, zoning, county and municipality, census and CBSA codes.
get_property_listingListing slice: broker and MLS data, days on market, and status or vacancy history.
get_property_buildingBuilding slice: property type, year built, sizes, rooms, features, systems such as HVAC and roof, parking, permits, and geo.
get_commercial_financialsCommercial slice: cap rate, NOI, effective and gross income, operating expenses, pro-forma NOI, rentable area, tenancy, major tenants, and lease type. Sparse for residential parcels.
Property data
Read the researched property document — every Intel Report section, or one section at a time.
get_propertyThe full researched property document — every Intel Report section: basic info, units, comps, taxes, POIs, area stats, summary, financials, market analysis, cap-rate research, media, and neighborhood news.
get_property_sectionRead one Intel Report section: basic_info, taxes, comps, units, summary, area_stats, pois, market, neighborhood_news, or cap_rate_research. Use get_proforma for financials.
Public records
Read public records directly — NYC building records, rent registration, hazard and environmental screens, geography, parcels, tenant credit, and historical aerial photos (with your own USGS login). 2 credits per call. Each source block reports its own status; "timeout" or "error" means it could not be checked, never that nothing was found.
get_nyc_building_recordsPublic records for one NYC tax lot: lot facts, deeds, violations, permits, building filings (including certificates of occupancy), hearings, liens, sales, and energy benchmarking. Omit datasets for a default set, or pass ["all"]. Long lists come in pages of up to 100 rows: name one dataset and pass next_offset as offset to get the rest.
get_ny_rent_registrationWhether a New York building is registered as rent-regulated. Building-level only — no unit count.
get_environmental_sitesRegulated facilities near a point, plus remediation sites in New York.
get_hazard_screenFlood zone, seismic, wildfire, and subsidence screen at a point. "error" means not screened, never low risk.
geocode_addressA US street address to its matched address and coordinates — never a guessed nearby point.
get_countyCounty identity and boundary metadata for a 5-digit county FIPS code.
get_parcelParcel attributes from the county’s own GIS. Covered counties only; others say "not covered yet".
get_wetlandsMapped wetland features, or just their count, inside a bounding box.
get_protected_landWhether a point is inside protected land, and who manages it.
get_tenant_creditPublic-company filing lookup for a tenant or guarantor name.
get_street_view_availabilityWhether street-level imagery exists at a point, and when it was captured.
get_historical_aerialsHistorical aerial photos covering a point (1930s onward), newest first, each with its date, preview image, footprint and a citation. Uses your organisation’s own USGS EarthExplorer login from Third-Party Services; "needs_credentials" means connect one first. 2 credits only when USGS was searched.
Relm Data library
Municipal, county and state open-data sources across the Northeast, Southwest, Southeast, Northwest, South, Great Lakes and Midwest — permits, certificates of occupancy, fire, violations, inspections, complaints and zoning — read straight from the publishing government portal. Browsing the library and reading catalog entries are free; a source query or search costs 2 credits, a batch read 2 credits per source that answered, and an ask 10. The same records feed the public-records step of an Intel Report.
list_public_record_sourcesBrowse the source library. Filter by two-letter state, topic or free text (a source name, publisher, place, or another name the source is known by, such as the portal whose notices it publishes); the result also lists every state and topic in the whole library so you can build filters from one call.
resolve_public_record_sourcesWhich sources an ask would query for an address, ranked by how closely the publisher matches it (city, county, state), with the geocode. Nothing is fetched, so it is the cheap way to check coverage first.
get_public_record_sourcesCatalog entries for one or more library sources (comma-separated ids, up to 100): name, publisher, topic, platform, landing page, the columns query_public_record_source filters take, and whether the source is readable by address, as a table, or neither. Call it before filtering a source you have not read yet. Free: nothing is fetched.
query_public_record_sourceRaw records from one library source, exactly as the portal returned them, with one citation per record and a hash over the rows. No agent, no model. Three reads: keywords (up to 25, each a whole word or phrase, recent rows first, with optional since and open_only) search a source with nothing to filter by address on, such as a city’s notice or procurement feed; an address on a source with a location or address column returns the records near it; anything else reads the source as a table, narrowed by filters (exact column values, column=value pairs separated by ;) and text, paged with offset = next_offset, with layer picking one layer of a map service that has several. Keyword search and table filters are alternatives. 2 credits per call.
read_public_record_sourcesRead up to 10 library sources in one call, each exactly as query_public_record_source would: by address where the source has a location or address column, otherwise as a table. filters and text apply to every source; results keep the order of the ids, and a source that fails is its own item with status error, never the whole call. Use it to compare publishers, such as every town’s grand list or every county’s permits. 2 credits per source that answered (hit or empty).
ask_public_recordsAsk the Relm data agent about one address. It queries every matching source, then answers from the records only, with the raw records, citations and coverage alongside.
ask_jurisdiction_recordsAsk the Relm data agent about a city, county or state when there is no street address: open RFPs and solicitations, public hearings and meetings, and other datasets a jurisdiction publishes. It searches up to 8 of that jurisdiction’s sources for your keywords (at most 12) and answers from the records only, with the raw records, citations and coverage. An empty result means no matching record in the sources searched, not proof that none exists. 20 credits per call.
search_public_recordsSemantic search over every public record the library has already fetched, for any address. It cannot see records nobody has fetched yet — use ask_public_records for a fresh read.
Zoning code
Read what a city’s zoning code says, not which district a lot is in. New York City’s Zoning Resolution today. 2 credits per call.
search_zoning_codeSearch a city’s zoning code by meaning, or read one section by its number. Each section comes back with its title, full text, last-amended date and a link to the publisher’s page to cite. Narrow by area with special_district (that district’s chapter only) or base_only (the base regulations only), not both; when a lot is in a special district, search that chapter too, since it can modify the base rules. A status of not_indexed means that city’s code is not loaded in Relm yet, so it was not checked.
Portfolios
Organize properties into portfolios.
list_portfoliosList every portfolio with its id, name, and property count.
create_portfolioCreate a new portfolio.
list_portfolio_propertiesList the properties in a portfolio (id, address, status).
add_to_portfolioAdd a previewed address to a portfolio; returns the new property_id.
remove_from_portfolioRemove a property from a portfolio.
Intel Report
Run and monitor multi-agent property research.
start_deep_searchStart a full Intel Report run — basics, units, comps, taxes, POIs, area stats, and a summary. Charged when it completes, by the data and AI work it delivered — about 300 credits for a typical full analysis.
get_deep_search_statusPer-section status plus a rollup (processing / complete / error / stopped) for a run.
get_run_stepsA run's live activity trace; pass the cursor back to fetch only new steps.
Pro forma
Build, read, edit, and export the financial model.
start_proformaStart the 10-year financial pro-forma run. Requires an active subscription.
get_proformaRead the pro forma: Year-1 summary, 10-year projections, and line items.
edit_proforma_fieldEdit one pro-forma line item and save — pass ten_year_values for the full series, or year1_value with an optional annual_growth_rate to project the rest. excluded: true takes an expense row out of the totals (it counts as 0 and keeps its values); false puts it back.
export_proformaExport the pro forma as xlsx, pdf, or json (temporary download URL).
Documents
Attach, list, download, index, and semantically search deal documents.
list_documentsList the documents attached to a property, newest first: uploaded files and images with their document_id, file name, upload time, and what each one is (classification, a summary cut to 500 characters, document type). Deleted documents are left out. Pages of up to 100; while more remain, next_offset says where the next page starts.
get_documentOne document attached to a property, with its whole summary and a temporary download link to the original file as it was uploaded (a PDF, a spreadsheet, a scan, or a photo). The link works for 10 minutes; call again for a fresh one.
upload_documentAttach a document to a property from a public URL or inline content. Pass index=true to kick off vector indexing immediately (returns an upload_id to poll).
index_documentStart (or restart) vector indexing for an already-attached document so it becomes searchable/citable. Returns an upload_id to poll.
get_document_indexing_statusPoll vector-indexing progress for an upload_id: pending, in_progress, complete, or failed.
search_documentsSemantic (vector) search across your uploaded documents. Scope to one property, one portfolio, or search the whole org to find similar content anywhere. 2 credits per call.
Chats
Read your Relm AI chats and their transcripts.
list_chatsList your chats — your org's shared 'edit' chats plus your private 'research' chats — newest first. Filter by portfolio, property, or type.
get_chat_messagesRead a chat transcript, paginated by message index. Only chats you can see are readable.
Playbook
How an AI assistant should work with Relm. Read-only, no credits.
get_relm_playbookRelm’s playbook for AI assistants: how to route real estate, government-data and connected-portal questions through Relm, step-by-step workflows (property due diligence, underwriting, government RFPs and leasing, broad research, imagery review, documents), and how to read Relm results. Call it with no topic for the list of topics, then with the topic for the task at hand.
Account
Inspect the key and its wallet.
get_creditsThe credit wallet: balance, plan, and whether new runs can start.
get_meIdentify the API key: user, org, role, and scope.
Keys are scoped and revocable, calls are rate limited and isolated to your organization, and every research finding is traceable to its source. Your data is never used to train models without your consent.
Put a real estate analyst in your agent
Start a subscription, mint a key, and connect the Relm MCP server in minutes.