About public-tools
public-tools is FairePlace’s unauthenticated MCP server for French residential rental tasks. It offers deterministic tools for lease creation, rent and deposit calculations, risk checks, and rental document generation.
Key features
- 01Check regulated rent
- 02Simulate IRL rent revisions
- 03Calculate deposit restitution
- 04Estimate rental yield
- 05Review address risks
- 06Create lease drafts and documents
Use cases
- 01Check a proposed rent in France
- 02Estimate a rent revision or deposit deadline
- 03Assess address-related risks
- 04Generate a receipt, inventory, or notice
MCP support
The remote MCP server exposes FairePlace’s public rental tools over Streamable HTTP without authentication. Lease drafts return a FairePlace link for completion and electronic signature.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.faireplace.com/mcpclaude mcp add --transport http com-faireplace-public-tools https://mcp.faireplace.com/mcp{"mcpServers":{"com-faireplace-public-tools":{"type":"http","url":"https://mcp.faireplace.com/mcp"}}}Open in Cursor{"servers":{"com-faireplace-public-tools":{"type":"http","url":"https://mcp.faireplace.com/mcp"}}}Open in VS Code{"mcpServers":{"com-faireplace-public-tools":{"type":"http","url":"https://mcp.faireplace.com/mcp"}}}{"mcpServers":{"com-faireplace-public-tools":{"serverUrl":"https://mcp.faireplace.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
21| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | Yes | Property address, e.g.: '1 rue de Rivoli' |
| room_count | integer | Yes | Number of main rooms |
| postal_code | string | Yes | Postal code, e.g.: '75001' |
| is_furnished | boolean | Yes | Is the property furnished? |
| surface_area | number | Yes | Living area in m2 |
| proposed_rent | number | Yes | Proposed monthly rent excluding charges, in euros |
| construction_period | string | Yes | Construction period, e.g.: 'avant 1946', '1946-1970', '1971-1990', 'apres 1990' |
Details
From the project READMEFairePlace — Public MCP Server 🏠🇫🇷
A public, no-auth, remote MCP server that exposes FairePlace's free French residential rental tools to AI agents (ChatGPT, Claude, Perplexity, Cursor…): create & e-sign a lease (bail), check rent control, revise rent (IRL), compute a security deposit or rental yield, get an address risk report, and generate rental documents (rent receipts, inventory, notices, and more).
Zero LLM inference server-side. The server is a thin, deterministic proxy over FairePlace's public API — the calling agent pays for its own inference; FairePlace only runs Rust/Typst logic. Marginal cost ≈ 0.
Endpoint: https://mcp.faireplace.com/mcp · Registry: com.faireplace/public-tools
Quick start
Add the remote server to any MCP client:
| Client | How |
|---|---|
| Claude (Desktop / claude.ai) | Settings → Connectors → Add custom connector → https://mcp.faireplace.com/mcp |
| Cursor | Settings → MCP → Add → Streamable HTTP → https://mcp.faireplace.com/mcp |
| ChatGPT (Custom GPT) | Import the OpenAPI at https://mcp.faireplace.com/openapi.json as an Action (auth: none) |
| MCP Inspector | npx @modelcontextprotocol/inspector@latest → connect to the URL |
No API key, no account. Ask your agent things like "Check if a 1500 €/month rent is legal at 75001 Paris for a 45 m² 2-room" or "Create a furnished lease for a flat in Paris at 850 €".
Tools (21)
Data & compliance (return JSON):
| Tool | Purpose |
|---|---|
check_rent_control | Rent control verdict for an address (encadrement des loyers) |
get_reference_rent | Reference rent (€/m²) for a rent-controlled quarter |
simulate_irl / simulate_irl_by_quarters | Annual rent revision (IRL), explicit or server-resolved INSEE values |
calculate_deposit_restitution | Security-deposit cap, restitution deadline, penalties |
simulate_rental_yield | Gross/net yield + per-regime taxation (LMNP, micro-foncier…) |
check_address_risks | Natural/technological risk report (Géorisques) |
Lease creation (the conversion tool):
| Tool | Purpose |
|---|---|
create_lease_draft | Create a lease draft → returns a link to finalize & e-sign it (advanced eIDAS, PAdES-B-LT) on FairePlace |
Document generation (return a link that renders the PDF): generate_quittance, generate_etat_des_lieux, generate_conge, generate_cautionnement, generate_avenant, generate_resiliation_amiable, generate_relance_impaye, generate_inventaire_mobilier, generate_notice_information, generate_reparations_locatives, generate_grille_vetuste, generate_charges_recuperables, generate_bordereau_restitution.
How the lease → signature flow works
agent → create_lease_draft(owner, logement, lease)
→ FairePlace stores an anonymous draft, returns draft_token
→ tool returns https://mcp.faireplace.com/r?draft_token=…
user clicks the link
→ GET /r sets the draft_token cookie on .faireplace.com, 302 → app sign-up
→ on login, FairePlace ingests the draft and opens it on the Signature step
The server never hands back a signable document — signature stays behind FairePlace auth. Every link carries utm_source=mcp for attribution.
Architecture
Intentionally a thin adapter — not a domain application. All business logic (rent-control data, IRL indices, legal document rendering) lives in FairePlace's Rust backend; this Worker only maps MCP tool calls to the public /public/tools/* HTTP endpoints and formats results.
- Runtime: Cloudflare Worker (
McpAgent, Durable Object for session state). - Transport: Streamable HTTP on
/mcp. - Guardrail: native per-IP rate limit (100 req / 60 s).
- PDF delivery:
/pdf/<slug>?p=<base64url payload>serves an HTML page that fetches the PDF browser-side (avoids a same-zone Worker→origin block; no storage — the PDF is a local blob).
Endpoints
| Path | Purpose |
|---|---|
/mcp | MCP server (Streamable HTTP) |
/openapi.json | Curated OpenAPI 3.1 for GPT Actions |
/.well-known/ai-plugin.json | Plugin manifest |
/llms.txt | Passive AI discovery |
/r | Draft-resume → sets cookie → sign-up |
/pdf/<slug> | On-demand PDF rendering (browser-side) |
Development
npm install
npm run typecheck
npm run dev # wrangler dev (local)
npm run inspect # MCP Inspector
npm run deploy # wrangler deploy (needs Cloudflare auth)
Config lives in wrangler.jsonc (vars: API_BASE, WEB_BASE, SELF_BASE, DRAFT_REPRISE_URL, APP_SIGNUP_URL).
Discoverability
- Official MCP Registry:
com.faireplace/public-tools - Glama: connector
com.faireplace/public-tools
License
MIT © 2026 FairePlace (Thinkylab SAS). Not legal advice — an aid for French rental workflows.
Comments
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.