io.github.jbechtel-97/dealflowpro
Multifamily real estate deal analysis — cap rate, DSCR, IRR, DFP Score, max offer price
Open source Open in the app JSON README (API)
About
Multifamily real estate deal analysis — cap rate, DSCR, IRR, DFP Score, max offer price
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- jbechtel-97
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.2.6
- Stars
- 3
- Last push
- 2026-08-24T10:33:04Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 04:00:14
- Updated
- 2026-08-29 04:00:14
- Origin id
io.github.jbechtel-97/dealflowpro
README
# DealFlowPro MCP Server
[](https://glama.ai/mcp/servers/jbechtel-97/dealflowpro-mcp-server)
Analyze multifamily real estate deals from Claude Code, Cursor, Claude Desktop, or any MCP-compatible client. The first real estate underwriting tool in the MCP ecosystem.
DealFlowPro is an AI-powered multifamily deal analysis platform. This MCP server wraps the DealFlowPro REST API, giving AI agents access to institutional-grade underwriting calculations.
## Demo
<img src="https://dealflowpro.io/images/mcp-demo.png" alt="DealFlowPro MCP Server analyzing a 24-unit deal in Claude Code" width="700">
## What You Can Do
Ask Claude naturally and it calls the right tool:
- "Analyze this 24-unit deal in Charlotte — asking $2M, $13.6K/mo rent, $5.5K expenses"
- "Score this deal: 12 units, $1.5M, $9K monthly income"
- "What's the max I should offer on a property with $28.8K/mo rent if I want 8% cash-on-cash?"
- "Is this property in a flood zone? 2909 Burgess Dr, Charlotte, NC"
## Tools
| Tool | Description |
|------|-------------|
| `analyze_deal` | Full deal analysis: cap rate, DSCR, cash-on-cash, IRR, DFP Score (0-100), max offer price, yearly cashflows |
| `score_deal` | Quick screening: DFP Score + key metrics |
| `reverse_calc` | Max offer price from target returns (cap rate, CoC, DSCR, IRR) |
| `market_data` | Flood zone, neighborhood income vs state median, job growth for any address |
All four carry MCP 2025-06-18 annotations (`title`, `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`). Every tool is read-only.
## Install as a Claude plugin
This repo doubles as a Claude Code / Cowork plugin. The plugin connects to the
remote server at `https://dealflowpro.io/mcp` rather than the npm package above,
which means:
- **Eight tools instead of four.** Adds `list_my_deals`, `get_deal_analysis`,
`get_my_criteria`, and `portfolio_summary` — your saved deals, buy-box
criteria, and pipeline, scoped to your account.
- **OAuth instead of an API key.** No `DFP_API_KEY` to export; you sign in to
your DealFlowPro account when the plugin connects.
```bash
claude --plugin-dir /path/to/dealflowpro-mcp-server
```
Use the npm package below instead if you want a local stdio server, prefer API
key auth, or are wiring DealFlowPro into a non-Claude MCP client.
## For Institutional AI Teams
DealFlowPro is built to slot into AI eval pipelines and production AI stacks. The MCP server (this package, plus the remote endpoint at `https://dealflowpro.io/mcp`) wraps the same engine as the REST API — schema-strict, idempotent, predictable.
**Auth + scoping.** Every tool call requires a Bearer API key. Calls are scoped to the account that issued the key — no cross-tenant access path. Per-tool audit lines land in your account's `logs/mcp_tool_calls.log` capturing tool name + flattened arg keys (not values) — usage is auditable without exposing deal contents.
**Rate limits per tier.**
| Tier | Daily limit | Monthly | Cost |
|------|------------:|--------:|-----:|
| Free | 5 requests, lifetime | — | free, no card |
| Pay-as-you-go | balance-based | per credits | $1/request |
| Essentials | 50 req/day | ~1,500 | $79/mo |
| Premium | 200 req/day | ~6,000 | $149/mo |
| Enterprise | 1,000 req/day | ~30,000 | $399/mo |
Rate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) returned on every response. 429 responses include `Retry-After`.
**Error codes.** Stable, documented at [dealflowpro.io/api/docs/#errors](https://dealflowpro.io/api/docs/) — all errors are JSON `{success: false, error: {code, message}}` shape. Codes: `invalid_input` (400), `invalid_json` (400), `unauthorized` (401), `tier_required` (403), `method_not_allowed` (405), `payload_too_large` (413), `rate_limit_exceeded` (429), `internal_error` (500).
**Tool schemas.** Each MCP tool has a schema-strict input definition. Call `tools/list` against the remote endpoint to get the canonical schemas at runtime; the REST OpenAPI spec covers the same shapes (the four MCP tools map 1:1 to the four REST endpoints).
**Eval harness pattern.** For benchmarking, the recommended pattern: maintain a fixture set of (deal payload → expected metrics) pairs, run each against `score_deal` (lowest cost, ~$0.01/call), assert metrics within tolerance. The endpoint is deterministic — same inputs produce the same outputs.
**Data handling.** Request payloads are processed in memory and not persisted to disk. TLS 1.2+ in transit. Anthropic API calls (when DealFlowPro internally uses Claude for document extraction) flow through DealFlowPro's zero-data-retention Anthropic workspace. Full posture: [dealflowpro.io/security#api-mcp-data-handling](https://dealflowpro.io/security#api-mcp-data-handling).
## Setup
You have **two install paths** — pick the one that matches your client.
### Path A — Remote MCP URL (no local install)
Use this for **claude.ai web** (Custom Connectors), **Claude Code with HTTP transport**, or **Claude API mcp_servers**. The endpoint is `https://dealflowpro.io/mcp` (Streamable HTTP, MCP 2025-06-18).
**claude.ai web / Claude Desktop:** DealFlowPro is not in Anthropic's Connectors Directory, so add it as a **custom connector** — Customize → Connectors → "Add custom connector" → name it `DealFlowPro`, paste `https://dealflowpro.io/mcp` → Add → Connect → sign in to DealFlowPro → click Allow. OAuth handles auth automatically (no API key to manage). Then in a chat, click "+" → Connectors → toggle DealFlowPro on.
[**Add DealFlowPro to Claude →**](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=DealFlowPro&connectorUrl=https%3A%2F%2Fdealflowpro.io%2Fmcp) — opens the dialog with the name and URL pre-filled. You still review and confirm before anything is added.
**Team / Enterprise plans:** members cannot add custom connectors themselves. An organization Owner adds it once under Organization settings → Connectors → Add → Custom (type: Web), and each member then connects their own DealFlowPro account from Customize → Connectors.
**Claude Code (HTTP):**
```bash
claude mcp add dealflowpro \
--transport http \
--url https://dealflowpro.io/mcp \
--header "Authorization: Bearer dfp_sk_your_key_here"
```
**Claude API:**
```http
POST https://api.anthropic.com/v1/messages
anthropic-beta: mcp-client-2025-11-20
{
"mcp_servers": [{
"type": "url",
"url": "https://dealflowpro.io/mcp",
"name": "dealflowpro",
"authorization_token": "dfp_sk_your_key_here"
}],
...
}
```
Get a Bearer key (free 5-request key, no card, or pay-as-you-go credits) at [dealflowpro.io/api](https://dealflowpro.io/api).
Full setup details + Connected Apps revocation: [dealflowpro.io/api/docs#mcp](https://dealflowpro.io/api/docs/#mcp).
### Path B — Local stdio (this npm package)
Use this anywhere you want the MCP server running locally instead of remote — or for a client that has no remote-URL path of its own. Claude Desktop supports both: remote via Settings → Connectors, or the local config below.
**1. Get an API key.** Visit [dealflowpro.io/api](https://dealflowpro.io/api) to claim a free 5-request key (no card) or buy pay-as-you-go credits. Delivered by email.
**2. Add to your client.**
Claude Desktop — `claude_desktop_config.json`:
```json
{
"mcpServers": {
"dealflowpro": {
"command": "npx",
"args": ["-y", "dealflowpro-mcp"],
"env": {
"DFP_API_KEY": "dfp_sk_your_key_here"
}
}
}
}
```
Claude Code:
```bash
claude mcp add dealflowpro -e DFP_API_KEY=dfp_sk_your_key_here -- npx -y dealflowpro-mcp
```
### Use It
Just ask Claude about a deal. It automatically picks the right tool.
## Example Output
```
## Deal Analysis Results
**DFP Score: 19/100 (Poor)**
### Key Metrics
| Metric | Value |
|--------|-------|
| Cap Rate | 4.48% |
| DSCR | 0.86 |
| Cash-on-Cash | -1.95% |
| IRR | -12.17% |
| NOI | $89,524 |
### Max Offer Price
**$1,197,476** (binding constraint: cash-on-cash)
```
## API Documentation
Full REST API docs at [dealflowpro.io/api/docs](https://dealflowpro.io/api/docs/)
## Pricing
- **Pay-as-you-go:** $1/API request, starting at $5
- **Essentials:** 50 API requests/day included ($79/mo)
- **Premium:** 200 requests/day + reverse calculator ($149/mo)
- **Enterprise:** 1,000 requests/day ($399/mo)
## Requirements
- Node.js 18+
- DealFlowPro API key
## About DealFlowPro
DealFlowPro automates multifamily underwriting for 2-200 unit properties. Upload a broker email or OM and get a full investment analysis in 10 minutes instead of 2 hours. Used by operators, syndicators, and PE firms to screen deals faster.
[dealflowpro.io](https://dealflowpro.io)
## License
MIT