mcpField
L
lowball

lowball

Local
lowball.rentBusiness & Marketing0Updated 6d ago

About lowball

Lowball is an MCP server and CLI for estimating rental offers and lease-renewal counters using Zillow listings and comparable rentals. It gives negotiation figures, reasons, and a message, with estimates based on local listing data.

Key features

  1. 01Analyze a Zillow rental listing
  2. 02Score rentals from entered details
  3. 03Estimate lease-renewal counters
  4. 04Nearby comparable listings and offer rationale
  5. 05Negotiation message generation

Use cases

  1. 01Prepare an offer for a Zillow rental
  2. 02Compare asking rents and listing duration
  3. 03Assess a proposed renewal increase
  4. 04Draft a landlord negotiation message

MCP support

The public remote MCP server at `https://api.lowball.rent/mcp` exposes `check_rent`, `score_rental`, and `renewal`. MCP clients can connect without an account or API key.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"peterskotte123-lowball": {
"command": "npx",
"args": [
"-y",
"@lowball/mcp"
]
}
}
}
Run commandnpx -y @lowball/mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@lowball/mcp0.1.2

Tools

3

Saved tool list · updated 6d ago

ParameterTypeRequiredDescription
urlstringYesA zillow.com/homedetails/... link, or the numeric zpid from it.
autopaybooleanNoAdd an autopay line to the message.
lease_monthsenumNoLease term to put in the message. Default 12.12 | 18 | 24

Details

From the project README

Lowball for the terminal and for Claude

Rent negotiation numbers for any Zillow rental: what similar places nearby ask, how long it has really been listed (Zillow's counter restarts on a relist), whether it has been cut, what an empty month costs the landlord, an offer, a likely settling point, and a message to send. Also prices a lease renewal increase.

Free, no account. Estimates, not a guarantee. Not affiliated with Zillow. The browser extension and the website are at lowball.rent.

From the command line

npx -y @lowball/mcp check https://www.zillow.com/homedetails/.../12345678_zpid/
npx -y @lowball/mcp score --rent 2450 --zip 92109 --beds 2 --baths 1 --sqft 850 --days 30
npx -y @lowball/mcp renewal --current 3000 --proposed 3300 --zip 92014 --beds 2 --years 2

Options for check: --lease 12|18|24 sets the term in the message, --autopay adds an autopay line.

In ChatGPT, claude.ai, or any chat bot that takes an MCP connector

Lowball runs a public MCP server at https://api.lowball.rent/mcp. No account, no key.

  • ChatGPT: Settings > Apps & Connectors > Advanced > Developer mode, then Create: name Lowball, URL https://api.lowball.rent/mcp, authentication None.
  • claude.ai: Settings > Connectors > Add custom connector, URL https://api.lowball.rent/mcp.
  • Anything else (Cursor, VS Code, Gemini, Copilot, Goose): add an HTTP MCP server with that URL.

Then paste a Zillow rental link and ask what to offer.

In Claude Code

As a plugin (adds the remote server and a skill that knows when to use it):

claude plugin marketplace add peterskotte123/lowball-plugin
claude plugin install lowball@lowball

Or just the server, remote (nothing to install) or local:

claude mcp add --transport http lowball https://api.lowball.rent/mcp
claude mcp add lowball -- npx -y @lowball/mcp

Then paste a Zillow rental link and ask what to offer.

The tools

The remote server and the npm package expose the same three tools:

tooltakesgives
check_renta Zillow listing link or idthe numbers, the reasons, the closest comparable listings, and a message
score_rentalrent and ZIP, plus beds, baths, sqft, days, typethe same, for a rental you describe yourself
renewalcurrent rent, proposed rent, ZIP, plus beds, years, free monthsa counter, the landlord's cost if you leave, and the reasons

Where the numbers come from

Lowball is trained on San Diego County rental listings and tracks them nightly (cuts, relists, exits). There it gives one number with a confidence level. Anywhere else it builds the estimate from like-for-like listings it has seen within a few miles and says so with a wider range. Monthly figures are published at lowball.rent/rent-report.

What is sent

Each call is one HTTPS request to api.lowball.rent carrying only the Zillow id or the numbers you typed. No name, email or account. The remote server sees your chat client's IP address for rate limiting and keeps no record of it. Listing lookups are capped per day across all users; when the cap is hit, score_rental with the numbers typed in still works. Privacy: lowball.rent/privacy.

Development

Zero dependencies, Node 18+. node cli/lowball.js runs the MCP server on stdio; node cli/lowball.js check <link> runs the terminal check. Set LOWBALL_API to point at a local API.

MIT.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.