Skip to main content
Glama
silamir

boondmanager-mcp-server

by silamir

Rechercher des positionnements

boond_positionings_search
Read-onlyIdempotent

Search positionings to track candidate and resource placements on opportunities across multiple deals. Filter by candidate, resource, opportunity, company, contact, or product.

Instructions

Recherche des positionnements (placement de candidats/ressources sur des projets/opportunités) dans BoondManager.

Quand : pour suivre l'avancement des profils proposés, plusieurs affaires confondues. Plutôt que : les onglets positionings (boond_candidates_positionings, boond_opportunities_positionings, boond_resources_positionings) quand on part d'une entité connue.

L'API ne propose pas de paramètres de filtre dédiés : le filtrage par entité liée passe par des références dans keywords (AO=opportunité, CAND=candidat, COMP=ressource, CSOC=société, CCON=contact, PROD=produit). Les filtres *Id du schéma sont convertis automatiquement en ces références.

Returns: Liste des positionnements correspondants.

  • fields : projection côté MCP, jamais transmise à l'API — remplace le résumé par les seuls attributs listés (noms inconnus ignorés). À utiliser sur les grosses pages.

  • Pagination : pageSize 1–500 (défaut 30), page 1–100 — au-delà : refus, affiner les filtres.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoNuméro de page (défaut: 1, max: 100)
fieldsNoProjection : attributs à afficher par résultat (ex: ['title','updateDate']). Absent = résumé standard. Noms inconnus ignorés.
keywordsNoMots-clés de recherche. L'API y accepte aussi des références d'entités (AO<id>, CAND<id>, COMP<id>...) — les filtres *Id ci-dessous sont convertis automatiquement en de telles références.
pageSizeNoNombre de résultats par page (max: 500, défaut: 30)
companyIdNoFiltrer par ID société (envoyé à l'API comme référence keywords CSOC<id>)
contactIdNoFiltrer par ID contact (envoyé à l'API comme référence keywords CCON<id>)
productIdNoFiltrer par ID produit (envoyé à l'API comme référence keywords PROD<id>)
resourceIdNoFiltrer par ID ressource (envoyé à l'API comme référence keywords COMP<id>)
candidateIdNoFiltrer par ID candidat (envoyé à l'API comme référence keywords CAND<id>)
opportunityIdNoFiltrer par ID opportunité (envoyé à l'API comme référence keywords AO<id>)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv2.17.0
    • addedInput schema / properties / candidateId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / companyId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / contactId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / opportunityId / pattern
      Added value: +"^\\d+$"
    • changedInput schema / properties / page / description
      Previous value: -"Numéro de page (max: 100)"New value: +"Numéro de page (défaut: 1, max: 100)"
    • changedInput schema / properties / pageSize / description
      Previous value: -"Résultats par page"New value: +"Nombre de résultats par page (max: 500, défaut: 30)"
    • addedInput schema / properties / productId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / resourceId / pattern
      Added value: +"^\\d+$"
  2. Changed1 schema field changedv2.12.2
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  3. Changed1 schema field changedv2.9.0
    • addedInput schema / properties / fields
      Added value: +{
      +  "description": "Projection : attributs à afficher par résultat (ex: ['title','updateDate']). Absent = résumé standard. Noms inconnus ignorés.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  4. Changed8 schema fields changedv2.7.0
    • changedInput schema / properties / candidateId / description
      Previous value: -"Filtrer par ID candidat"New value: +"Filtrer par ID candidat (envoyé à l'API comme référence keywords CAND<id>)"
    • addedInput schema / properties / companyId
      Added value: +{
      +  "description": "Filtrer par ID société (envoyé à l'API comme référence keywords CSOC<id>)",
      +  "type": "string"
      +}
    • addedInput schema / properties / contactId
      Added value: +{
      +  "description": "Filtrer par ID contact (envoyé à l'API comme référence keywords CCON<id>)",
      +  "type": "string"
      +}
    • changedInput schema / properties / keywords / description
      Previous value: -"Mots-clés de recherche"New value: +"Mots-clés de recherche. L'API y accepte aussi des références d'entités (AO<id>, CAND<id>, COMP<id>...) — les filtres *Id ci-dessous sont convertis automatiquement en de telles références."
    • changedInput schema / properties / opportunityId / description
      Previous value: -"Filtrer par ID opportunité"New value: +"Filtrer par ID opportunité (envoyé à l'API comme référence keywords AO<id>)"
    • addedInput schema / properties / productId
      Added value: +{
      +  "description": "Filtrer par ID produit (envoyé à l'API comme référence keywords PROD<id>)",
      +  "type": "string"
      +}
    • removedInput schema / properties / projectId
      Removed value: -{
      -  "description": "Filtrer par ID projet",
      -  "type": "string"
      -}
    • changedInput schema / properties / resourceId / description
      Previous value: -"Filtrer par ID ressource"New value: +"Filtrer par ID ressource (envoyé à l'API comme référence keywords COMP<id>)"
  5. First observedv2.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint=true and idempotentHint=true, the description adds significant behavioral details: the API has no dedicated filter params and relies on keyword references, the *Id filters are auto-converted to those references, `fields` is a MCP-side projection never sent to the API, and pagination limits are enforced with refusal beyond 100 pages / 500 pageSize. This goes well beyond the annotations and gives the agent essential operational knowledge.

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 well-structured with clear sections (Quand, Plutôt que, API behavior, Returns, bullets for fields and pagination). It is somewhat lengthy and partially redundant with the schema (e.g., keyword reference conversion), but the structural organization makes it easy to scan. Each section serves a clear purpose, though it could be tightened.

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 list search tool, the description covers all necessary call details: when to use, how to filter via keywords and *Id params, pagination limits, and the `fields` projection behavior. The return type is only vaguely described as "Liste des positionnements correspondants", but with no output schema, a dedicated get tool, and annotations covering safety, this is adequate. A more explicit description of the default result shape would slightly improve completeness.

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 the baseline is 3. The description largely repeats what the schema already documents for `keywords` and the *Id filters (auto-conversion to references). It adds one extra detail about `fields` being "jamais transmise à l'API" and a use hint for large pages, but this is more behavioral than semantic. Overall, minimal added value beyond the input 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 object: "Recherche des positionnements (placement de candidats/ressources sur des projets/opportunités)". It distinguishes itself from sibling entity-scoped tools by explicitly naming `boond_candidates_positionings`, `boond_opportunities_positionings`, and `boond_resources_positionings` as alternatives when starting from a known entity. An agent can immediately understand what this tool does and how it differs.

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?

The description provides explicit "Quand" (when) and "Plutôt que" (instead of) sections, naming the alternative tools and the exact condition that should trigger their use. It even explains the API limitation about filtering via keyword references, giving the agent a clear decision rule for when to call this tool versus the entity-specific ones.

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

Deploy Server

Other Tools