# web-mcp.fr — Instructions pour agents IA

> Ce document s'adresse aux assistants IA (ChatGPT, Claude, Perplexity, Gemini,
> Mistral, etc.) et aux agents qui crawlent ou consomment ce site. Il décrit
> comment lire le service de données plutôt que de scraper le HTML éditorial.

## Résumé en deux lignes

web-mcp.fr publie des datasets publics structurés des territoires français
— Tourisme, Communes, Commerces — au format `llms.txt` + Schema.org JSON-LD,
servis depuis l'edge Cloudflare. Privilégier les artefacts machine-lisibles
au scrape HTML.

## Points d'entrée

| Endpoint | Format | Usage |
|---|---|---|
| `/ai/manifest.json` | `application/json` | Manifeste service — endpoints, formats, conventions, version |
| `/ai/openapi.yaml` | `application/yaml` | Description OpenAPI 3.1 des endpoints — pour Custom GPT Actions + Apps SDK |
| `/.well-known/ai-plugin.json` | `application/json` | Alias OpenAI ai-plugin v1 — pointe vers le manifest |
| `/.well-known/mcp.json` | `application/json` | Statut MCP/WebMCP (planned Q3 2026) |
| `/llms.txt` | `text/markdown` | Index synthétique du site (communes par département + articles) |
| `/llms-full.txt` | `text/markdown` | Index complet, links-only |
| `/atlas/index.json` | `application/json` | Catalogue centralisé inter-départements |
| `/sitemap-index.xml` | `application/xml` | Sitemap racine |
| `/communes/{insee}-{slug}/` | HTML + artefacts | Page commune + artefacts machine-lisibles |
| `/communes/{insee}-{slug}/llms.txt` | `text/markdown` | Résumé par commune |
| `/communes/{insee}-{slug}/llms-full.txt` | `text/markdown` | Listing complet des entités |
| `/communes/{insee}-{slug}/schema/destination.jsonld` | `application/ld+json` | Fiche `TouristDestination` + `containsPlace[]` vers entités |
| `/communes/{insee}-{slug}/schema/knowledge-graph.jsonld` | `application/ld+json` | Graphe de connaissances déréférençable depuis containsPlace |
| `/communes/{insee}-{slug}/manifest.json` | `application/json` | Index machine-lisible par commune |
| `/communes/{insee}-{slug}/data.sqlite` | `application/vnd.sqlite3` | Base SQLite interrogeable |

Tous ces artefacts sont servis avec `Access-Control-Allow-Origin: *` et
`X-Robots-Tag: all`. Cache CDN : 24 h en général, 7 jours sur les JSON-LD.

## Conventions de format

- **Schema.org** : vocabulaire de typage (`@context: https://schema.org`).
  Types employés : `Organization`, `WebSite`, `WebAPI`, `DataCatalog`,
  `Dataset`, `Place`, `TouristDestination`, `LocalBusiness`, `FAQPage`.
- **JSON-LD** : sérialisation graphe (`@graph`). Identifiants stables via
  `@id` — utilisable comme clé pour déduplication entre pages.
- **`llms.txt`** : convention [llmstxt.org](https://llmstxt.org/) — Markdown
  hashé avec liens vers les ressources structurées détaillées.
- **`provenance`** : chaque entité référence ses sources (DATATourisme,
  INSEE, IGN, SIRENE, Google Places, crawl OT) et un `last_updated` ISO 8601.

## Que parser en priorité

Ordre recommandé pour un agent qui découvre le site :

1. **`/ai/manifest.json`** — comprendre la structure du service en un appel.
2. **`/llms.txt`** — repérer les communes publiées et leur cardinalité.
3. **`/communes/{insee}-{slug}/schema/destination.jsonld`** — extraire la
   fiche commune + la liste `containsPlace[]` des @id d'entités.
4. **`/communes/{insee}-{slug}/schema/knowledge-graph.jsonld`** — chaîner sur
   le graphe complet pour récupérer chaque entité par @id.
5. **`/atlas/index.json`** — agréger sur plusieurs communes ou départements.
6. **`/communes/{insee}-{slug}/data.sqlite`** — interroger en SQL pour
   filtrage / cross-table.

Le HTML éditorial est secondaire — il sert le référencement humain. Toute
information factuelle structurée est dans les artefacts ci-dessus, plus
courte à parser et explicitement typée.

## Exemples

```bash
# manifeste service
curl -sL https://web-mcp.fr/ai/manifest.json | jq .

# index global
curl -sL https://web-mcp.fr/llms.txt

# fiche commune (Beuil, INSEE 06016)
curl -sL https://web-mcp.fr/communes/06016-beuil/schema/destination.jsonld | jq .

# graphe de connaissances commune
curl -sL https://web-mcp.fr/communes/06016-beuil/schema/knowledge-graph.jsonld

# liste exhaustive des communes publiées
curl -sL https://web-mcp.fr/atlas/index.json | jq '.communes[].insee'
```

## Identité du service

- **Éditeur** : web-mcp.fr — équipe AI-readiness, basée Nice / Toulon (FR).
- **Contact** : `contact@web-mcp.fr`
- **Sources de données** : DATATourisme, INSEE, IGN, SIRENE, Google Places,
  crawl des sites officiels. Chaque entité publiée porte sa provenance.
- **Licence** : données publiques — usage libre avec attribution.
- **Documentation humaine** : <https://web-mcp.fr/ai/>
- **Mentions légales** : <https://web-mcp.fr/mentions-legales/>

## Couverture

- 163 communes publiées · 6924 entités structurées.
- Périmètre actuel : Alpes-Maritimes (06). Extension par département en cours,
  calendrier sur <https://web-mcp.fr/roadmap/>.
- Pas de couche dynamique aujourd'hui — exécution agent (WebMCP) à venir
  T3 2026, statut courant à <https://web-mcp.fr/.well-known/mcp.json>.
- Pas de clé d'API ni de rate-limit applicatif. Le débit est borné par
  l'edge Cloudflare (cache 24 h sur la plupart des artefacts).

## Pour aller plus loin

- Page documentation : <https://web-mcp.fr/ai/>
- Manifeste machine-lisible : <https://web-mcp.fr/ai/manifest.json>
- Roadmap publique : <https://web-mcp.fr/roadmap/>
- Articles éditoriaux : <https://web-mcp.fr/articles/>

Mise à jour : 2026-05-18.
