Skip to main content
Glama

socs.fr, la commande publique française

Server Details

French public procurement: open tenders from BOAMP, public buyers, and contracts won by a company.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct facet of the public procurement domain: buyers, sector statistics, open tenders, and company contract history. There is no meaningful overlap, and even the two market-oriented tools (barometre_secteur and consultations_ouvertes) are clearly separated by purpose.

Naming Consistency5/5

All tool names follow the same stylistic pattern: lowercase French noun phrases with underscores, e.g., acheteurs_publics, barometre_secteur, consultations_ouvertes. The slight variation in marches_d_une_entreprise still adheres to the same structure and does not break the convention.

Tool Count5/5

With only 4 tools, the server is tightly scoped to its stated purpose of French public procurement intelligence. Each tool earns its place by covering a necessary angle for business development, from identifying buyers to assessing market conditions.

Completeness4/5

The core workflows are covered: finding who buys, seeing what is open, understanding market benchmarks, and checking a company's track record. Minor gaps exist, such as no tool to fetch detailed tender documents or compare companies side-by-side, but these do not block primary use cases.

Available Tools

4 tools
acheteurs_publicsLes acheteurs publics d'un territoireA
Read-onlyIdempotent
Inspect

Liste les collectivités, hôpitaux et établissements publics qui ont réellement attribué des marchés sur un département, avec leur nombre de marchés, leur budget médian et leur dernière commande. À appeler quand la question porte sur « à qui vendre » ou « qui achète » quelque part. Le département s'écrit en code (35) ou en toutes lettres (Ille-et-Vilaine).

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNo
secteurNoSecteur d'achat, en code CPV à deux chiffres ou en toutes lettres : « 45 », « travaux de construction »
departementYesDépartement, en code ou en toutes lettres : « 35 », « Ille-et-Vilaine »

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds useful behavioral context by clarifying that only actually awarded contracts are included ('réellement attribué') and by revealing the nature of the returned data (count, median budget, last order).

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?

Three short sentences cover purpose, output, usage context, and the required input format. There is no filler, and the main scoping information is front-loaded.

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?

Because there is no output schema, the description usefully names the returned aggregates so an agent knows what to expect. It covers the key use case and required parameter format; the only gaps are the optional 'limite' and 'secteur' behaviors, which are partly inferable from the schema.

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

Parameters2/5

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

Schema coverage is 67%: 'departement' and 'secteur' are documented, but 'limite' is not. The description's only parameter-related sentence repeats the schema's exact 'departement' format ('35', 'Ille-et-Vilaine') and adds no new meaning about 'limite' or 'secteur'.

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 uses a specific verb ('Liste') and identifies the exact resource: collectivités, hôpitaux and établissements publics that actually awarded contracts in a department. It also states the returned metrics (number of contracts, median budget, last order), which makes the tool's purpose concrete. The use-case phrasing 'à qui vendre / qui achète' distinguishes it from the sibling tools about sector statistics, open consultations, and company-specific contracts.

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 gives an explicit trigger: use this tool when the question is about 'à qui vendre' or 'qui achète' in a territory. It does not name alternative tools or state when not to use it, so it falls short of a full exclusion guide.

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

barometre_secteurConcurrence et montants d'un secteur d'achatA
Read-onlyIdempotent
Inspect

Pour un secteur d'achat (code CPV ou libellé) et un territoire : combien d'offres reçoit en moyenne un marché comparable, dans quelle fourchette de montants il se situe, quelle part passe par une procédure adaptée et quelle part relève d'accords-cadres. À appeler avant de décider de candidater. Sans département, la réponse porte sur la France entière et sert de repère.

ParametersJSON Schema
NameRequiredDescriptionDefault
secteurYesSecteur d'achat, en code CPV à deux chiffres ou en toutes lettres
departementNoDépartement, en code ou en toutes lettres. Sans lui, la France entière.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, which covers the safety profile. The description adds meaningful behavioral context by specifying what the tool computes (averages, ranges, shares) and how the scope changes with or without a department. This goes beyond the annotations and helps the agent understand the nature of the response.

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: two sentences pack the tool's purpose, the indicators returned, the recommended usage moment, and the default geographic scope. It is front-loaded with the resource and question being answered, followed by actionable guidance. No filler or redundancy.

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?

For a read-only analytical tool with only two simple parameters and no output schema, the description is complete. It tells the agent what the tool returns, when to call it, and what happens if the optional parameter is omitted. The absence of an output schema is mitigated by the description's enumeration of the indicators, which effectively describes the return content.

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%, as both 'secteur' and 'departement' already have clear descriptions. The description adds minor context by clarifying the sector can be a CPV code or label, and that the territory is a department with France-wide fallback, but it largely echoes what the schema already states. Thus the description does not substantially enhance parameter understanding 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 defines what the tool does: it returns market statistics (average number of offers, amount ranges, share of adapted procedures, share of framework agreements) for a purchasing sector on a territory. It also distinguishes it from sibling tools by framing it as the call to make 'avant de décider de candidater', which positions it as a market-analysis tool rather than a direct procurement search.

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: 'À appeler avant de décider de candidater'. It also explains the default behavior when no department is provided ('la réponse porte sur la France entière et sert de repère'). It does not explicitly mention when not to use it or name alternatives, but the context is clear enough to guide selection.

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

consultations_ouvertesLes appels d'offres publics encore ouvertsA
Read-onlyIdempotent
Inspect

Les consultations publiées au BOAMP dont la date limite de remise des offres n'est pas passée, interrogées en direct. À appeler dès qu'une question porte sur des marchés « à venir », « ouverts » ou « auxquels répondre » : ces avis changent tous les jours et ne peuvent pas être connus de mémoire. Filtre par département, par mots-clés et par délai minimum restant : sous deux semaines, une PME n'a matériellement pas le temps de monter un dossier.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoTravaux, Fournitures ou Services
limiteNo
joursMinNoNe garder que les avis laissant au moins ce nombre de jours pour répondre
motsClesNoMots présents dans l'objet du marché : « voirie », « restauration scolaire »
departementNoDépartement, en code ou en toutes lettres. Sans lui, la France entière.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already signal read-only, idempotent, open-world behavior; the description adds valuable context beyond that by stating the data is queried live and changes every day. It also explains why memory/cached knowledge is insufficient, which is useful behavioral guidance.

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?

Three sentences, each earning its place: purpose, usage trigger, and filter guidance with rationale. No filler, and the most important information is front-loaded.

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 read-only, optionally-filtered live query tool, the description covers purpose, triggers, filters, and why live access is necessary. The main gap is the meaning of 'limite', which is undocumented in both schema and description, and there is no output-schema guidance; still, the tool is simple enough that this does not seriously impair use.

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 the baseline is 3. The description groups filters (department, keywords, minimum remaining delay) and adds a rationale for the two-week threshold, but it adds nothing about the undocumented 'limite' parameter or anything beyond what the schema already states.

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 precise definition: consultations published at BOAMP whose submission deadline has not passed, queried live. This clearly distinguishes the tool from any past-contract or sector-level siblings by its 'still open' scope and live data source.

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?

It gives an explicit trigger: call whenever a question concerns markets described as 'à venir', 'ouverts' or 'auxquels répondre', because notices change daily and cannot be known from memory. It does not name alternative sibling tools or state when not to use it, so it stops short of a 5.

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

marches_d_une_entrepriseLes marchés publics remportés par une entrepriseA
Read-onlyIdempotent
Inspect

À partir d'un SIREN : les marchés publics qu'une entreprise a remportés, chez quels acheteurs, dans quels secteurs et pour quels montants. À appeler quand la question porte sur l'activité publique d'une société, sa clientèle publique ou son poids sur un marché. Rend une réponse vide quand l'entreprise n'a remporté aucun marché déclaré, ce qui est le cas de l'immense majorité des sociétés françaises.

ParametersJSON Schema
NameRequiredDescriptionDefault
sirenYesSIREN à neuf chiffres, espaces tolérés
limiteNoNombre de marchés détaillés à rendre (8 par défaut)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already signal a safe, read-only, non-destructive operation. The description adds meaningful behavioral context beyond that: it returns an empty response when the company has won no declared contracts, and notes this is true for the vast majority of French companies, which helps calibrate agent expectations.

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?

Three sentences with no wasted words: the first defines the input and output, the second gives usage context, and the third warns about empty results. Information is front-loaded and every sentence earns its place.

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 simple read-only tool with two well-documented parameters and no output schema, the description covers what is returned, the triggering question, and the empty-result edge case. It could add a bit more about output structure or invalid SIREN handling, but nothing essential is missing.

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%, so the schema already documents both parameters ('siren' format and 'limite' constraints and default). The description adds only the general framing 'from a SIREN' but does not meaningfully enrich the parameter-level semantics 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 states a specific verb and resource: from a SIREN, return the public contracts a company has won, including buyers, sectors, and amounts. It also frames the tool around a company's public activity, which clearly distinguishes it from the sibling tools focused on buyers, sectors, and open consultations.

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 says when to call the tool: when the question concerns a company's public activity, public clientele, or weight in a market. It does not name alternatives or state when not to use it, but the context provided is clear enough for routing.

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. 4 tool updates
    • First observedacheteurs_publics
    • First observedbarometre_secteur
    • First observedconsultations_ouvertes
    • First observedmarches_d_une_entreprise

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Enables agents to inspect French public procurement sources, including DECP, BOAMP, buyers, suppliers, and SIRENE data, to discover and summarize public contracts and related context.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Exposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.
    4
    141 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources