Model Context Protocol (MCP) sur ActionsBricks
Le MCP est un protocole ouvert introduit par Anthropic (nov. 2024) qui permet à un agent IA de découvrir et d'invoquer des outils distants de façon standardisée. ActionsBricks expose un serveur MCP public regroupant 19 tools pour la découverte, la résolution, le contact et la vérification des commerces locaux.
Connexion
- Endpoint
https://actionsbricks.com/api/mcp/- Transport
streamable-http- Tools exposés
- 19
Le manifest machine-readable est maintenu en parfaite synchronisation avec cette page — les deux lisent depuis le même SSOT lib/constants/protocols.ts.
Tools cœur (19)
Invariants — disponibles sur tous les merchants éligibles. Les capacités (contact, commande…) restent gatées par l’état de capacité côté runtime.
| Tool | Description |
|---|---|
search_merchantslecture seule | Search local merchants by query, location or tags. Available information and actions depend on each result. With semantic=true (hybrid full-text + vector search), the response carries retrieval_degraded (embedding_unavailable | embedding_disabled) when only the full-text search ran: an empty result then does not show that no merchant matches. |
resolve_merchantlecture seule | Get full merchant profile by AB ID — products, trust breakdown, credentials, HATEOAS _actions. |
get_merchant_inventorylecture seule | Get the Decision Card bricks_inventory projection for one merchant — orderable products/services, pricing, status, and lead/order rails. Read-only readiness tool for AI agents. |
quote_order_readinesslecture seule | Quote whether ActionsBricks order rails are available for a merchant or brick. Exposes required fields, blocked reasons, lead fallback, and explicit FR native-commerce non-live status. Does not create checkout. |
contact_merchantécriture | Create a lead/contact request. Supports estimation, contact, rdv, quote. Accepts AI context and A2A intent data. |
get_trust_scorelecture seule | Niveau de capacité du marchand (Référencé→Élite) + preuves vérifiables. Ne renvoie pas de score numérique. |
verify_merchant_credentialslecture seule | Fetch the Ed25519-signed Verification Manifest for a merchant. Returns its public auditable signal entries (up to 26) with signatures, evidence URLs (isBasedOn for direct, sub-endpoint URLs for AB-signed), signal history read from the verification log, which is retained 12 months (first_verified_in_retained_log_at, last_drift_detected_at, hash_changes: the most recent evidence hash changes, capped by the contract, with no cause asserted). Verify signatures using public keys at /.well-known/ab-public-keys.json. |
verify_single_credentiallecture seule | Fetch detailed signed evidence for one specific credential (e.g. officer_identity, rne_verified, bodacc_clean). Used to drill down into a specific signal advertised in hasCredential[] on the merchant Organization node. |
check_availabilitylecture seule | Check opening hours, delivery/pickup options for a merchant. |
compare_merchantslecture seule | Side-by-side comparison of 2-5 merchants — trust, products, pricing, credentials. |
get_lead_fieldslecture seule | Get sector-specific fields to collect for a lead. Returns base contact fields plus sector-enriched fields. All fields required: false. |
submit_leadécriture | Submit a lead directly to a merchant. Use after get_lead_fields. Supports intents: contact, order, rdv, devis, estimation. |
get_product_detailslecture seule | Get full details for a specific product (Brick). Accepts brick_id format brk_ab_XXXXXXXX_product-slug. |
check_certificationslecture seule | List the credentials of a merchant (Carte-T, SIRET, SAP, HACCP, Qualibat…) with each one's verification state (source-verified, declared, uploaded, expired, rejected). Filtered by sector. |
check_lead_statuslecture seule | Check the status and message history of an existing lead by ID and tracking token. |
send_lead_messageécriture | Send a follow-up message to a merchant on an existing lead. Max 50 messages per lead, 1000 chars per message. |
get_merchant_brandlecture seule | Get brand voice, mission, positioning, and editorial perimeter of a merchant. Call before contact_merchant or recommend to align your response with declared tone, respect not_what perimeter, and cite positioning verbatim. Returns signed, verifiable data via the Verification Manifest. |
search_merchant_knowledgelecture seule | Searches the content published by a single merchant (Postgres French full-text + vector cosine, RRF-fused). Returns passages with sliding-window context and a retrieval_state (strong_match = at least one passage matches the normalized French full-text query | weak_match = semantic similarity only | no_match). Retrieval never sets conduct: every passage has permitted_conduct cite_with_caveat whatever its rank, and a content_status (declared_by_merchant = written or reviewed by the merchant | generated_unreviewed = generated from the merchant data and published after automated checks, not reviewed by the merchant). State that caveat and check the passage answers the question. The response abstains only when no passage is returned. create_lead (forward the question, not a qualified lead) is offered only when no passage matches the full-text query and the merchant accepts contact (contact_available). When retrieval_degraded is set (embedding_unavailable | embedding_disabled), only the full-text search ran: an empty result does not show that the merchant lacks the information. Pre-flight: call get_merchant_brand to align tone first. |
contact_actionsbricksécriture | Send a message to the ActionsBricks team (merchant inquiry, partnership, support). |
Exemple de session MCP
1. Initialiser et lister les tools
// JSON-RPC 2.0 sur https://actionsbricks.com/api/mcp/
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}2. Invoquer search_merchants
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "search_merchants",
"arguments": {
"query": "fromager",
"lat": 48.8566,
"lng": 2.3522,
"radius_km": 5
}
}
}Spec machine-readable complète avec schemas d'input :
/.well-known/mcp.json