Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,547Letters: 14Defects: 1,324counted 4 min ago
teppi

Server definition

Hash
sha256:fbecacf43a96d71ed41b3e88e7feaa7684fbc15afbf833ab3eb2c1761da375f7
What it is
What a remote MCP server returned when asked what it offers: 13 tools

The blob, as servednamed by its sha256

{ "instructions": "\n You are a commercial real estate analyst with access to live market data.\n Use these tools to provide accurate, data-driven CRE analysis.\n\n All interest rate data comes directly from the Federal Reserve (FRED) — never guess at rates.\n All demographic data comes from the US Census Bureau — never estimate demographics.\n Always use get_current_rates() before building any DCF model.\n Always use get_market_demographics() when analyzing a specific property location.\n Use get_radius_demographics() for 1/3/5-mile trade-area analysis around a property.\n ", "tools": [ { "description": "Extract all key terms from a commercial lease document.\nReturns term, base rent schedule, escalations, TI allowance, CAM structure,\nrenewal options, termination rights, exclusivity, co-tenancy, and red flags.", "inputSchema": { "additionalProperties": false, "properties": { "text": { "description": "Raw text copied from a commercial lease PDF", "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "abstract_lease", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Extract structured tenant and lease data from a rent roll document.\nPaste the text content of your rent roll PDF here (copy-paste from PDF reader).\nReturns tenant list, suite/SF, lease dates, monthly rent, escalations, and options.", "inputSchema": { "additionalProperties": false, "properties": { "property_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional property name for context" }, "text": { "description": "Raw text copied from a rent roll PDF", "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "analyze_rent_roll", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Build a levered DCF model using live Federal Reserve rates.\nAutomatically fetches current SOFR to derive the loan rate if not provided.\nReturns: annual cash flows, IRR, equity multiple, cash-on-cash, DSCR, and exit analysis.", "inputSchema": { "additionalProperties": false, "properties": { "amortization_years": { "default": 30, "description": "Loan amortization period (default 30 years)", "type": "integer" }, "equity_pct": { "default": 35, "description": "Equity as % of purchase price (default 35%)", "type": "number" }, "exit_cap_rate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Exit cap rate % — if None, uses entry cap + 25bps (conservative)" }, "hold_years": { "default": 10, "description": "Hold period in years (default 10)", "type": "integer" }, "loan_rate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Loan interest rate % — if None, fetches live SOFR + 175bps" }, "noi_growth_rate": { "default": 3, "description": "Annual NOI growth rate % (default 3.0)", "type": "number" }, "noi_year1": { "description": "Year 1 Net Operating Income ($)", "type": "number" }, "purchase_price": { "description": "Acquisition price ($)", "type": "number" } }, "required": [ "noi_year1", "purchase_price" ], "type": "object" }, "name": "build_dcf_model", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Generate a downloadable Excel (.xlsx) underwriting model with LIVE formulas —\neditable assumptions, PMT/FV amortization, IRR, equity multiple, a sensitivity\ngrid, live Fed rates, and (if an address is given) Census trade-area demographics.\nReturns a download link valid for 60 minutes.", "inputSchema": { "additionalProperties": false, "properties": { "address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional property address — adds a demographics sheet" }, "amortization_years": { "default": 30, "description": "Amortization (default 30)", "type": "integer" }, "equity_pct": { "default": 35, "description": "Equity as % of price (default 35)", "type": "number" }, "exit_cap_rate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Exit cap % — default entry cap + 25bps" }, "hold_years": { "default": 10, "description": "Hold period (default 10)", "type": "integer" }, "loan_rate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Loan rate % — default live SOFR + 175bps" }, "noi_growth_rate": { "default": 3, "description": "Annual NOI growth % (default 3.0)", "type": "number" }, "noi_year1": { "description": "Year 1 Net Operating Income ($)", "type": "number" }, "property_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional label for the model header" }, "purchase_price": { "description": "Acquisition price ($)", "type": "number" } }, "required": [ "noi_year1", "purchase_price" ], "type": "object" }, "name": "export_dcf_excel", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Analyze a parsed rent roll for investment risks.\nFeed the output from analyze_rent_roll directly into this tool.\nReturns: rollover risk, tenant concentration, credit risk, and actionable recommendations.", "inputSchema": { "additionalProperties": false, "properties": { "rent_roll_json": { "description": "JSON string from the analyze_rent_roll tool output", "type": "string" } }, "required": [ "rent_roll_json" ], "type": "object" }, "name": "flag_lease_risks", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Generate a formatted CRE acquisition memo / Investment Committee memo.\nAutomatically pulls live rates from FRED and demographics from Census Bureau\nto provide real market context — not guesses.", "inputSchema": { "additionalProperties": false, "properties": { "additional_context": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Any additional deal notes, seller info, market color" }, "asking_price": { "description": "Asking price ($)", "type": "number" }, "noi": { "description": "Net Operating Income ($)", "type": "number" }, "property_address": { "description": "Full property address", "type": "string" }, "property_type": { "description": "Multifamily / Office / Retail / Industrial / Mixed-Use", "type": "string" }, "rent_roll_summary": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional: paste output from analyze_rent_roll or flag_lease_risks" } }, "required": [ "property_address", "property_type", "noi", "asking_price" ], "type": "object" }, "name": "generate_deal_memo", "outputSchema": { "properties": { "result": { "type": "string" } }, "required": [ "result" ], "type": "object", "x-fastmcp-wrap-result": true } }, { "description": "Get Commercial Real Estate price index and broader market data from the Federal Reserve.\nReturns CRE price trends, office/retail/industrial vacancy proxies, and credit spreads.\nProvides macro context for deal underwriting and cap rate analysis.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_cre_market_data", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Get live interest rates from the Federal Reserve (FRED).\nReturns SOFR, 10-year Treasury, 5-year Treasury, Fed Funds Rate, and 30-day SOFR average.\nAlso calculates implied cap rate ranges based on current treasury spreads.\n\nUse this BEFORE any DCF model or loan underwriting. These are real-time numbers\nClaude cannot access on its own.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_current_rates", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Get current CPI and rent inflation data from the Federal Reserve.\nReturns overall inflation, shelter inflation, and rent-specific CPI with YoY changes.\nUse this to calibrate rent growth assumptions in your DCF model — don't guess.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_inflation_data", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Get Census Bureau demographics for any US property address.\nReturns median income, population, employment rate, housing vacancy,\nmedian rents, and education levels for the census tract.\n\nThis is address-specific data from the actual Census tract — not estimates.\nClaude cannot access this without the MCP.\nFor 1/3/5-mile trade-area rings, use get_radius_demographics instead.", "inputSchema": { "additionalProperties": false, "properties": { "address": { "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")", "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "get_market_demographics", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Get aggregated Census demographics for radius rings around a US property address —\nthe standard 1/3/5-mile trade-area format used in CRE site analysis.\nAggregates every census tract whose centroid falls within each radius:\npopulation, household-weighted median income, employment rate, college attainment,\nhousing vacancy, renter share, and median rent.\n\nUse this for trade-area / site analysis. Use get_market_demographics for the\nsingle census tract immediately around the address.", "inputSchema": { "additionalProperties": false, "properties": { "address": { "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")", "type": "string" }, "radii_miles": { "default": "1,3,5", "description": "Comma-separated radii in miles (default \"1,3,5\", each capped at 15)", "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "get_radius_demographics", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Screen a US county as a LAND-INVESTING market (raw-land flip / Podolsky style).\nGrades the county on the signals that matter for buying cheap rural land and\nreselling on terms: population growth, demographics, owner share, and affordability.\n\nIMPORTANT: This screens on FREE Census data only (growth + demographics + a\nhome-value affordability proxy). It does NOT include actual land sale prices or\ncomps — those require county records or a paid service, and must be verified\nper-parcel before buying. Use this to rank/shortlist markets, not to buy.", "inputSchema": { "additionalProperties": false, "properties": { "county": { "description": "County name (e.g. \"Mohave\" or \"Mohave County\")", "type": "string" }, "state": { "description": "2-letter state abbreviation (e.g. \"AZ\") or 2-digit state FIPS", "type": "string" } }, "required": [ "state", "county" ], "type": "object" }, "name": "screen_land_market", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Pre-screen a land parcel's location for the AUTOMATABLE due-diligence red flags:\nFEMA flood zone and federal wetlands. Pulls live from FEMA's National Flood Hazard\nLayer and the US Fish & Wildlife National Wetlands Inventory.\n\nUse this to kill obviously-bad parcels (flood zone, wetlands) at scale BEFORE\nspending time on manual due diligence.\n\nIMPORTANT: Checks flood + wetlands only. It does NOT check legal ACCESS\n(landlocked — the #1 land deal-killer), title/liens, or zoning — those stay MANUAL,\nper-parcel checks via county records. A clean screen here is necessary, NOT sufficient.", "inputSchema": { "additionalProperties": false, "properties": { "lat": { "description": "Parcel latitude (decimal degrees)", "type": "number" }, "lng": { "description": "Parcel longitude (decimal degrees)", "type": "number" } }, "required": [ "lat", "lng" ], "type": "object" }, "name": "screen_parcel_dd", "outputSchema": { "additionalProperties": true, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:fbecacf43a96d71ed41b3e88e7feaa7684fbc15afbf833ab3eb2c1761da375f7 | sha256sum