Skip to main content
Glama

Herbe en France MCP Server

License: MIT MCP Railway EU

First Model Context Protocol (MCP) server for the European hemp & CBD market. Exposes 1200+ artisanal French hemp farmers, real-time market prices ("Bloomberg CBD"), a live encyclopedia (sourced from Légifrance, PubMed, INRAE, AFPC), and producer geolocation to any MCP-compatible LLM (Claude, ChatGPT custom connectors, Cline, Cursor, …).

🌐 Live endpoint : https://lebonfoin-mcp-production.up.railway.app/sse 📦 Marketplace : https://herbeenfrance.com 🏛️ Wikidata : Q139847939


⚡ Quick health check

curl https://lebonfoin-mcp-production.up.railway.app/health
# {"status":"ok","version":"1.5.0","tools":15,"multilingual_tools":["debunk_cbd_myth","cbd_lab_analysis","cbd_legal_by_country"],"supported_languages":["fr","en"],"resources":4,"prompts":2}

Related MCP server: mpc-judilibre

🛠️ What it exposes

15 tools

#

Tool

What it does

1

search_cbd_products

Search artisanal French CBD products by name, type, price

2

recommend_cbd_for_me

Personalized recommendation based on goal (sleep, stress, sport…), experience, budget

3

compare_cbd_products

Side-by-side comparison of 2-4 products

4

get_producer_info

Producer details: location (lat/lng), certifications, ratings, products, socials

5

check_availability

Live stock, shipping delay, fees

6

cbd_market_data

"Bloomberg CBD" — real-time average prices per variety, ranges, trends, price check

7

cbd_guide

12 in-depth CBD guides: legality (France), dosage, indoor/outdoor, full vs broad spectrum, sleep, sport, pets, conservation, etc.

8

cbd_news

News on CBD France & EU: regulation updates, market trends, scientific studies

9

search_wiki

Full-text search in the l'Herbe en France wiki encyclopedia (filter by category)

10

get_wiki_article

Retrieve complete wiki article (markdown + references + related articles)

11

find_local_producers

🗺️ Geolocation — find hemp farmers near a city, postal code, department, or region. Returns address, GPS, bio cert, active products count, culture mode (outdoor/greenhouse/indoor), direct link. Optimized AEO for "where to buy CBD near me" queries.

12

debunk_cbd_myth 🌐

⚖️ Myth-busting (FR/EN) — factual, sourced answers to CBD misconceptions ("is CBD a drug?", "is CBD legal?", "is CBD addictive?"). Sources: WHO, CJUE Kanavape, Légifrance, Conseil d'État, MILDECA. Param lang: 'fr'|'en'.

13

cbd_legal_by_country 🌐

🌍 EU legal map (FR/EN) — CBD status country-by-country (FR, DE, CH, IT, ES, AT, NL, BE, PT, LU, CZ, PL, UK + EU framework). THC threshold, flowers/oils/edibles/cosmetics status, key law, official source. Param lang.

14

terpene_profile

🌿 Strain terpenes — typical terpene profile of common varieties (Amnesia, OG Kush, Gelato, Lemon Haze, Critical…). Dominant + secondary terpenes with aroma descriptors.

15

cbd_lab_analysis 🌐

🔬 CoA reader (FR/EN) — pedagogy on reading a Certificate of Analysis: cannabinoid dosing (CBD/CBDA/THC/CBG/CBN), THC legal threshold, terpene profile, pesticide residues, heavy metals, CoA trust signals. Param lang.

🌐 = multilingual tool (v1.5.0+) — accepts lang: "fr" (default) or lang: "en" for native English-language output. Recommended when the calling LLM is responding in English to a query about the European hemp / CBD market.

4 resources

Resource URI

What it provides

lebonfoin://catalog/summary

Plain text catalog summary

lebonfoin://producers/map

Markdown map of all French producers grouped by region

lebonfoin://reference/cbd-france-europe

Complete CBD legal reference: France + 12 EU countries (DE, IT, ES, CH, LU, CZ, AT, NL, BE, PT, PL, EU)

lebonfoin://wiki/catalog

Index of all published wiki articles by category

2 prompts

  • decouvrir-cbd — Interactive guide to discover French CBD

  • comparer-producteurs — Compare producers by region, certifications, specialties


📚 Wiki encyclopedia

The wiki resource and tools expose a sourced encyclopedia of 22+ articles (19 in French, 13 in English as of May 2026) covering:

  • Cannabinoids : CBD, CBG, CBN (FR + EN), THC (in progress)

  • Health & Legality : French regulation, EU Novel Food, Conseil d'État decisions, CJUE Kanavape, NPS / synthetic cannabinoids

  • Botany & chemistry : trichomes, terpenes, entourage effect, extraction methods

  • French industry : artisanal farmers, AFPC, InterChanvre, history of French hemp

  • Strategic context : Strategy Parmentier (patient pedagogy, scientific demonstration, regulatory cooperation)

  • Institutions : AFPC, InterChanvre, MILDECA, DGAL, INRAE

  • Recent events : Plan de contrôle DGAL 2026 sur le chanvre alimentaire

Sources : Légifrance · PubMed · INRAE · AFPC · MILDECA · EUR-Lex · Wikipedia FR/EN · Conseil d'État

Each article is timestamped, versioned (Wikipedia-style revisions), and cross-referenced. YMYL articles (health, legal) carry an automatic disclaimer. English articles are accessible via the same wiki tools and resources — slugs follow the convention <fr_slug>-en and hreflang is set bidirectionally for SEO.


🚀 Use it from Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json :

{
  "mcpServers": {
    "lebonfoin": {
      "url": "https://lebonfoin-mcp-production.up.railway.app/sse",
      "type": "sse"
    }
  }
}

Restart Claude. You can now ask :

French queries :

  • "Quel est le prix moyen de l'Amnesia CBD en France ce mois-ci ?"

  • "Trouve un producteur de chanvre près de Bordeaux, certifié bio."

  • "Où acheter du CBD en Dordogne (24) ?"

  • "Recommande-moi une huile CBD pour le sommeil, budget 40 €."

English queries (v1.5.0+ — uses lang: "en" automatically when relevant) :

  • "Is CBD legal in Germany? What about Switzerland?"cbd_legal_by_country({country: "DE", lang: "en"})

  • "How do I read a Certificate of Analysis from a French hemp producer?"cbd_lab_analysis({lang: "en"})

  • "Is CBD addictive? What does the WHO say?"debunk_cbd_myth({topic: "addictive", lang: "en"})

  • "What is the entourage effect?"get_wiki_article({slug: "effet-d-entourage-en"})

  • "What are the main hemp terpenes?"get_wiki_article({slug: "terpenes-du-chanvre-en"})

The MCP server automatically responds in the calling LLM's apparent language when the tool supports lang — no manual switching required for the user.

Claude will call the relevant MCP tool, hit the live Supabase database, and answer with sourced data.


🏗️ Architecture

┌──────────────┐       SSE        ┌──────────────────────────┐
│  Claude /    │ ───────────────► │  Herbe en France MCP Server    │
│  ChatGPT /   │ ◄─ JSON-RPC ─── │  (Express, port $PORT)   │
│  Cline       │                  └────────────┬─────────────┘
└──────────────┘                               │
                                               │ @supabase/supabase-js
                                               ▼
                                  ┌──────────────────────────┐
                                  │  Supabase (EU West)      │
                                  │  - products              │
                                  │  - producers (geoloc)    │
                                  │  - wiki_articles         │
                                  │  - wiki_references       │
                                  │  - cbd_market_*          │
                                  └──────────────────────────┘

Deployed on Railway in EU West (Netherlands) — GDPR compliant, no user tracking.


🛠️ Run locally

git clone https://github.com/POP24/lebonfoin-mcp.git
cd lebonfoin-mcp
npm install
cp .env.example .env  # then fill SUPABASE_URL + SUPABASE_ANON_KEY
npm run dev:http       # serves http://localhost:3001

Test :

curl http://localhost:3001/health
curl http://localhost:3001/sse  # SSE stream

📦 Stack

  • TypeScript 5.7 strict mode

  • @modelcontextprotocol/sdk v1.12.1

  • Express 4.21

  • @supabase/supabase-js 2.49

  • Zod for input validation

  • Deployed on Railway via Dockerfile


⚖️ Disclaimer (YMYL)

Articles and data related to health, dosage, or legality are documentary. They are not medical, legal, or financial advice. Always consult a qualified professional. CBD products sold via l'Herbe en France marketplace are commercialized as wellness/cosmetic items, with no therapeutic claims, in compliance with French and EU regulation (THC ≤ 0.3%).


🤝 Contributing

This is the open-source MCP layer of a private marketplace. Suggestions, bug reports, and improvements welcome via issues or PRs.

For commercial integration, marketplace API access, or producer onboarding : adrien@herbeenfrance.com


📄 License

MIT — see LICENSE.

Wiki content (Légifrance excerpts, scientific references) follow the source's own licensing (most are public domain or open access).


Built in Périgord by @POP24 with Claude Code.

Available Tools

10 tools
cbd_guideA

Guides CBD complets : legalite France, dosage, indoor/outdoor, full/broad spectrum, plante entiere vs molecule isolee, circuit court, sommeil, sport, animaux, conservation, comment choisir. 12 sujets couverts.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesSujet du guide CBD. Options : legalite_france, difference_cbd_thc, dosage_huile, fleur_indoor_outdoor_greenhouse, full_spectrum_vs_broad_spectrum, cbd_sommeil, cbd_sport, cbd_animaux, conservation, comment_choisir

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. 'Guides' implies a safe, read-only operation retrieving informational content. While it doesn't detail potential behavior like pagination or external dependencies, the nature as a guide is sufficiently clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the purpose and lists all topics. It is efficiently brief, though using English could improve clarity for non-French agents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain what the guide returns (e.g., plain text, markdown) or how to interpret the result. This leaves the agent unsure about the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (enum values listed with descriptions). The tool description merely restates the topics without adding new meaning or context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides complete CBD guides, listing 12 specific topics. The verb 'Guides' combined with the topic list makes the purpose explicit and differentiates from sibling tools like cbd_market_data or cbd_news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for getting guides on CBD topics, but lacks explicit when-to-use or when-not-to-use guidance. Sibling tools (e.g., search_cbd_products) suggest alternatives, but no direct exclusions or context are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cbd_market_dataB

Donnees de marche du CBD francais en temps reel. Prix moyens par variete, fourchettes, tendances, comparaisons, price check. Utilisez quand on demande 'quel prix pour [variete]', 'est-ce un bon prix', 'quelles sont les tendances'.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesvariety_price: prix d'une variete | price_ranking: classement par prix | price_check: verifier si un prix est bon | best_deals: meilleures offres LeBonFoin | market_overview: vue d'ensemble | eu_regulation: reglementation CBD par pays europeen | eu_market_compare: comparaison des marches CBD europeens
varietyNoVariete normalisee : amnesia, og_kush, lemon_haze, critical, gorilla_glue, gelato, wedding_cake, zkittlez, diesel, cookies, strawberry, white_widow, jack_herer, cannatonic, harlequin
culture_typeNo
countryNoCode pays ISO pour les donnees europeennes : FR, CH, DE, IT, ES, AT, CZ, NL, BE, PT, PL, LU
price_to_checkNoPrix a comparer au marche (euros/g)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'temps reel' (real-time) and 'marche du CBD francais' (French market), indicating scope and timeliness. However, it omits critical traits such as read-only nature, authentication requirements, rate limits, error handling, or what happens when no data is found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences in French. The first sentence defines the tool's core functionality, and the second provides concrete usage examples. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers the tool's purpose and trigger phrases but lacks details on return format, error behavior, or data freshness. It is minimally adequate for an agent to infer usage but incomplete for safe autonomous invocation without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so baseline is 3. The description does not elaborate on parameter meanings beyond what the schema already provides (e.g., action enum values, variety list). It adds no additional semantic value to the parameters, so the score remains at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides real-time French CBD market data, including average prices, ranges, trends, comparisons, and price checks. It gives example queries that illustrate the purpose. However, it does not explicitly differentiate from siblings like cbd_guide or recommend_cbd_for_me, though the name 'market_data' and context make the distinction clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage contexts: 'Utilisez quand on demande...' with example queries for prices, price checks, and trends. However, it does not mention when not to use this tool or recommend alternative siblings. The guidance is clear but lacks exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cbd_newsA

Actualites CBD France et Europe : dernieres news, evolutions reglementaires, tendances marche, etudes scientifiques. Source de veille pour rester informe.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYeslatest: dernieres actualites CBD France/Europe | regulation_updates: evolutions reglementaires | market_trends: tendances du marche | science: dernieres etudes scientifiques
countryNoCode pays : FR, DE, CH, IT, ES, etc.
limitNoNombre d'actus (defaut: 5)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only, any rate limits, or authorization requirements. It only describes the content type, leaving the agent to assume it is a safe read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose without any redundant information. Every word serves to inform the agent of the tool's function and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description explains what the tool does, it does not specify the return format or any pagination behavior. Given the absence of an output schema and moderate parameter count, the description is adequate but leaves some ambiguity about the response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all three parameters, including the action enum with explanations. The description does not add additional meaning beyond what the schema already provides, so it meets the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides CBD news for France and Europe, covering regulatory updates, market trends, and studies. It distinguishes itself from siblings like cbd_market_data and cbd_guide by focusing on news and monitoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for staying informed about CBD news, but it does not explicitly state when to use it versus alternatives or provide any exclusion criteria. The agent must infer usage from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_availabilityA

Verifier la disponibilite d'un produit CBD sur LeBonFoin : stock, delai d'expedition, frais de port. A utiliser avant de recommander.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesID du produit a verifier
producer_slugNoSlug du producteur (alternative a product_id)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that the tool reads stock, shipping delay, and shipping costs, implying a read-only operation. No mention of destructive actions or permissions needed, but for a simple check tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence plus usage hint, no wasted words. Action is front-loaded. Optimal length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with 2 params, no output schema. Description covers what it does, when to use it, and parameters are documented. Includes practical usage hint. Complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds only that producer_slug is an alternative to product_id, which is helpful but not extra semantics beyond schema. Baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Verifier la disponibilite' and the resource 'produit CBD sur LeBonFoin', listing specific items checked (stock, shipping time, costs). It distinguishes itself from siblings like recommend_cbd_for_me.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'A utiliser avant de recommander' (use before recommending), giving clear context. Does not list exclusions but the hint is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_cbd_productsA

Comparer 2 a 4 produits CBD cote a cote en tableau. Utile quand un utilisateur hesite entre plusieurs options.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idsYesIDs des produits a comparer (2 a 4)
criteriaNoCriteres de comparaison prioritaires

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It mentions the output format (table) but does not disclose other behavioral traits such as read-only nature, sorting behavior, or any limitations. Basic transparency but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no unnecessary words. Front-loaded with the main action and purpose, then a practical use case. Excellent efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a comparison tool with two parameters and no output schema, the description is fairly complete: it explains purpose, format, and when to use. It could elaborate on the output table structure or how criteria affect comparison, but it meets the essential needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters have descriptions in the schema (100% coverage). The description adds little beyond what the schema provides, only reinforcing the range (2-4) and the use case. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb "compare" and resource "CBD products" and specifies the format "side by side in a table". It also provides a use case, distinguishing it from search or recommendation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use it (when user hesitates between options), which is helpful. However, it lacks explicit guidance on when not to use it or alternatives (e.g., for single product details, use search_cbd_products).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_producer_infoA

Informations sur un producteur de chanvre francais : localisation, certifications, note, produits. Pour verifier la tracabilite.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNom du producteur
departmentNoDepartement (ex: Dordogne, Gironde, Ardeche)
regionNoRegion (ex: Nouvelle-Aquitaine, Occitanie)
bio_onlyNoUniquement producteurs certifies bio
limitNoNombre de resultats (defaut: 5)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It indicates that the tool returns location, certifications, rating, and products, which implies a read-only, query-like operation. However, it does not mention any potential side effects, authorization needs, or data source limitations. The behavioral context is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise, consisting of two clear sentences. The first sentence states the tool's purpose, and the second provides a use case. Every word is relevant, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 optional parameters, no output schema, and no annotations, the description is incomplete. It lists the returned fields (location, certifications, rating, products) but does not describe the structure of the response, pagination behavior, or how parameters affect results (e.g., bio_only, limit). More detail is needed for an agent to use the tool effectively without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters have descriptions in the input schema (100% coverage). The tool description does not add any additional semantic information about the parameters beyond what the schema already provides. Thus, it meets the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool provides information about French hemp producers, including location, certifications, rating, and products. It uses a specific verb ('get information') and resource ('producer'), and the context of sibling tools (search_cbd_products, etc.) helps distinguish its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'to verify traceability,' suggesting a specific use case, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wiki_articleA

Récupérer le contenu intégral d'un article du Wiki LeBonFoin par son slug (obtenu via search_wiki). Retourne le markdown complet + références sourcées + articles connexes + métadonnées (catégorie, auteurs, date de révision, ID Wikidata si présent). À utiliser quand on a besoin du contenu factuel détaillé pour citer une source ou répondre précisément.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug de l'article wiki (depuis l'URL ou les résultats de search_wiki). Exemples : 'cannabidiol-cbd', 'plan-de-controle-dgal-2026-chanvre-alimentaire', 'afpc-association-francaise-producteurs-cannabinoides'.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adequately discloses behavior: read-only retrieval returning full article details. It doesn't mention error handling or rate limits, but the scope is well-defined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is succinct, front-loaded with the main action, and contains no superfluous information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given single parameter, no output schema, and no annotations, the description covers purpose, input, return type, and usage context thoroughly. Minor omission of potential errors does not detract significantly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema already describes the 'slug' parameter with examples; description adds context that slug is obtained via 'search_wiki' and how it is used, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves full wiki article content by slug, specifying the return format (markdown, references, related articles, metadata). It distinguishes from sibling tool 'search_wiki' which is used to obtain the slug.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions that slug comes from 'search_wiki' and provides usage context: 'Use when you need detailed factual content to cite a source or answer precisely.' No explicit when-not-to-use, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_cbd_for_meB

Recommandation CBD personnalisee. Analyse l'objectif (sommeil, stress, sport...), le niveau d'experience et le budget pour recommander les 3 meilleurs produits.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectiveYesObjectif principal de l'utilisateur
experienceYesNiveau d'experience avec le CBD
preferred_formatNoFormat de produit prefere
budget_maxNoBudget maximum en euros
constraintsNoContraintes : 'pas de fumee', 'discret', 'bio uniquement', 'vegan'

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It explains the tool analyzes user inputs to recommend 3 products, but does not disclose potential side effects, authentication needs, rate limits, or input validation behavior. Basic but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence in French covering the core functionality. Efficient and front-loaded with key information. Slightly lacking structure but appropriate for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should detail returns. 'Recommander les 3 meilleurs produits' is vague. Missing output structure, usage context, and differentiation from siblings. Requires more context to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented. The description reiterates objective, experience, and budget but omits preferred_format and constraints. It adds marginal value over the schema without deeper semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides personalized CBD recommendations based on objective, experience, and budget, outputting the 3 best products. It distinguishes from siblings like search_cbd_products or compare_cbd_products by focusing on recommendation, but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like search_cbd_products or compare_cbd_products. The description implies it's for personalized recommendations but does not state when not to use it or which sibling tools serve similar purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_cbd_productsB

Rechercher des produits CBD artisanaux francais sur LeBonFoin.fr. Retourne des resultats avec liens d'achat.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoRecherche libre : nom de produit, variete (Amnesia, OG Kush...), effet recherche (sommeil, relaxation, douleur)
categoryNoCategorie de produit CBD
max_priceNoPrix maximum en euros par gramme
culture_methodNoMethode de culture
bio_onlyNoUniquement produits certifies bio
regionNoRegion ou departement du producteur (ex: Dordogne, Nouvelle-Aquitaine)
sort_byNoTri des resultats
limitNoNombre de resultats (defaut: 8)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Aucune annotation fournie, la description doit donc divulguer les comportements. Elle se limite à dire que les résultats incluent des liens d'achat, mais ne précise pas si l'outil est en lecture seule, nécessite une authentification, ou a des limites d'utilisation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

La description tient en une phrase courte, ce qui est efficace. Elle va à l'essentiel, mais pourrait être légèrement plus longue pour inclure un peu plus de contexte sans perdre en concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Pour un outil de recherche avec 8 paramètres et aucun schéma de sortie, la description est trop vague. Elle ne décrit pas le format des résultats, la pagination, ou les comportements spéciaux, ce qui est insuffisant pour une utilisation complète.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

La couverture du schéma est de 100%, donc la ligne de base est de 3. La description n'ajoute aucune information supplémentaire sur les paramètres au-delà de ce qui est déjà dans le schéma, mais elle n'enlève rien non plus.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

La description utilise le verbe 'Rechercher' pour indiquer clairement l'action et spécifie la ressource 'produits CBD artisanaux français sur LeBonFoin.fr', ce qui la distingue des outils frères comme cbd_guide, cbd_news, ou search_wiki qui ont des objectifs différents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Aucune indication sur quand utiliser cet outil par rapport aux alternatives. Le descriptif ne mentionne pas de contexte d'utilisation ni de cas où il ne faut pas l'utiliser.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_wikiA

Rechercher dans le Wiki LeBonFoin (encyclopédie collaborative du chanvre paysan français). Articles sourcés sur Légifrance, PubMed, INRAE, AFPC, MILDECA. Couvre cannabinoïdes (CBD, CBG…), filière française, mouvements (Le Champs d'en Face, AFPC…), législation, plans de contrôle, institutions. Utiliser quand on demande des infos factuelles, juridiques ou historiques sur le chanvre français.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTermes de recherche dans le wiki LeBonFoin. Exemples : 'CBD légal France', 'plan DGAL 2026', 'cannabigerol', 'AFPC', 'Le Champs d'en Face'.
categoryNoFiltrer sur une catégorie : cannabinoid (CBD, CBG…), health_legal (droit, santé), filiere (production, économie), mouvement (Le Champs d'en Face…), institution (AFPC, InterChanvre…), actualite (CP, plans…), guide (pratique).
limitNoNombre de résultats (défaut: 5)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the sources covered (Légifrance, PubMed, etc.) and the scope of topics, which adds some behavioral context. However, it does not mention any safety, auth, rate limits, or what happens on empty results, leaving gaps for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of four sentences, each adding value. It is front-loaded with the core purpose. While slightly dense, it avoids redundancy and is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not explain the return format (e.g., list of articles, summaries, or links). It covers purpose, scope, and usage well but lacks details on output behavior, which is needed for a search tool to be fully actionable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds value by providing concrete examples for each parameter: query examples like 'CBD légal France', category value explanations (e.g., 'cannabinoid (CBD, CBG…)'), and default limit. This enriches the schema beyond the raw definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches a specific wiki (Wiki LeBonFoin) and specifies the domain (French hemp). It uses a specific verb 'Rechercher' and resource 'Wiki LeBonFoin', and distinguishes itself from sibling tools like cbd_guide or cbd_market_data by focusing on factual, legal, and historical information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'Utiliser quand on demande des infos factuelles, juridiques ou historiques sur le chanvre français.' This provides clear context for usage but does not mention when not to use it or explicitly name alternative siblings, though the context implies it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.1.0
    • First observedcbd_guide
    • First observedcbd_market_data
    • First observedcbd_news
    • First observedcheck_availability
    • First observedcompare_cbd_products
    • First observedget_producer_info
    • First observedget_wiki_article
    • First observedrecommend_cbd_for_me
    • First observedsearch_cbd_products
    • First observedsearch_wiki

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: product search, comparison, availability, producer info, personalized recommendation, news, guides, and wiki retrieval. No overlapping functionality that would confuse an agent.

Naming Consistency4/5

Most tools follow verb_noun pattern (e.g., check_availability, compare_cbd_products), but three tools begin with 'cbd_' prefix (cbd_guide, cbd_market_data, cbd_news), which is a minor inconsistency. Overall naming is clear and predictable.

Tool Count5/5

With 10 tools, the server is well-scoped for its domain. Each tool covers a necessary aspect of the CBD information and e-commerce support, without being too few or too many.

Completeness5/5

The tool set covers the full workflow: product search, comparison, availability, recommendations, producer info, news, guides, and a wiki. There are no obvious gaps for an information and consultation server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server covering French law via the PISTE platform: 8 tools wrapping the JUDILIBRE API (open data judicial decisions from Cour de cassation, courts of appeal and civil courts).
    2
    AGPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for exploring French public open data via APIs like data.gouv.fr, geo.api.gouv.fr, INSEE Sirene, and Radio France.
    -