public-tools
French rental tools: create & e-sign a lease, rent control, IRL, deposit, receipts (France).
Install
mcp_config.json
{
"mcpServers": {
"com-faireplace-public-tools": {
"url": "https://mcp.faireplace.com/mcp",
"type": "streamable-http"
}
}
}Documentation
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.
Sourced from the repository README.
More in AI & Agents
- PonytailMakes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.109,599
- AgentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity39,079
- Frontend SlidesCreate beautiful slides on the web using a coding agent's frontend skills28,060
- Agent Skills Search ServerSearch and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.24,658
- Agency Agents Zh🎭 267 个即插即用的 AI 专家角色 — 支持 Hermes Agent/Claude Code/Cursor/Copilot 等 18 种工具,覆盖工程/设计/营销/金融等 20 个部门。含 52 个中国市场原创智能体(小红书/抖音/微信/飞书/钉钉等)。搭配编排器 agency-orchestrator,一句话即可让多位专家按 DAG 自动协作。19,868
- Watermarks RemoverStrip multi-vendor AI provenance marks: Unicode text hygiene, statistical rewrite hooks, and C2PA/metadata from PNG/JPEG/SVG/PDF/DOCX/HTML/MD17,822