{
  "markdown": "# DealFlowPro MCP Server\n\n[![dealflowpro-mcp-server MCP server](https://glama.ai/mcp/servers/jbechtel-97/dealflowpro-mcp-server/badges/card.svg)](https://glama.ai/mcp/servers/jbechtel-97/dealflowpro-mcp-server)\n\nAnalyze 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.\n\nDealFlowPro 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.\n\n## Demo\n\n<img src=\"https://dealflowpro.io/images/mcp-demo.png\" alt=\"DealFlowPro MCP Server analyzing a 24-unit deal in Claude Code\" width=\"700\">\n\n## What You Can Do\n\nAsk Claude naturally and it calls the right tool:\n\n- \"Analyze this 24-unit deal in Charlotte — asking $2M, $13.6K/mo rent, $5.5K expenses\"\n- \"Score this deal: 12 units, $1.5M, $9K monthly income\"\n- \"What's the max I should offer on a property with $28.8K/mo rent if I want 8% cash-on-cash?\"\n- \"Is this property in a flood zone? 2909 Burgess Dr, Charlotte, NC\"\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `analyze_deal` | Full deal analysis: cap rate, DSCR, cash-on-cash, IRR, DFP Score (0-100), max offer price, yearly cashflows |\n| `score_deal` | Quick screening: DFP Score + key metrics |\n| `reverse_calc` | Max offer price from target returns (cap rate, CoC, DSCR, IRR) |\n| `market_data` | Flood zone, neighborhood income vs state median, job growth for any address |\n\nAll four carry MCP 2025-06-18 annotations (`title`, `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`). Every tool is read-only.\n\n## Install as a Claude plugin\n\nThis repo doubles as a Claude Code / Cowork plugin. The plugin connects to the\nremote server at `https://dealflowpro.io/mcp` rather than the npm package above,\nwhich means:\n\n- **Eight tools instead of four.** Adds `list_my_deals`, `get_deal_analysis`,\n  `get_my_criteria`, and `portfolio_summary` — your saved deals, buy-box\n  criteria, and pipeline, scoped to your account.\n- **OAuth instead of an API key.** No `DFP_API_KEY` to export; you sign in to\n  your DealFlowPro account when the plugin connects.\n\n```bash\nclaude --plugin-dir /path/to/dealflowpro-mcp-server\n```\n\nUse the npm package below instead if you want a local stdio server, prefer API\nkey auth, or are wiring DealFlowPro into a non-Claude MCP client.\n\n## For Institutional AI Teams\n\nDealFlowPro 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.\n\n**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.\n\n**Rate limits per tier.**\n\n| Tier | Daily limit | Monthly | Cost |\n|------|------------:|--------:|-----:|\n| Free | 5 requests, lifetime | — | free, no card |\n| Pay-as-you-go | balance-based | per credits | $1/request |\n| Essentials | 50 req/day | ~1,500 | $79/mo |\n| Premium | 200 req/day | ~6,000 | $149/mo |\n| Enterprise | 1,000 req/day | ~30,000 | $399/mo |\n\nRate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) returned on every response. 429 responses include `Retry-After`.\n\n**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).\n\n**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).\n\n**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.\n\n**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).\n\n## Setup\n\nYou have **two install paths** — pick the one that matches your client.\n\n### Path A — Remote MCP URL (no local install)\n\nUse 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).\n\n**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.\n\n[**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.\n\n**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.\n\n**Claude Code (HTTP):**\n\n```bash\nclaude mcp add dealflowpro \\\n  --transport http \\\n  --url https://dealflowpro.io/mcp \\\n  --header \"Authorization: Bearer dfp_sk_your_key_here\"\n```\n\n**Claude API:**\n\n```http\nPOST https://api.anthropic.com/v1/messages\nanthropic-beta: mcp-client-2025-11-20\n\n{\n  \"mcp_servers\": [{\n    \"type\": \"url\",\n    \"url\": \"https://dealflowpro.io/mcp\",\n    \"name\": \"dealflowpro\",\n    \"authorization_token\": \"dfp_sk_your_key_here\"\n  }],\n  ...\n}\n```\n\nGet a Bearer key (free 5-request key, no card, or pay-as-you-go credits) at [dealflowpro.io/api](https://dealflowpro.io/api).\n\nFull setup details + Connected Apps revocation: [dealflowpro.io/api/docs#mcp](https://dealflowpro.io/api/docs/#mcp).\n\n### Path B — Local stdio (this npm package)\n\nUse 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.\n\n**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.\n\n**2. Add to your client.**\n\nClaude Desktop — `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"dealflowpro\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"dealflowpro-mcp\"],\n      \"env\": {\n        \"DFP_API_KEY\": \"dfp_sk_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nClaude Code:\n\n```bash\nclaude mcp add dealflowpro -e DFP_API_KEY=dfp_sk_your_key_here -- npx -y dealflowpro-mcp\n```\n\n### Use It\n\nJust ask Claude about a deal. It automatically picks the right tool.\n\n## Example Output\n\n```\n## Deal Analysis Results\n\n**DFP Score: 19/100 (Poor)**\n\n### Key Metrics\n| Metric | Value |\n|--------|-------|\n| Cap Rate | 4.48% |\n| DSCR | 0.86 |\n| Cash-on-Cash | -1.95% |\n| IRR | -12.17% |\n| NOI | $89,524 |\n\n### Max Offer Price\n**$1,197,476** (binding constraint: cash-on-cash)\n```\n\n## API Documentation\n\nFull REST API docs at [dealflowpro.io/api/docs](https://dealflowpro.io/api/docs/)\n\n## Pricing\n\n- **Pay-as-you-go:** $1/API request, starting at $5\n- **Essentials:** 50 API requests/day included ($79/mo)\n- **Premium:** 200 requests/day + reverse calculator ($149/mo)\n- **Enterprise:** 1,000 requests/day ($399/mo)\n\n## Requirements\n\n- Node.js 18+\n- DealFlowPro API key\n\n## About DealFlowPro\n\nDealFlowPro 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.\n\n[dealflowpro.io](https://dealflowpro.io)\n\n## License\n\nMIT\n",
  "bytes": 8814,
  "sha": "8db8010dde1aa6652359026c2fb43b956ccbf48b8137f200aae31a8c1d3179bb",
  "repo_slug": "jbechtel-97/dealflowpro-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jbechtel_97_dealflowpro_e9697ad8/readme"
}