Sheet & Flow Landlord Math

io.github.onyxaholguin-cyberPublished by GitHub account onyxaholguin-cyberv1.0.0Updated Oct 24, 2026

Landlord math: rental cash flow, cap rate, DSCR, Airbnb break-even, late fees, lease notices.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Offline MCP server that gives an assistant deterministic landlord and rental-property calculators: cash flow, cap rate, DSCR, Airbnb break-even, late fees and…

What you can do
  • Run year-one rental analysis: NOI, monthly and annual cash flow, cap rate, cash-on-cash, DSCR, gross rent multiplier, break-even occupancy and expense ratio
  • Compute mortgage principal and interest payments and total interest
  • Analyze short-term rentals: booked nights, gross revenue, cash flow, RevPAR, break-even occupancy and break-even nightly rate
  • Calculate rent late fees with grace period, flat, percent and daily components plus a cap, with optional state examples
  • Work out lease renewal or rent-increase notice dates and the 0-30/31-60/61-90 day window
  • Compute the 2026 IRS standard mileage deduction
When to use it
Useful when you want an assistant to evaluate a rental or Airbnb deal, size a mortgage payment, check whether a late fee or notice date is right, or apply the 2026 mileage rate, with the same arithmetic every time instead of an estimate.
Requirements
Runs locally over stdio as a local process: a one-click .mcpb bundle for Claude Desktop, or Node.js 18+ pointed at the server entry file, or Docker. No API keys, accounts, environment variables or network access at run time. The plugin manifest installs via npx from a pinned GitHub commit.
Before you install
Results are planning estimates, not legal, tax or investment advice; the late-fee state examples summarize statute text as of October 2026, so verify current law, city rules and the lease before charging a fee. The plugin install path downloads the repository from GitHub at install time. Paid spreadsheet workbooks are offered separately but are not required.

Installation

In SourceWeft

  1. Open Sheet & Flow Landlord Math in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Sheet & Flow Landlord Math (MCP server)

Landlord and rental-property calculators as Model Context Protocol tools, so Claude, Cursor, VS Code or any MCP client does the math the same way every time instead of estimating it.

  • Offline and deterministic. No network calls, no API keys, no data leaves your computer.
  • No dependencies. Plain Node.js (18+), about 380 lines you can read.
  • Tested. 552 randomized cases against an independent Python model, and the worked examples from the Sheet & Flow tutorials, on Node 18, 20 and 22 in CI. The rental math was also cross-checked against spreadsheet-recalculated (LibreOffice) deals before release.

Tools

ToolWhat it answers
rental_property_analysisYear-one NOI, monthly and annual cash flow, cap rate, cash-on-cash, DSCR, gross rent multiplier, break-even occupancy, expense ratio
mortgage_paymentMonthly principal and interest, total interest
short_term_rental_analysisAirbnb/VRBO booked nights, stays, gross revenue, cash flow, RevPAR, what each booked night is worth, break-even occupancy and break-even nightly rate
rent_late_feeDays late and the late fee: grace period, flat + percent + daily fees, a cap; optional Colorado / New York / Texas examples
lease_renewal_noticeDate the renewal or rent-increase notice must go out, 0-30/31-60/61-90 day window, status, next lease end
irs_mileage_deduction_20262026 IRS standard mileage deduction (business 72.5¢ Jan–Jun, 76¢ Jul–Dec)

Percentages are fractions (0.25 = 25%). Dates are YYYY-MM-DD. A percentage passed as 7 instead of 0.07 is rejected with a clear message rather than silently computed.

Install

Claude Desktop (one click): download sheet-and-flow-mcp-<version>.mcpb from the latest release and open it.

Any MCP client (stdio): clone the repo and point your client at server/index.js:

json
{  "mcpServers": {    "sheet-and-flow": { "command": "node", "args": ["/path/to/sheet-and-flow-mcp/server/index.js"] }  }}

Docker: docker build -t sheet-and-flow-mcp . then use {"command": "docker", "args": ["run", "-i", "--rm", "sheet-and-flow-mcp"]} in your client config.

It is also listed in the official MCP Registry as io.github.onyxaholguin-cyber/sheet-and-flow-mcp.

Install as an agent plugin (Grok Build, Cursor, Claude Code)

This repo is also a plugin: the MCP server plus three skills that tell the agent when and how to use it.

SkillUse it for
landlord-deal-analysis"Does this duplex / Airbnb cash flow?", cap rate, cash-on-cash, DSCR, break-even occupancy
rent-late-feeDays late and the late fee, with optional Colorado, New York and Texas limits
lease-renewal-noticeWhen the renewal or rent-increase notice must go out, for one lease or a list

Manifests: .grok-plugin/plugin.json, .cursor-plugin/plugin.json, .claude-plugin/plugin.json; MCP config: .mcp.json.

Privacy and terms: PRIVACY.md (no data collected).

Network and credentials (declared for reviewers): none at run time. The server makes no network calls, reads no files and needs no API key or account. At install time, .mcp.json runs npx -y github:onyxaholguin-cyber/sheet-and-flow-mcp#<full commit sha>, which downloads this repo at that exact pinned commit from GitHub (the package has zero dependencies). test/plugin_check.py fails CI if the pinned commit's server/ differs from the tested code.

Example

Ask: "Airbnb deal: $350,000, 25% down at 7%, $185 a night, 62% occupancy, 14 blocked nights, 3.2-night stays, $95 cleaning fee, $85 cleaning cost, 15.5% host fee, 9% maintenance, $920/month fixed costs, $10,500 closing, $25,000 furnishing. Does it cash flow?"

short_term_rental_analysis returns, among other fields:

json
{ "monthlyCashFlow": -208.64, "keptPerBookedNight": 135.53, "breakEvenOccupancy": 0.6726, "breakEvenNightlyRate": 200.24 }

So the deal loses about $209 a month as quoted; it needs 67.3% occupancy at $185, or $200.24 a night at 62%. The same example is worked step by step in the short-term rental calculator tutorial.

How the math works

Every formula is explained in a free tutorial:

Prefer a spreadsheet?

The same math comes as finished Excel / Google Sheets workbooks from Sheet & Flow (paid; this server is free and MIT-licensed and doesn't need them): Short-Term Rental Deal Analyzer · Rental Property Deal Analyzer · Landlord Tenant Toolkit · Lease Renewal Tracker · Freelancer Mileage Log · Free Rental Cash Flow Calculator

Development

bash
npm test                       # node --test, no install steppython3 test/model.py          # regenerate fixtures from the independent Python modelpython3 scripts/build_mcpb.py  # build dist/*.mcpb and dist/server.json

Releases: pushing a v* tag runs the tests, builds the .mcpb, attaches it to a GitHub release and publishes server.json to the MCP Registry with GitHub OIDC (no stored tokens).

Disclaimer

Estimates for planning only. Not legal, tax or investment advice. The late-fee state examples are a summary of statute text as of October 2026; check current law, city rules and your lease before charging a fee.

MIT License © Sheet & Flow

Source: README.md at commit 31773ff

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestOct 12, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts