com.faireplace/public-tools
French rental tools: create & e-sign a lease, rent control, IRL, deposit, receipts (France).
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http public-tools 'https://mcp.faireplace.com/mcp'
{
"mcpServers": {
"public-tools": {
"type": "http",
"url": "https://mcp.faireplace.com/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
FairePlace — 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.
Frequently asked questions
What is com.faireplace/public-tools?
French rental tools: create & e-sign a lease, rent control, IRL, deposit, receipts (France).
How do I install com.faireplace/public-tools?
It runs as a remote server. In Claude Code: claude mcp add --transport http public-tools 'https://mcp.faireplace.com/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does com.faireplace/public-tools need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is com.faireplace/public-tools open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains com.faireplace/public-tools?
It is published by ykarmouta. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.