Leaseclear Mcp

io.github.amadeuserrasPublished by GitHub account amadeuserrasv0.1.3Updated Oct 24, 2026

MCP server for LeaseClear lease Q&A.

VerifiedSTDIODesktop onlyKnowledge & MemoryBusiness & Commerce

Overview

AI-generated overview

A local MCP server that lets an assistant ask questions about lease terms and get answers grounded in LeaseClear lease documents.

What you can do
Ask a single question about lease terms and receive an answer grounded in the lease, or a statement that the lease is silent on the point (lease_qa).
When to use it
Useful when you want an assistant to answer tenant or property-manager questions about lease terms, such as deposits or clauses, from LeaseClear documents rather than general knowledge.
Requirements
Runs locally over stdio via uvx, so uv is required. No account is needed in demo mode; using your own LeaseClear account requires the LEASECLEAR_API_KEY environment variable. LEASECLEAR_API_URL can point at a local or private instance; otherwise the LeaseClear production backend is used, so network access is needed.
Before you install
The LEASECLEAR_API_KEY secret grants access to your LeaseClear account and is passed as an environment variable. Questions and document content are sent to the LeaseClear backend (or the URL set in LEASECLEAR_API_URL). Document selection is passed through hidden _meta document_ids rather than by the model, so the client must set them deliberately.

Installation

In SourceWeft

  1. Open Leaseclear Mcp 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

leaseclear-mcp

A Model Context Protocol server that exposes LeaseClear lease Q&A.

Listed in the official MCP Registry as io.github.amadeuserras/leaseclear-mcp.

Tools

  • lease_qa — ask one question about lease terms; returns an answer grounded in the lease, or states that the lease is silent

Usage

Add this to your MCP client config (e.g. claude_desktop_config.json or Cursor mcp.json):

json
{  "mcpServers": {    "lease-qa": {      "command": "uvx",      "args": ["leaseclear-mcp"]    }  }}

The package is on PyPI. uvx fetches and runs it as a local subprocess, communicating over stdio. uv required.

Optional environment variables

VariableDescriptionDefault
LEASECLEAR_API_KEYUse the server with your own LeaseClear accountLeaseClear demo mode
LEASECLEAR_API_URLOverride the API endpoint (local or private instances)LeaseClear production backend
json
{  "mcpServers": {    "lease-qa": {      "command": "uvx",      "args": ["leaseclear-mcp"],      "env": {        "LEASECLEAR_API_KEY": "lc_...",        "LEASECLEAR_API_URL": "https://..."      }    }  }}

lease_qa usage

Argument

  • question (string, required) — one question about the lease

_meta

  • document_ids (string[], optional) — UUIDs of the documents to query. Omitted means all.

Security: The _meta field is used to pass metadata to the tool call that the model doesn't see. Having document_ids there is intentional: it prevents cross-document prompt injection because the model is never able to choose which documents it has access to. See a real-world example in LeaseOps: prompt injection and the tenants table.

MCP Python SDK example

Tool call:

python
result = await session.call_tool(    name="lease_qa",    arguments={        "question": "How much is the security deposit for Yuna Kim?"    },    meta={        "document_ids": [            "a1b2c3d4-e5f..."        ]    })

Output:

json
{  "answer": "The security deposit is $6,400.00. This deposit is held in Owner's Broker's trust account [california-johnson-kim §4]."}

Tech stack

  • Python 3.12
  • Model Context Protocol Python SDK (mcp[cli]) over stdio
  • httpx for LeaseClear API calls
  • Pydantic and pydantic-settings for schemas and config
  • uv and uv_build for running and packaging
  • pytest, Ruff, and Pyright for tests, linting, and type checking

Project structure

leaseclear-mcp/├── src/leaseclear_mcp/│   ├── server.py        # MCP server + lease_qa│   ├── leaseclear.py    # LeaseClear HTTP client│   ├── schemas.py│   └── config.py├── tests/├── pyproject.toml├── .env.example└── README.md

Local Development

bash
git clone https://github.com/you/leaseclear-mcp.gitcd leaseclear-mcpuv synccp .env.example .envuv run pytestuv run ruff check .uv run pyright

Debugging

Use the MCP Inspector to test the server interactively:

bash
npx @modelcontextprotocol/inspector uvx leaseclear-mcp

From a checkout, use uv run leaseclear-mcp instead of uvx leaseclear-mcp.

License

MIT

Source: README.md at commit a96c205

Tools

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

Version history

1
  1. v0.1.3LatestSep 16, 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