Developers
Diald MCP server
Diald exposes its full deal platform over the Model Context Protocol. Connect it to Claude, ChatGPT, Cursor, or any MCP client and work your deals in natural language: create a property from an address, upload the OM, kick off analyses, and interrogate the proforma — all backed by the same engine as the Diald web app.
Endpoint https://YOUR-DIALD-HOST/api/mcp (Streamable HTTP)
Auth OAuth 2.1 (sign-in flow, used automatically by Claude and ChatGPT) or a Diald API key from Settings → API Keys sent as a Bearer token. Unauthenticated requests receive a standard OAuth challenge, so Claude's “Add custom connector” dialog detects Sign in now automatically — pick that option (or “No sign-in” with an API key in the Authorization header). ChatGPT apps, which browse the tool list before linking an account, should use /api/mcp?auth=optional.
Connect from Claude
- Open Settings → Connectors → Add custom connector.
- Enter the endpoint URL above and click Add.
- Claude discovers Diald's OAuth server automatically — click Connect, sign in to Diald, and approve access.
Connect from ChatGPT
- Enable Settings → Apps & Connectors → Advanced → Developer mode.
- Choose Create app, paste the endpoint URL, and select OAuth authentication.
- Sign in to Diald and approve access when prompted.
Connect from Cursor (or any MCP client)
Add this to mcp.json, using an API key if you prefer not to use the OAuth flow:
{
"mcpServers": {
"diald": {
"url": "https://YOUR-DIALD-HOST/api/mcp",
"headers": { "Authorization": "Bearer diald_sk_..." }
}
}
}Diald screens inside the chat
In Claude and ChatGPT, four Diald screens render live inside the conversation (MCP Apps): the viewProforma inputs grid with inline editing and run-the-model, the viewComps picker with save / confirm & lock, viewProgress with one-click next steps, and the rendered viewExecutiveSummary. They use the same tools, permissions and pricing as the assistant, and refresh themselves within a few seconds of any change. Hosts without interactive views receive the same data as JSON.
How an assistant finds its way around
Three tools exist so an assistant never has to guess: listAll lists every object of a type across all your properties (deals, documents, alerts, shares…), describeObject explains an object — its fields, which are editable and through which tool, and what can block a change — and listProformaFields gives the exact input keys of a specific deal before any cell is edited.
Long-running calls
Some tools take a while (PDF rendering, AI autofill, document parsing, research). They run for about 20 seconds and, if still going, return { pending: true, jobId } while the work continues on our side. The assistant then calls waitForJob (blocks up to 50 s) or getJob and receives exactly what the original call would have returned. Pass background: true on any such tool to get the job id immediately. Any Diald tab you have open refreshes itself within a few seconds of an assistant's change.
Available tools (69, server 1.9.3)
Generated from the live server. write = changes data (needs the write scope); background = may return a job id.
Interactive views
Live Diald screens rendered inside Claude / ChatGPT — edit, pick, unlock and read without leaving the chat.
viewProforma— Open the interactive PROFORMA view for a property: every underwriting input grouped by section with its current value, source and whether it is still missing, the headline…viewComps— Open the interactive COMPS view for a property: sales and rent comparables side by side with Diald's suggested picks marked, checkboxes to build the selection, and Save / Confirm…viewProgress— Open the interactive ANALYSIS PROGRESS view for a property: every stage on the road to the executive summary (setup → NIR → comps → DIALD → proforma → locked → summary → memo)…viewExecutiveSummary— Open the interactive EXECUTIVE SUMMARY view for a property: the active version rendered as a document, a version switcher (each version is frozen with the proforma snapshot it…
Find things
How an agent orients itself in an account.
listProperties— List the properties in the user's Diald account (newest first).listAll— List every object of one type across ALL properties this account can see (owned, org, shared), in one paginated call.describeObject— Schema of a Diald object type: what it is, how it is identified, its fields (with which are editable and through which tool/action), the read and write tools, the gates that can…listProformaFields— The proforma field registry for a deal — call this BEFORE setCellValue / getCellValue / runScenario / solveForTarget so you use real field keys.searchPropertyKnowledge— Semantic search over everything Diald has indexed for a property — uploaded documents (OM, rent roll, leases), findings, news articles, investment-memo chapters, comps, market…getPathTo— Ask "what does it take to get this property to X?" — returns the ordered steps, what each costs, and what is blocking.getPipelineStatus— Get the analysis pipeline status for a property: per-level state (free setup, NIR data layer, findings, proforma, memo, ...)getTokenBalance— Get the user's remaining Diald token balance. Diald actions cost tokens (e.g. tool calls, property creation, report unlocks).
Properties & analysis pipeline
Create properties, start and track the paid analyses.
createPropertywritebackground — Create a new property (deal) in the user's Diald account and automatically start the free setup analysis (property info, mapping, initial chapters — takes a few minutes).propertywritebackground — Manage one property (folder) after it exists.propertyGroupswrite — Your sidebar groups (folders of properties).runAnalysiswrite — Start an analysis pipeline for a property.advanceTowardGoalwritebackground — Move a property toward a goal.waitForPipelinebackground — Wait (server-side, up to timeoutSec ≤ 90) for a pipeline run on the property to finish, then return its status.getJob— Check a background job started by a long-running tool call (one that returned pending: true with a jobId).waitForJob— Block until a background job finishes (up to timeoutSec, max 50) and return it in the same shape as getJob.
Documents
Upload OMs, rent rolls, T12s; manage extraction.
uploadDocumentwritebackground — Upload a document to a property: offering memorandum (category "om"), rent roll ("rent_roll"), ARGUS/STAR Excel exports, financials, or photos.documentswritebackground — Documents on a property. "list" (status: uploaded=extracting, extracted, confirmed, failed).
Comps
Review, curate and lock the sales / rent comp set.
listComps— The full sales or rent comparables table for a property — the SAME rows and columns the website comps page shows (address, match score, neighborhood, distance, sale date/value or…setCompSelectionwrite — Save (autosave, without locking) which comps are selected for one side of a property's comp analysis.confirmCompSelectionwrite — Confirm & lock the comp selection for one side of a property — the step that makes runAnalysis("unlock-diald") possible once BOTH sides (sales and rent) are confirmed.unlockCompSelectionwrite — Unlock a previously confirmed comp selection so it can be edited again (the inverse of confirmCompSelection).editCompswritebackground — Curate a property's comparables beyond picking a selection.editCompSelectionwrite — View and edit which COMPARABLES back the comp analysis, per side ("sales" or "rent") — the same workflow as the comps page.researchCompswritebackground — RESEARCH NEW COMPS on the open web — finds comparable sales or rentals BEYOND what the data providers collected, using a grounded web search built from this property's profile.
Proforma
Read and edit every underwriting input, run what-ifs.
dealwritebackground — Proforma deals (financial workbooks) on a property.autofillwritebackground — The proforma "Auto fill-out" buttons (editor+).setCellValuewrite — Write a single proforma assumption on the user's current Deal.getCellValue— Read a single proforma cell verbatim from the database.editGridRowswrite — Edit individual ROWS of a grid-style proforma input (rent roll, MLA, recovery matrix, line-item grids, hospitality P&L lines) without rewriting the whole grid.readGrid— Read the COMPLETE rows of a grid-style proforma input: rent roll, market leasing assumptions (MLA), recovery matrix, operating-expense / other-income / capital-cost line items…editRentRollUnitswrite — Edit the MULTIFAMILY per-unit rent roll: change a unit's rent, status, square footage, bed/bath, or lease end; add or remove units.pinCellSourcewrite — Pin which SOURCE a proforma cell reads its value from — e.g. "use the OM's tax number instead of Moody's".confirmValueswrite — LOCK (confirm) the proforma's values — the same action as the page's lock control.runModelwrite — RUN THE MODEL — the same action as the "Run the Model" button on the Assumptions page: computes the full proforma from the current inputs, saves a numbered returns snapshot for…getProformaMetric— Read a single computed engine output (IRR, equity multiple, DSCR, NOI per year, S&U breakdown, exit summary, etc.).runScenario— Recompute the proforma with one or more shadow overrides WITHOUT persisting them.runSensitivity— Compute a 2-D sensitivity table. Sweeps the x-axis and y-axis values through the calc engine and returns the metric matrix.solveForTarget— Solve for the value of one lever that achieves a target metric.analyzeAssumptions— Decompose the deal's levered IRR into "what am I betting on" — how much of the return depends on each aggressive assumption vs. a grounded neutral baseline built from the deal's…flagGuardrails— Run a lender-screen + sanity check against the current proforma.simulateScenariowritebackground — Run a findings-grounded "what if" analysis for a property (the Scenarios tab's Simulate button).
Executive summary & reports
Lock values, generate and compare summaries, memos and PDFs.
lockProformaValueswrite — LOCK the property's proforma values — the same action as the Underwriting tab's "Generate Executive Summary" button.generateExecutiveSummarywrite — Generate (or regenerate) the executive summary for a property.getExecutiveSummary— Read the property's executive summary: the current (latest) version's full markdown text, the active version id, and metadata for archived versions.executiveSummaryVersionswrite — Manage executive summary versions (each is frozen with the proforma snapshot it was generated from).reports— Generated reports and PDFs for a property.generateMemobackground — Draft a 1-page IC memo for the current deal.generateLOIbackground — Draft a non-binding Letter of Intent (LOI) for the current deal.generateChart— Render ANY chart the analyst asks for as a Vega-Lite spec — OR a true 3D Plotly chart when the analyst asks for "3D".
Insights & research
Scores, findings, articles, web research.
getInsightsbackground — Read a property's analytics: score, quality grade, findings, demographics, charts, quick estimate, property info, sale history and more.bookmarkFindingwrite — Bookmark or un-bookmark a finding (findingId from getInsights kind="findings").getArticles— News articles Diald collected for a property (the sources behind findings).reconcileFindings— Cross-check the deal's qualitative findings against its proforma assumptions and surface where they DISAGREE — e.g. a finding flags new supply but the model assumes aggressive…getTopFindings— Return the property's highest-impact qualitative findings — the top opportunities and top risks — RANKED EXACTLY as the Research › Neighborhood tab ranks findings (impact…searchWebbackground — LAST-RESORT web lookup for PUBLIC, EXTERNAL facts about this property or its immediate surroundings that the platform does not hold — the building's official name/title, current…queryPortfolio— Compare the user's active deals (this property + the rest of their portfolio) on key metrics: levered IRR, equity multiple, going-in cap, stabilized cap, min DSCR, asking price.
Monitoring
Ongoing watch on a property and its alerts.
monitoringwritebackground — Ongoing property monitoring (owner/org only).
Collaboration
Sharing, comments, messages, activity.
sharePropertywrite — Share THIS property's analysis with someone via email.shareswrite — Manage who a property is shared with (owner only).collabwrite — Team collaboration on a property (owner/org or editor share; viewers cannot).
Portfolios, organization & account
Everything under Settings and Portfolios.
portfolioswritebackground — Portfolios (groups of properties with roll-up analytics).organizationwrite — Your organizations (team workspaces with a shared token pool).accountwrite — The signed-in user's account.conversationswrite — Your in-app chat history (the Diald assistant threads).
Usage & security
- Tool calls draw on your plan's monthly usage capacity — the same pricing as the web app. Ask the agent to check
getTokenBalancebefore expensive unlocks. - OAuth connections are scoped:
diald:readfor analysis,diald:writefor changes (creating properties, editing assumptions, uploads). - Revoke a connection anytime from the client's settings, or rotate your API key in Diald settings — access dies immediately.