eglise.shop — Christian bookstore (FR/EN)
Christian bookstore (French/English): search books, prices in 12 currencies, cart, checkout link.
사용해야 할까요
품질 및 안전성
발견 사항 (4)
- HIGH
- MEDIUMsubmit_book에서
- LOWcreate_cart에서
- LOWget_cart에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"librairie": {
"url": "https://eglise-shop-mcp.padbor.workers.dev/mcp"
}
}
}원격 엔드포인트
https://eglise-shop-mcp.padbor.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢search_books(site, query, category, min_price, max_price, ...)
Recherche dans le catalogue d'eglise.shop par mots-clés (titre, résumé, auteur), catégorie et fourchette de prix. Renvoie titre, auteurs, ISBN si connu, catégories, prix (XOF + devise demandée), disponibilité et lien.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
},
"query": {
"description": "Mots-clés, ex. « prière », « mariage chrétien », un nom d'auteur.",
"type": "string",
"maxLength": 120
},
"category": {
"description": "Catégorie : slug, identifiant ou nom (ex. « priere », 183, « Étude biblique »).",
"type": "string",
"maxLength": 80
},
"min_price": {
"description": "Prix minimum, exprimé dans la devise demandée (XOF par défaut).",
"type": "number",
"minimum": 0
},
"max_price": {
"description": "Prix maximum, exprimé dans la devise demandée (XOF par défaut).",
"type": "number",
"exclusiveMinimum": 0
},
"currency": {
"description": "Devise d'affichage (code ISO). FR : XOF, EUR, CAD, USD, CHF, TRY, XAF, GBP, AUD, ZAR, MAD. EN : idem avec NGN à la place de MAD. Le prix en XOF (devise de base) est toujours renvoyé en plus. Le lien transmet la devise au site (?wmc-currency=).",
"type": "string",
"enum": [
"XOF",
"EUR",
"CAD",
"USD",
"CHF",
"TRY",
"XAF",
"GBP",
"AUD",
"ZAR",
"MAD",
"NGN"
]
},
"orderby": {
"description": "Tri (par défaut : plus récents).",
"type": "string",
"enum": [
"date",
"price",
"popularity",
"rating",
"title"
]
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"per_page": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_book(site, id, slug, url, currency)
Fiche complète d'un livre d'eglise.shop : résumé, description, auteurs, ISBN (si renseigné), éditeur (si indiqué), prix (XOF + devise demandée), lien. Donner id (renvoyé par search_books), ou slug, ou url de la page produit.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
},
"id": {
"description": "Identifiant produit (champ id de search_books).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"slug": {
"description": "Slug de la page produit.",
"type": "string",
"maxLength": 200
},
"url": {
"description": "URL https://eglise.shop/produit/…/ ou https://en.eglise.shop/produit/…/ (le site est alors déduit de l'URL).",
"type": "string",
"maxLength": 400
},
"currency": {
"description": "Devise d'affichage (code ISO). FR : XOF, EUR, CAD, USD, CHF, TRY, XAF, GBP, AUD, ZAR, MAD. EN : idem avec NGN à la place de MAD. Le prix en XOF (devise de base) est toujours renvoyé en plus. Le lien transmet la devise au site (?wmc-currency=).",
"type": "string",
"enum": [
"XOF",
"EUR",
"CAD",
"USD",
"CHF",
"TRY",
"XAF",
"GBP",
"AUD",
"ZAR",
"MAD",
"NGN"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_categories(site, parent, include_empty, books_only)
Liste des catégories (rayons) d'eglise.shop avec leur nombre d'articles, leur slug (utilisable dans search_books) et leur catégorie parente.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
},
"parent": {
"description": "Limiter aux sous-catégories de ce parent (slug, id ou nom).",
"type": "string",
"maxLength": 80
},
"include_empty": {
"default": false,
"description": "Inclure les catégories sans article.",
"type": "boolean"
},
"books_only": {
"default": true,
"description": "Exclure les rayons hors livres (FR : « Boutique hors livres » ; EN : Gifts/dons, Posters, DVD).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_cart(site)
Crée un panier anonyme sur eglise.shop (site fr) ou en.eglise.shop (site en). Renvoie cart_id, à réutiliser dans les autres outils du panier. Limite : 10 paniers par heure. Plafonds : 20 livres différents et 10 exemplaires par livre.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡add_to_cart(cart_id, items, currency)
Ajoute un ou plusieurs livres (id de search_books ou de get_book) au panier. Plafonds : 20 livres différents et 10 exemplaires par livre.
입력 스키마
{
"type": "object",
"properties": {
"cart_id": {
"type": "string",
"minLength": 20,
"maxLength": 600,
"description": "Identifiant du panier renvoyé par create_cart (commence par fr. ou en.)."
},
"items": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"id"
]
}
},
"currency": {
"description": "Devise d'affichage (code ISO). FR : XOF, EUR, CAD, USD, CHF, TRY, XAF, GBP, AUD, ZAR, MAD. EN : idem avec NGN à la place de MAD. Le prix en XOF (devise de base) est toujours renvoyé en plus. Le lien transmet la devise au site (?wmc-currency=).",
"type": "string",
"enum": [
"XOF",
"EUR",
"CAD",
"USD",
"CHF",
"TRY",
"XAF",
"GBP",
"AUD",
"ZAR",
"MAD",
"NGN"
]
}
},
"required": [
"cart_id",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_cart(cart_id, currency)
Contenu du panier, sous-total et total, dans la devise demandée, avec le total en XOF toujours fourni. Les frais de livraison sont calculés au paiement.
입력 스키마
{
"type": "object",
"properties": {
"cart_id": {
"type": "string",
"minLength": 20,
"maxLength": 600,
"description": "Identifiant du panier renvoyé par create_cart (commence par fr. ou en.)."
},
"currency": {
"description": "Devise d'affichage (code ISO). FR : XOF, EUR, CAD, USD, CHF, TRY, XAF, GBP, AUD, ZAR, MAD. EN : idem avec NGN à la place de MAD. Le prix en XOF (devise de base) est toujours renvoyé en plus. Le lien transmet la devise au site (?wmc-currency=).",
"type": "string",
"enum": [
"XOF",
"EUR",
"CAD",
"USD",
"CHF",
"TRY",
"XAF",
"GBP",
"AUD",
"ZAR",
"MAD",
"NGN"
]
}
},
"required": [
"cart_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴remove_from_cart(cart_id, key, all)
Retire un livre du panier (par sa key, renvoyée par get_cart), ou vide tout le panier avec all=true.
입력 스키마
{
"type": "object",
"properties": {
"cart_id": {
"type": "string",
"minLength": 20,
"maxLength": 600,
"description": "Identifiant du panier renvoyé par create_cart (commence par fr. ou en.)."
},
"key": {
"type": "string",
"pattern": "^[a-f0-9]{32}$"
},
"all": {
"default": false,
"type": "boolean"
}
},
"required": [
"cart_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢start_checkout(cart_id, currency)
Renvoie un lien de paiement, valable 30 minutes, à donner au client. Il ouvre la page de paiement du site, avec ce panier et la devise choisie. C'est le client qui paie lui-même (mobile money, carte…). Le connecteur ne crée aucune commande et ne voit aucune donnée de paiement. Limite : 5 liens par heure.
입력 스키마
{
"type": "object",
"properties": {
"cart_id": {
"type": "string",
"minLength": 20,
"maxLength": 600,
"description": "Identifiant du panier renvoyé par create_cart (commence par fr. ou en.)."
},
"currency": {
"description": "Devise d'affichage (code ISO). FR : XOF, EUR, CAD, USD, CHF, TRY, XAF, GBP, AUD, ZAR, MAD. EN : idem avec NGN à la place de MAD. Le prix en XOF (devise de base) est toujours renvoyé en plus. Le lien transmet la devise au site (?wmc-currency=).",
"type": "string",
"enum": [
"XOF",
"EUR",
"CAD",
"USD",
"CHF",
"TRY",
"XAF",
"GBP",
"AUD",
"ZAR",
"MAD",
"NGN"
]
}
},
"required": [
"cart_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢order_status(site, order_id, order_key, billing_email)
Statut d'une commande. Il faut le numéro de commande, la clé de commande (wc_order_…, présente dans l'e-mail ou l'URL de confirmation) et l'e-mail de facturation.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
},
"order_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"order_key": {
"type": "string",
"pattern": "^wc_order_[A-Za-z0-9]+$"
},
"billing_email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"order_id",
"order_key",
"billing_email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡submit_book(site, title, subtitle, author_name, author_email, ...)
Submit a book on behalf of its author to eglise.shop (French store) or en.eglise.shop (English store). eglise.shop publishes Christian books from independent authors worldwide: 25% commission per sale, no subscription; paper, PDF and audio formats. NOTHING IS PUBLISHED AUTOMATICALLY: the author must confirm by e-mail (rights + 25% commission) within 48 h, then the eglise.shop team reviews the book and publishes it manually. Only submit with the author's explicit consent, using their real e-mail. Requirements: summary ≥ 200 characters, plain text only (no HTML), public https links to the manuscript (pdf/epub/docx/audio) and cover (jpg/png/webp), rights_confirmed=true. Limits: 3 submissions/day per author e-mail, 5/day per IP; duplicates within 30 days are refused. Unconfirmed submissions expire after 7 days. Authors page and terms: https://eglise.shop/comment-vendre-mes-livres-chretiens-dans-le-monde-entier/ — Track with submission_status. FR : proposez le livre d'un auteur chrétien sur eglise.shop (commission de 25 % par vente, sans abonnement ; papier, PDF, audio). Rien n'est publié automatiquement : l'auteur confirme par e-mail, puis l'équipe examine et publie à la main.
입력 스키마
{
"type": "object",
"properties": {
"site": {
"default": "fr",
"description": "Boutique : \"fr\" = eglise.shop (≈5 600 livres en français, défaut), \"en\" = en.eglise.shop (≈2 800 livres en anglais).",
"type": "string",
"enum": [
"fr",
"en"
]
},
"title": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"subtitle": {
"type": "string",
"minLength": 0,
"maxLength": 200
},
"author_name": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"author_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Language of the book."
},
"summary": {
"type": "string",
"minLength": 200,
"maxLength": 4000,
"description": "Plain-text summary, 200–4000 characters, at most 2 URLs (only the manuscript/cover links)."
},
"category": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Suggested category, e.g. 'Prière', 'Vie chrétienne', 'Theology'."
},
"price": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"currency": {
"type": "string",
"enum": [
"XOF",
"EUR",
"USD",
"CAD",
"CHF",
"GBP",
"XAF",
"NGN",
"AUD",
"ZAR",
"MAD",
"TRY"
]
},
"formats": {
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"paper",
"pdf",
"audio"
]
}
},
"isbn": {
"type": "string",
"pattern": "^(97[89])?[\\d\\- ]{9,17}[\\dXx]$"
},
"manuscript_url": {
"type": "string",
"maxLength": 500
},
"cover_url": {
"type": "string",
"maxLength": 500
},
"agent_name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"rights_confirmed": {
"type": "boolean",
"const": true,
"description": "Must be true: the author states they hold the rights."
},
"notes": {
"description": "Leave empty.",
"type": "string",
"maxLength": 500
}
},
"required": [
"title",
"author_name",
"author_email",
"language",
"summary",
"category",
"price",
"currency",
"formats",
"manuscript_url",
"cover_url",
"rights_confirmed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢submission_status(submission_id, author_email)
Status of a book submitted with submit_book: pending_author_confirmation, confirmed, published, rejected (or expired after 7 days without confirmation). Requires the submission_id and the author's e-mail.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"pattern": "^sub_[A-Za-z0-9_-]{8,20}$"
},
"author_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"submission_id",
"author_email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거