Skip to content

Underwrite for assistants

The same math, from an assistant or a script.

The versioned API and the remote MCP server call the engine already used on the desk. They do not change a formula. Every figure comes back with its unit and the source line that produced it.

Remote MCP server

https://getunderwrite.com/api/v1/mcp

Streamable HTTP, JSON responses, no session. Free calculator tools are public and rate limited. Every other tool requires Underwrite Core.

Sign in from an assistant

  1. Add a remote MCP server in the assistant and paste the URL above.
  2. When it asks to sign in, approve the browser request with the Underwrite account that has Core.
  3. The assistant receives an access token. Underwrite stores only a hash of that token.

This is OAuth 2.1 with PKCE. Discovery lives at /.well-known/oauth-protected-resource/api/v1/mcp and /.well-known/oauth-authorization-server.

API key fallback

If the assistant can send a header but cannot open a browser sign-in, create a key on the API keys page. It is shown once. Revoke it there at any time. Send it as a bearer token. Never put it in a URL or a chat message.

Authorization: Bearer uwk_your_key

Setup snippets

Generic assistant config

{
  "mcpServers": {
    "underwrite": { "url": "https://getunderwrite.com/api/v1/mcp" }
  }
}

Public cap rate

curl -s https://getunderwrite.com/api/v1/calculators/cap-rate \
  -H 'content-type: application/json' \
  -d '{"noi":600000,"price":10000000}'

Core underwriting

curl -s https://getunderwrite.com/api/v1/underwrite \
  -H 'authorization: Bearer uwk_your_key' \
  -H 'content-type: application/json' \
  -d '{"deal":{ ... }}'

The OpenAPI document is at /developers/openapi.json. The original public connector, which does not read saved deals, remains at /integrations.

Tools

underwrite_deal
Inputs to Year 1 NOI, levered IRR, equity multiple, annual DSCR, minimum DSCR, and the engine verdict. Core.
run_sensitivity
Exit cap, rent growth, LTV, and hold tables from the existing sensitivity module. Core.
run_stress_test
Named stress scenarios plus NOI coverage stress. Core.
check_om
The Truth Score for caller-supplied offering evidence. Core.
Calculators
Cap rate, DSCR, cash-on-cash, debt yield, breakeven occupancy, and a fixed-loan debt service estimate. Public.
get_deal and list_deals
The signed-in account's saved deals. Core.
create_share_link
A read-only link to the frozen summary. Core.