Skip to main content
Glama

Federate multiple models of a large project (worksharing, central sync, clash detection)

cao_bim_federation
Read-only

Appelez quand vous devez federer plusieurs modeles ou batiments d'un grand projet (worksharing) : relie chaque modele a sa discipline, detecte les elements dupliques et les collisions de noms, synchronise les reservations dans un registre central, ou differe deux etats pour reperer les changements concurrents (action=diff, etat_a/etat_b). Entree : scenes=[{nom, discipline, scene}] ou modeles={nom:{discipline, elements}}. Lecture seule.

Input Schema

NameRequiredDescriptionDefault
acteurNoPour action=synchroniser : l'acteur qui synchronise
actionNofederer (defaut) | synchroniser | diff
etat_aNoPour action=diff : l'etat de reference (baseline)
etat_bNoPour action=diff : l'etat courant a comparer
scenesNo[{nom, discipline, scene}] — federation depuis des scenes CAO
modelesNo{nom_modele: {discipline, elements:[{id,type,label,discipline}]}}

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"federer (defaut) | synchroniser"New value: +"federer (defaut) | synchroniser | diff"
    • addedInput schema / properties / etat_a
      Added value: +{
      +  "description": "Pour action=diff : l'etat de reference (baseline)",
      +  "type": "object"
      +}
    • addedInput schema / properties / etat_b
      Added value: +{
      +  "description": "Pour action=diff : l'etat courant a comparer",
      +  "type": "object"
      +}
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the readOnlyHint/destructiveHint annotations, it discloses what the call actually does: binds each model to a discipline, detects duplicated elements and name collisions, and compares two snapshots for concurrent changes. The closing 'Lecture seule' aligns with readOnlyHint=true, though 'synchronise les reservations dans un registre central' reads like a write and could briefly confuse an agent about side effects.

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?

Front-loaded with the usage trigger, then capability list, then input shape, then the read-only note — a sensible order with little filler. It is dense in a single long sentence, but every clause carries operational information.

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?

For a six-parameter, multi-mode tool with nested inputs and no output schema, the description covers triggers and inputs adequately but says nothing about what federer/synchroniser/diff return (conflict lists, merged model, change set), which the agent needs to interpret results. Adequate, not complete.

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 baseline is 3; the description earns an extra point by stating that scenes and modeles are alternative input forms ('scenes=... ou modeles=...') and by pairing action=diff with etat_a/etat_b, relationships the schema's per-field descriptions do not express. It still leaves 'acteur' and the default 'federer' mode to the schema.

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?

States a specific action and object: 'federer plusieurs modeles ou batiments d'un grand projet (worksharing)', then enumerates the sub-capabilities (discipline mapping, duplicate/name-collision detection, reservation sync, state diff). The purpose is unmistakable, but it never distinguishes itself from the sibling cao_bim_worksharing, which overlaps on the worksharing framing.

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?

'Appelez quand vous devez federer plusieurs modeles ou batiments d'un grand projet' gives an explicit trigger, and the action=diff case is tied to etat_a/etat_b. It stops short of saying when NOT to use it or naming which sibling to prefer for the single-model or single-discipline cases.

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