streamable-httpMITupdated 2mo ago
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).
¿Qué puedes hacer con public tools?
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.
Instalación
Añade public tools a tu cliente. Elige el que uses.
claude mcp add --transport http public-tools https://mcp.faireplace.com/mcpcodex mcp add public-tools --url https://mcp.faireplace.com/mcp{
"mcpServers": {
"public-tools": {
"url": "https://mcp.faireplace.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"public-tools": {
"type": "http",
"url": "https://mcp.faireplace.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"public-tools": {
"url": "https://mcp.faireplace.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"public-tools": {
"serverUrl": "https://mcp.faireplace.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
6 herramientas
public tools expone 6 herramientas a un agente conectado.
- check_rent_control
- Rent control verdict for an address (encadrement des loyers)
- get_reference_rent
- Reference rent (€/m²) for a rent-controlled quarter
- 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)
- create_lease_draft
- Create a lease draft → returns a link to finalize & **e-sign** it (advanced eIDAS, PAdES-B-LT) on FairePlace
Puntuación
78 / 100
Buena
- Documentación25/25
- Mantenimiento22/25
- Confianza13/20
- Capacidad6/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 60 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.3.0Última | 2 jul 2026 |
| 0.2.0 | 2 jul 2026 |
| 0.1.0 | 2 jul 2026 |