{
  "markdown": "# Serveur MCP Noticiel — Cloudflare Workers\n\nExpose le catalogue de notices **Noticiel** aux agents IA (Claude & co.) via le **Model Context Protocol**, en lecture seule, depuis l'API WP REST publique de noticiel.com. **Aucun secret/identifiant requis.**\n\n## Outils exposés\n| Outil | Rôle |\n|---|---|\n| `search_notices(query, marque?, categorie?, limit?)` | Recherche de notices |\n| `get_notice(url_ou_slug)` | Contenu complet + lien PDF |\n| `find_pdf(marque, modele)` | Lien PDF direct |\n| `list_marques(search?, limit?)` | Marques + nb de notices |\n| `list_categories(limit?)` | Catégories de produits |\n\nChaque réponse porte `source: \"Noticiel\"` et l'URL Noticiel → l'agent **cite la marque**.\n\n## Prérequis\n- Node.js 18+ et un compte **Cloudflare** (gratuit).\n\n## Installation & test local\n```bash\ncd mcp-noticiel\nnpm install\nnpm run dev            # serveur local sur http://localhost:8787\n```\nTest rapide du endpoint :\n```bash\ncurl http://localhost:8787/            # message d'accueil\n```\nTest avec l'inspecteur MCP officiel :\n```bash\nnpx @modelcontextprotocol/inspector\n# Transport: SSE  →  URL: http://localhost:8787/sse\n```\n\n## Déploiement (production)\n```bash\nnpx wrangler login      # ouvre le navigateur, autorise Cloudflare\nnpm run deploy          # déploie -> https://noticiel-mcp.<ton-sous-domaine>.workers.dev\n```\nURL publique : `https://noticiel-mcp.<compte>.workers.dev/sse`\n\n### Domaine personnalisé `mcp.noticiel.com` (optionnel)\n1. Ajoute `noticiel.com` à Cloudflare (DNS), si ce n'est pas déjà le cas.\n2. Décommente le bloc `routes` dans `wrangler.jsonc`.\n3. `npm run deploy`.\n→ endpoint : `https://mcp.noticiel.com/sse`\n\n## Connecter un client\n\n### Claude Desktop / Claude.ai (connecteurs)\nAjoute un connecteur MCP distant avec l'URL `…/sse`. Pour les clients qui ne gèrent\nque le stdio, utiliser le pont `mcp-remote` :\n```json\n{\n  \"mcpServers\": {\n    \"noticiel\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://mcp.noticiel.com/sse\"]\n    }\n  }\n}\n```\n\n### Vérifier que ça marche\nDemander à l'agent : *« Avec l'outil Noticiel, trouve la notice du lave-vaisselle Bosch Silence Plus. »*\n→ il doit appeler `search_notices` puis `get_notice` et répondre en citant **Noticiel** + l'URL + le PDF.\n\n## Notes techniques\n- Transport : `/sse` (SSE) et `/mcp` (Streamable HTTP). `McpAgent` (paquet `agents`) utilise un Durable Object (`MCP_OBJECT`).\n- Cache edge 1 h sur les appels WP (`cf.cacheTtl`) → protège le WordPress et réduit la latence.\n- Read-only : seuls les GET de `/wp/v2/posts|marque|categorie_produit` sont appelés. Les endpoints d'ingestion `noticiel/v1` ne sont jamais touchés.\n- Évolutions possibles : rate-limit (Workers Rate Limiting), ressources MCP (llms.txt, sitemaps), specs structurées dans `get_notice`.\n",
  "bytes": 2758,
  "sha": "1ed87686320b66d895020c14e0efeeb805702061320d434a1c037c5f36cfff99",
  "repo_slug": "waddou/mcp-noticiel",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_waddou_mcp_noticiel_83048a61/readme"
}