Skip to main content
Glama

French Public Procurement Search

procurement_fr_search

Searches currently open French public procurement opportunities and returns normalized BOAMP tender data ready for automated processing. Use when: You need currently open French public procurement opportunities from BOAMP. You want to search open tenders by keywords, department, buyer or minimum deadline. Avoid when: You need contracts already awarded to a specific company; use company/fr/public-contracts. You need private procurement opportunities or a guarantee that every French public procurement notice is covered. Limitations: Coverage is limited to the BOAMP public dataset and the notices available through that source. At least one of query, department or buyer is required; tender deadlines and notice details can change at the source. Price: 0.010 USD per call via x402. Paid-call behavior: source records are not modified, but a successful invocation can consume the advertised x402 payment; the payment-required challenge is free, and repeating the tool after a completed paid invocation may require a new payment. Accepted x402 networks: eip155:8453, xrpl:0.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyerNoPublic buyer name to search for
limitNoMaximum number of open tenders to return
queryNoKeywords to search in currently open public procurement notices
departmentNoFrench department code
deadline_afterNoOnly return tenders whose deadline is on or after this YYYY-MM-DD date

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyerYesStructured value returned for “buyer” as defined by this API contract.
queryYesStructured value returned for “query” as defined by this API contract.
tendersYesNormalized open public-procurement notices returned by the endpoint.
truncatedYesWhether additional matching records existed beyond the returned result limit.
departmentYesStructured value returned for “department” as defined by this API contract.
total_countYesTotal number of matching records reported by the source or endpoint.
deadline_afterYesStructured value returned for “deadline after” as defined by this API contract.
returned_countYesNumber of records included in this response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changed
    • changedInput schema / description
      Previous value: -"At least one of query, department, or buyer must be provided."New value: +"Structured input parameters for the procurement/fr/search API. At least one of query, department, or buyer must be provided."
    • addedOutput schema / description
      Added value: +"Structured result returned by the procurement/fr/search API."
    • addedOutput schema / properties / buyer / description
      Added value: +"Structured value returned for “buyer” as defined by this API contract."
    • addedOutput schema / properties / deadline_after / description
      Added value: +"Structured value returned for “deadline after” as defined by this API contract."
    • addedOutput schema / properties / department / description
      Added value: +"Structured value returned for “department” as defined by this API contract."
    • addedOutput schema / properties / query / description
      Added value: +"Structured value returned for “query” as defined by this API contract."
    • addedOutput schema / properties / returned_count / description
      Added value: +"Number of records included in this response."
    • addedOutput schema / properties / tenders / description
      Added value: +"Normalized open public-procurement notices returned by the endpoint."
    • addedOutput schema / properties / tenders / items / properties / buyer / description
      Added value: +"Structured value returned for “buyer” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / cpv_codes / description
      Added value: +"Structured value returned for “cpv codes” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / criteria / description
      Added value: +"Structured value returned for “criteria” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / days_remaining / description
      Added value: +"Structured value returned for “days remaining” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / deadline / description
      Added value: +"Structured value returned for “deadline” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / departments / description
      Added value: +"Structured value returned for “departments” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / descriptors / description
      Added value: +"Structured value returned for “descriptors” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / id / description
      Added value: +"Structured value returned for “id” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / market_types / description
      Added value: +"Structured value returned for “market types” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / notice_type / description
      Added value: +"Structured value returned for “notice type” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / object / description
      Added value: +"Structured value returned for “object” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / procedure / description
      Added value: +"Structured value returned for “procedure” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / procedure_code / description
      Added value: +"Structured value returned for “procedure code” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / publication_date / description
      Added value: +"Structured value returned for “publication date” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / source / description
      Added value: +"Structured value returned for “source” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / source_type / description
      Added value: +"Structured value returned for “source type” as defined by this API contract."
    • addedOutput schema / properties / tenders / items / properties / url / description
      Added value: +"Structured value returned for “url” as defined by this API contract."
    • addedOutput schema / properties / total_count / description
      Added value: +"Total number of matching records reported by the source or endpoint."
    • addedOutput schema / properties / truncated / description
      Added value: +"Whether additional matching records existed beyond the returned result limit."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Despite negative annotation hints, the description clearly discloses the paid-call behavior, the possibility of consuming payment, the free challenge flow, and the non-idempotent repetition risk. It also states source records are not modified and notes coverage limitations, going well beyond the annotations.

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 front-loaded with the core purpose and structured with clear labels for usage, limitations, and pricing. Every section adds decision-relevant information without waste, and the length is justified by the paid-call complexity.

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?

Covers what the tool does, when to use it, when not to, its data coverage limits, required parameter combination, price, payment behavior, and accepted networks. With an output schema present and a complete input schema, nothing essential is missing for correct invocation.

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 coverage is 100%, so the baseline is 3, but the description adds meaningful cross-parameter semantics: at least one of query, department, or buyer is required, and it maps 'minimum deadline' to search usage. This helps an agent understand the parameter constraint without opening 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 opens with a specific verb and resource: 'Searches currently open French public procurement opportunities' and clarifies the BOAMP data source and normalized output. It also differentiates itself from the company/fr/public-contracts sibling by explicitly saying it is not for awarded contracts.

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

Usage Guidelines5/5

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

Provides explicit 'Use when' and 'Avoid when' guidance, naming the alternative tool company/fr/public-contracts for awarded contracts. It also enumerates the search dimensions (keywords, department, buyer, minimum deadline) and states what the tool cannot guarantee.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources