lease-qa-mcp
MCP server exposing lease Q&A via the lease_qa tool, querying a LeaseClear API to return grounded answers about specific lease documents.
README
lease-qa-mcp
A standalone MCP server that exposes lease Q&A as one tool: lease_qa. It asks LeaseClear a question about a specific lease document and returns a grounded answer.
Runs where your data lives
This server is a thin stdio process. Point LEASECLEAR_BASE_URL at a LeaseClear instance on your machine or private network — documents stay in that environment. Nothing here hosts or uploads leases.
Install
Requires Python 3.12+ and uv.
git clone https://github.com/amadeuserras/lease-qa-mcp.git
cd lease-qa-mcp
uv sync
Configure
cp .env.example .env
| Variable | Required | Meaning |
|---|---|---|
LEASECLEAR_BASE_URL |
yes | Base URL of a running LeaseClear API (e.g. http://localhost:8001) |
LeaseClear must be up and demo-auth seeded — this server uses /auth/demo, then streams /query.
Run
uv run lease-qa-mcp
That starts the MCP server on stdio (how Cursor, Claude Desktop, and other MCP hosts talk to it).
Cursor / Claude Desktop example
{
"mcpServers": {
"lease-qa": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/lease-qa-mcp", "lease-qa-mcp"],
"env": {
"LEASECLEAR_BASE_URL": "http://localhost:8001"
}
}
}
}
Tool: lease_qa
| Arguments | question (string) — one neutral question about lease terms |
| Metadata | document_id (UUID) — which lease to query; not an LLM-visible argument |
| Returns | { "answer": "..." } — LeaseClear’s grounded answer (or that the lease is silent) |
document_id is passed in request metadata on purpose. The model only chooses the question; the host chooses which document is in scope. That keeps untrusted text from picking another tenant’s lease.
Errors
Failures surface as MCP tool errors, including:
- missing / invalid
document_idin metadata - empty question
- LeaseClear auth or query failures
- LeaseClear unreachable
Development
uv run ruff check .
uv run pyright
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.