Synapze — Financial Intermediary MCP
Server Details
Connect AI agents to licensed financial intermediaries in France: insurance, credit, wealth.
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role in the workflow: searching for a broker, retrieving broker branding/identity, listing products, and generating a quote. No two tools appear to overlap in purpose.
All tool names follow the same lower_snake_case verb_noun pattern: find_broker, get_broker_info, get_products, get_quote. This makes the toolset easy to navigate and predict.
The connector is narrowly scoped to legal protection insurance quotes, and four tools cover its core workflow without unnecessary bloat. Each tool earns its place in the flow.
The toolset covers the full intended workflow: find a broker, get broker branding/information, list the broker's legal protection products, and generate a quote. No update, delete, or document-generation tools are required for the connector's stated scope.
Available Tools
4 toolsfind_brokerARead-onlyIdempotentInspect
Trouver un courtier en protection juridique / Find a licensed French insurance broker for legal protection insurance (protection juridique). Search by city and language. Returns broker name, city, regulatory status and the endpoint to quote with. Legal protection is the only product this connector covers.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or zone in France (e.g. 'paris', 'lyon', 'marseille') | |
| ticket | No | Project amount in EUR (for routing large-ticket cases) | |
| product | No | Insurance product. Legal protection only: 'protection_juridique' (alias 'pj'). | protection_juridique |
| language | No | Preferred language: fr, en | fr |
| sub_specialty | No | Sub-specialty niche within the product (e.g. 'architectes', 'sci_is', 'dirigeants') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint:false, but the description adds meaningful behavioral specifics: the tool returns a payload that includes an 'endpoint to quote with', and the connector is explicitly limited to French legal protection insurance. These behaviors are not inferable from the annotations or the tool title, so the description earns credit beyond the disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact bilingual sentences carry the full payload: purpose, search dimensions, return values, and scope. The most important information is front-loaded and every clause earns its place. There is no fluff or repetition outside the intentional language replica.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with full parameter documentation and rich annotations, the description is nearly complete: it names the return payload and the exact scope of the connector. It does not clarify how to consume the returned 'endpoint to quote with' or how ticket and sub_specialty affect search results, but those are edge details for the core broker-lookup invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the baseline is 3. The description reinforces city/language as the primary search dimensions and restates that only protection_juridique is valid, which slightly amplifies the product field's semantics. It does not add meaningful explanation about ticket or sub_specialty beyond what the schema already provides, so it does not push above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('find') with a concrete resource ('a licensed French insurance broker for legal protection insurance') and defines scope via search dimensions (city and language) and return payload (broker name, city, regulatory status, endpoint to quote with). The exclusivity statement ('Legal protection is the only product this connector covers') helps distinguish it from broader insurance or product-shopping tools, though it does not explicitly name sibling tools like get_broker_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is a clear implied use case: search for a broker in a city/language, and the product exclusivity provides a partial exclusion ('only legal protection'). However, it never explicitly points to alternatives such as get_products or get_quote, nor tells the agent when this tool should not be used in favor of a sibling. The routing is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_broker_infoARead-onlyIdempotentInspect
Informations et branding du courtier / Broker branding and identity. Returns: company name, logo URL, brand color (#hex), address, postal code, phone, ORIAS number, website, specialties, and DDA compliance status. ALWAYS call this before generating any document (PDF, PPTX, comparison, advisory note) to brand it with the broker's logo, color, name, address, and ORIAS number.
| Name | Required | Description | Default |
|---|---|---|---|
| broker_code | No | Broker code returned by find_broker. Optional in broker-authenticated mode. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses exactly what the tool returns: name, logo URL, brand color, address, phone, ORIAS number, specialties, and DDA compliance status. The annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint). The description adds operational context by explaining the returned values are used for document branding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and return fields, and the ALWAYS guidance is valuable. There is minor redundancy between the bilingual opening and the repeated branding fields in the final sentence, but overall it remains efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input (one optional parameter), no output schema, and annotations covering safety, the description provides a complete picture: what the tool returns, why it matters, and when the agent must call it. No critical piece of context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents broker_code well, including its source (find_broker) and that it is optional in broker-authenticated mode. With 100% schema description coverage, the description does not need to add much parameter-level detail, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the source for broker branding and identity, with a specific list of returned fields. It distinguishes itself from siblings (get_products, get_quote) and pairs naturally with find_broker by mentioning broker_code. The intended use case — document branding — is explicit and meaningful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong, explicit guidance: 'ALWAYS call this before generating any document'. It places the tool correctly in the workflow but does not explicitly mention when not to use it or compare it against alternatives beyond the broker_code connection. This is clear context without formal exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productsARead-onlyIdempotentInspect
Catalogue protection juridique / List a broker's legal protection products (protection juridique) with their formulas, eligibility criteria and coverage details. Call this before get_quote to see which formulas the broker distributes.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Product category. Legal protection only: 'protection_juridique' (alias 'pj'). | |
| broker_code | No | Broker code returned by find_broker. Optional in broker-authenticated mode. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so a safe read-only behavior is established. The description adds useful context beyond annotations by specifying the returned scope: 'formulas, eligibility criteriaand coverage details' and Amazon's role, which helps agents understand the behavioral emphasis on catalogue listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a two-sentence format with both the purpose and a usage note about get_quote. The bilingual repetition of 'protection juridique' is a minor redundancy, but it does not harm readability or decision-making.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only/list tool with both endpoint parameters clearly documented and strong annotations, the description gives enough context to call it confidently: it names the broker scope, the category of products, and the workflow position relative to get_quote. No output schema is present, but the description compensates by naming the key data domains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already clearly documents both category and broker_code, including aliases and the broker-authenticated mode. The description does not add meaningful endpoint-specific or parameter formatting behavior beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'List a broker's legal protection products (protection juridique)' with formulas, eligibility criteria, and coverage details. It also distinguishes itself from get_quote by explaining it provides the catalogue that precedes quoting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this before get_quote to see which formulas the broker distributes,' giving a clear sequencing/usage rule and context within the workflow. It does not explicitly explain when not to use it versus siblings like get_broker_info, so it stops short of a fully explicit all-alternatives comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteARead-onlyInspect
Tarification protection juridique / Generate a real legal protection insurance quote (protection juridique) from a licensed French broker's partner insurers. Returns indicative monthly and annual prices per formula.
Call find_broker first to get a broker_code, then get_products to see the available formulas. Only two client inputs are needed: age (in years) and French postal code. Never ask the client for a date of birth, an identity document, or any personal detail beyond these two — this connector does not accept them.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | Client age in whole years (e.g. 40). Used for rating. Do NOT send a date of birth. | |
| budget | No | Client's monthly budget in euros (e.g. 20). Results sorted by proximity to budget. | |
| show_all | No | Return ALL quotes instead of top 5. Use only when the client asks for more options. | |
| broker_code | No | Broker code returned by find_broker. Optional in broker-authenticated mode. | |
| postal_code | Yes | French postal code, 5 digits (e.g. '75011'). Used for territorial rating. | |
| product_type | No | Product type. Legal protection only — the sole product this connector covers. | protection_juridique |
| formula_level | No | Desired formula level, if the client already has a preference. | |
| coverage_areas | No | Dispute areas the client wants covered: consumer, housing, employment, neighbourhood, automotive, digital, tax, administrative. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare readOnlyHint and destructiveHint, the description adds meaningful behavioral detail: it produces real indicative quotes from partner insurers, returns monthly and annual prices, enforces broker dependency, and refuses extra personal data. This goes well beyond what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and uses complementary sentences to convey prerequisites and client-input limitations. No sentence is wasted, and the structure proceeds logically from what the tool does, to how to use it, to guarding against inappropriate inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description states the key return information (indicative monthly and annual prices per formula) and gives enough about required inputs and prerequisites for an agent to invoke the tool correctly. It also provides privacy/behavioral context that is especially useful for an external data connector.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter. The description adds valuable operational semantics by narrowing the client-facing inputs to age and postal code, and by prohibiting unnecessary personal information. It doesn't redundantly redefine each parameter, which is appropriate given the schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: generate a real legal protection insurance quote from French partner insurers and return monthly/annual prices per formula. It clearly differentiates the tool from its siblings by describing the quote generation step after find_broker and get_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit sequencing guidance: call find_broker first to obtain broker_code, then get_products to see available formulas, then this tool. It also explains the only client inputs required and what the agent must never ask for, giving strong when-to-use and when-not-to-use direction.
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.
3 tool updates
- Changed
find_broker3 fields changed- added
Input schema / properties / product / defaultAdded value: +"protection_juridique" - changed
Input schema / properties / product / descriptionPrevious value: -"Insurance product type: auto, moto, mrh, rc_pro, protection_juridique, epargne, assurance_vie, per"New value: +"Insurance product. Legal protection only: 'protection_juridique' (alias 'pj')." - removed
Input schema / requiredRemoved value: -[ - "product" -]
- Changed
get_products1 field changed- changed
Input schema / properties / category / descriptionPrevious value: -"Product category filter: auto, moto, mrh, rc_pro, protection_juridique, epargne, assurance_vie, per"New value: +"Product category. Legal protection only: 'protection_juridique' (alias 'pj')."
- Changed
get_quote18 fields changed- added
Input schema / properties / ageAdded value: +{ + "description": "Client age in whole years (e.g. 40). Used for rating. Do NOT send a date of birth.", + "maximum": 100, + "minimum": 18, + "type": "integer" +} - removed
Input schema / properties / birth_dateRemoved value: -{ - "description": "Client birth date in YYYY-MM-DD format (e.g. '1988-05-15')", - "type": "string" -} - changed
Input schema / properties / budget / descriptionPrevious value: -"Client's monthly budget in euros (e.g. 80). Results sorted by proximity to budget."New value: +"Client's monthly budget in euros (e.g. 20). Results sorted by proximity to budget." - removed
Input schema / properties / childrenRemoved value: -{ - "description": "Children details for family coverage", - "items": { - "properties": { - "birth_date": { - "description": "Child birth date YYYY-MM-DD", - "type": "string" - }, - "gender": { - "description": "Child gender: M or F", - "type": "string" - } - }, - "required": [ - "birth_date" - ], - "type": "object" - }, - "type": "array" -} - added
Input schema / properties / coverage_areasAdded value: +{ + "description": "Dispute areas the client wants covered: consumer, housing, employment, neighbourhood, automotive, digital, tax, administrative.", + "items": { + "enum": [ + "consumer", + "housing", + "employment", + "neighbourhood", + "automotive", + "digital", + "tax", + "administrative" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / formula_levelAdded value: +{ + "description": "Desired formula level, if the client already has a preference.", + "enum": [ + "essentielle", + "etendue", + "complete" + ], + "type": "string" +} - removed
Input schema / properties / genderRemoved value: -{ - "description": "Gender: M or F", - "type": "string" -} - removed
Input schema / properties / has_spouseRemoved value: -{ - "description": "Whether the client has a spouse/partner to cover", - "type": "boolean" -} - removed
Input schema / properties / number_of_childrenRemoved value: -{ - "description": "Number of children to cover", - "type": "number" -} - changed
Input schema / properties / postal_code / descriptionPrevious value: -"French postal code (e.g. '75008', '92150'). Required for all products."New value: +"French postal code, 5 digits (e.g. '75011'). Used for territorial rating." - added
Input schema / properties / postal_code / patternAdded value: +"^\\d{5}$" - removed
Input schema / properties / product_dataRemoved value: -{ - "additionalProperties": {}, - "description": "Product-specific data object. Fields depend on product_type — see description above for examples per product. Call get_products first to see quoteRequirements.guidance for the exact fields to collect.", - "propertyNames": { - "type": "string" - }, - "type": "object" -} - added
Input schema / properties / product_type / defaultAdded value: +"protection_juridique" - changed
Input schema / properties / product_type / descriptionPrevious value: -"Product type: auto, moto, mrh, rc_pro, protection_juridique (pj), epargne, assurance_vie, per"New value: +"Product type. Legal protection only — the sole product this connector covers." - added
Input schema / properties / product_type / enumAdded value: +[ + "protection_juridique", + "pj" +] - changed
Input schema / properties / show_all / descriptionPrevious value: -"Return ALL quotes instead of top 5. Use only when client asks for more options."New value: +"Return ALL quotes instead of top 5. Use only when the client asks for more options." - removed
Input schema / properties / spouse_birth_dateRemoved value: -{ - "description": "Spouse birth date in YYYY-MM-DD format", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "product_type", - "birth_date" -]New value: +[ + "age", + "postal_code" +]
16 tool updates
- Removed
book_appointment - Removed
bulk_quote - Removed
check_coverage - Removed
download_quote_pdf - Changed
find_broker1 field changed- changed
Input schema / properties / product / descriptionPrevious value: -"Insurance product type: mrh, rc_pro, sante, sante_internationale (international health/expat/WHV), prevoyance, auto, epargne"New value: +"Insurance product type: auto, moto, mrh, rc_pro, protection_juridique, epargne, assurance_vie, per"
- Removed
get_client_360 - Removed
get_hot_leads - Removed
get_product_details - Removed
get_product_template - Changed
get_products1 field changed- changed
Input schema / properties / category / descriptionPrevious value: -"Product category filter: mrh, rc_pro, sante, sante_internationale, prevoyance, auto, epargne"New value: +"Product category filter: auto, moto, mrh, rc_pro, protection_juridique, epargne, assurance_vie, per"
- Changed
get_quote8 fields changed- removed
Input schema / properties / coverage_zoneRemoved value: -{ - "description": "Coverage zone for sante_internationale: monde_usa, monde_hors_usa, europe, asie_oceanie, ameriques.", - "type": "string" -} - removed
Input schema / properties / departure_dateRemoved value: -{ - "description": "Coverage start date YYYY-MM-DD for sante_internationale. Defaults to 30 days from now.", - "type": "string" -} - removed
Input schema / properties / destination_countryRemoved value: -{ - "description": "Destination country (e.g. 'Canada', 'Australie', 'Thailand'). REQUIRED for sante_internationale.", - "type": "string" -} - removed
Input schema / properties / insurance_regimeRemoved value: -{ - "description": "Insurance regime for sante_internationale: premier_euro, complement_cfe, complement_secu, etudiant. Do NOT confuse with 'regime' (French social security).", - "type": "string" -} - removed
Input schema / properties / nationalityRemoved value: -{ - "description": "Client nationality for sante_internationale (e.g. 'France'). Defaults to France.", - "type": "string" -} - changed
Input schema / properties / postal_code / descriptionPrevious value: -"French postal code (e.g. '75008', '92150'). Required for French products, not needed for sante_internationale."New value: +"French postal code (e.g. '75008', '92150'). Required for all products." - changed
Input schema / properties / product_type / descriptionPrevious value: -"Product type: sante, sante_tns, sante_internationale, auto, mrh, emprunteur, rc_pro, gav, prevoyance, pj, ij, per, assurance_vie, scolaire, epargne"New value: +"Product type: auto, moto, mrh, rc_pro, protection_juridique (pj), epargne, assurance_vie, per" - removed
Input schema / properties / regimeRemoved value: -{ - "description": "French social security regime: general, tns, alsace_moselle. For sante/sante_tns only.", - "type": "string" -}
- Removed
log_interaction - Removed
save_custom_quote - Removed
save_document - Removed
save_lead - Removed
send_document
3 tool updates
- Changed
get_product_template1 field changed- changed
Input schema / properties / product_family / descriptionPrevious value: -"Product family code (e.g. 'sante', 'auto', 'mrh'). See supported values in description."New value: +"Product family code. ⚠️ HEALTH: pick the SPECIFIC sub-family, NOT the generic 'sante': use 'sante_internationale' for expats/abroad (Malaisie, Canada, Thaïlande…), 'sante_tns' for self-employed/indépendants in France, 'sante_surcomplementaire' for top-up on existing mutuelle, and 'sante' ONLY for standard individual/family health in France (salariés/retraités). Other values: auto, moto, mrh, gav, rc_pro, ij, emprunteur, assurance_vie, per, temporaire_deces, scolaire, protection_juridique, embedded_insurance."
- Changed
save_lead1 field changed- changed
Input schema / properties / product_family / descriptionPrevious value: -"Product family code (same as used in get_product_template): sante, sante_tns, auto, mrh, gav, rc_pro, emprunteur, etc. Required if you pass filled_data."New value: +"Product family code — MUST BE THE SAME VALUE YOU USED IN THE PREVIOUS get_quote OR get_product_template CALL. Required if you pass filled_data. ⚠️ HEALTH INSURANCE DISAMBIGUATION — pick the SPECIFIC sub-family, NEVER use the generic 'sante' as a catch-all: • 'sante_internationale' → expatriates, WHV, digital nomads, anyone living/moving ABROAD (e.g. Malaisie, Canada, Thaïlande, Dubai, expat). • 'sante_tns' → self-employed / TNS / indépendants / freelance / auto-entrepreneurs in France. • 'sante_surcomplementaire' → top-up coverage on an existing mutuelle. • 'sante' → ONLY for a standard individual/family health insurance in France (salariés, retraités), NOT international, NOT TNS. Other families: auto, moto, mrh, gav, rc_pro, ij, emprunteur, assurance_vie, per, temporaire_deces, scolaire, protection_juridique, embedded_insurance. If the client is an expat or lives abroad, ALWAYS use 'sante_internationale'. Using 'sante' in that case creates a WRONG project in CRM."
- Changed
send_document2 fields changed- changed
Input schema / properties / caption / descriptionPrevious value: -"Message to accompany the document on WhatsApp (e.g. 'Voici votre comparatif santé internationale')"New value: +"Custom message body for the email (will be inserted in the email body). Example: 'Suite à notre échange, voici le comparatif des 3 offres santé internationale...'. If omitted, a default generic message referencing the cabinet is used." - changed
Input schema / properties / client_phone / descriptionPrevious value: -"Client phone number with country code (WhatsApp recipient)"New value: +"Client phone number with country code — used to locate the prospect in CRM"
2 tool updates
- Added
get_product_template - Changed
save_lead4 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Brief summary of client's needs, budget, preferences (e.g. 'Health insurance, budget 80€/month, needs good dental coverage')"New value: +"Free-text summary of client's situation/preferences (appended to prospect notes)." - added
Input schema / properties / filled_dataAdded value: +{ + "additionalProperties": {}, + "description": "Structured product data keyed by field ID from the product template. Example (sante): {couverture_type: 'famille', niveau_hospitalisation: 4, enfants: [{prenom: 'Leo', dateNaissance: '2018-06-01'}], budget_max: 120, date_effet: '2026-05-01'}. Call get_product_template first to discover valid field IDs/enums.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / product_familyAdded value: +{ + "description": "Product family code (same as used in get_product_template): sante, sante_tns, auto, mrh, gav, rc_pro, emprunteur, etc. Required if you pass filled_data.", + "type": "string" +} - changed
Input schema / properties / product_type / descriptionPrevious value: -"Insurance product type: sante, sante_tns, rc_pro, mrh, prevoyance, gav, pj"New value: +"Legacy alias for product_family. Prefer product_family for new integrations. If both are passed, product_family wins."
4 tool updates
- Added
bulk_quote - Added
get_client_360 - Added
get_hot_leads - Added
log_interaction
1 tool update
- Changed
get_broker_info2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - removed
Input schema / requiredRemoved value: -[ - "broker_code" -]
8 tool updates
- Changed
book_appointment2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "client_phone" -]New value: +[ + "client_phone" +]
- Changed
check_coverage2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "need" -]New value: +[ + "need" +]
- Changed
get_product_details2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "product_name" -]New value: +[ + "product_name" +]
- Changed
get_products2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - removed
Input schema / requiredRemoved value: -[ - "broker_code" -]
- Changed
get_quote2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "product_type", - "birth_date" -]New value: +[ + "product_type", + "birth_date" +]
- Changed
save_document2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "client_phone", - "file_name", - "content_base64" -]New value: +[ + "client_phone", + "file_name", + "content_base64" +]
- Changed
save_lead2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "client_phone", - "first_name", - "last_name" -]New value: +[ + "client_phone", + "first_name", + "last_name" +]
- Changed
send_document2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code returned by find_broker"New value: +"Broker code returned by find_broker. Optional in broker-authenticated mode." - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "client_phone", - "file_name", - "content_base64" -]New value: +[ + "client_phone", + "file_name", + "content_base64" +]
2 tool updates
- Added
download_quote_pdf - Added
save_custom_quote
4 tool updates
- Changed
book_appointment3 fields changed- added
Input schema / properties / broker_codeAdded value: +{ + "description": "Broker code returned by find_broker", + "type": "string" +} - changed
Input schema / properties / quote_ref / descriptionPrevious value: -"Reference from a previous get_quote call (e.g. 'MCP-20260326-A1B2C3D4')"New value: +"Reference from a previous get_quote call" - changed
Input schema / requiredPrevious value: -[ - "client_phone" -]New value: +[ + "broker_code", + "client_phone" +]
- Changed
get_broker_info1 field changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code from find_broker (e.g. 'jmassure', 'protecsia')"New value: +"Broker code returned by find_broker"
- Added
save_document - Added
send_document
5 tool updates
- Changed
check_coverage2 fields changed- added
Input schema / properties / broker_codeAdded value: +{ + "description": "Broker code returned by find_broker", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "need" -]New value: +[ + "broker_code", + "need" +]
- Changed
get_product_details2 fields changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code from find_broker (e.g. 'jmassure', 'protecsia')"New value: +"Broker code returned by find_broker" - changed
Input schema / properties / product_name / descriptionPrevious value: -"Product name from get_quote results (e.g. 'Neoliane Energik', 'SPVIE Santé Génius')"New value: +"Product name as returned by get_products or get_quote"
- Changed
get_products2 fields changed- added
Input schema / properties / broker_codeAdded value: +{ + "description": "Broker code returned by find_broker", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "broker_code" +]
- Changed
get_quote1 field changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code from find_broker (e.g. 'jmassure', 'protecsia')"New value: +"Broker code returned by find_broker"
- Changed
save_lead1 field changed- changed
Input schema / properties / broker_code / descriptionPrevious value: -"Broker code from find_broker (e.g. 'jmassure', 'protecsia')"New value: +"Broker code returned by find_broker"
4 tool updates
- Changed
book_appointment11 fields changed- added
Input schema / properties / birth_dateAdded value: +{ + "description": "Client's date of birth in YYYY-MM-DD format", + "type": "string" +} - removed
Input schema / properties / broker_codeRemoved value: -{ - "description": "Broker code from find_broker (e.g. 'jmassure', 'protecsia')", - "type": "string" -} - changed
Input schema / properties / context / descriptionPrevious value: -"Brief context about the client's need"New value: +"Brief context about the client's need (e.g. 'RC Pro quote for architect')" - added
Input schema / properties / emailAdded value: +{ + "description": "Client's email address", + "type": "string" +} - added
Input schema / properties / first_nameAdded value: +{ + "description": "Client's first name", + "type": "string" +} - added
Input schema / properties / genderAdded value: +{ + "description": "Client's gender: 'M' or 'F'", + "type": "string" +} - added
Input schema / properties / last_nameAdded value: +{ + "description": "Client's last name", + "type": "string" +} - added
Input schema / properties / postal_codeAdded value: +{ + "description": "Client's postal code (e.g. '75001')", + "type": "string" +} - changed
Input schema / properties / preferred_slot / descriptionPrevious value: -"Preferred appointment time in ISO 8601"New value: +"Preferred appointment time in ISO 8601 (e.g. '2026-03-26T10:00')" - changed
Input schema / properties / quote_ref / descriptionPrevious value: -"Reference from a previous get_quote call"New value: +"Reference from a previous get_quote call (e.g. 'MCP-20260326-A1B2C3D4')" - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "client_phone" -]New value: +[ + "client_phone" +]
- Changed
check_coverage4 fields changed- removed
Input schema / properties / broker_codeRemoved value: -{ - "description": "Broker code from find_broker (e.g. 'jmassure', 'protecsia')", - "type": "string" -} - changed
Input schema / properties / current_coverage / descriptionPrevious value: -"Description of current coverage if any"New value: +"Description of current coverage if any, to identify gaps" - changed
Input schema / properties / need / descriptionPrevious value: -"Description of the insurance need"New value: +"Description of the insurance need (e.g. 'professional liability for architect firm with 3 employees')" - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "need" -]New value: +[ + "need" +]
- Changed
get_products3 fields changed- removed
Input schema / properties / broker_codeRemoved value: -{ - "description": "Broker code from find_broker (e.g. 'jmassure', 'protecsia')", - "type": "string" -} - changed
Input schema / properties / category / descriptionPrevious value: -"Product category filter: mrh, rc_pro, sante, prevoyance, auto, epargne"New value: +"Product category filter: mrh, rc_pro, sante, sante_internationale, prevoyance, auto, epargne" - removed
Input schema / requiredRemoved value: -[ - "broker_code" -]
- Changed
get_quote16 fields changed- changed
Input schema / properties / birth_date / descriptionPrevious value: -"Client birth date YYYY-MM-DD (e.g. '1988-05-15')"New value: +"Client birth date in YYYY-MM-DD format (e.g. '1988-05-15')" - added
Input schema / properties / budgetAdded value: +{ + "description": "Client's monthly budget in euros (e.g. 80). Results sorted by proximity to budget.", + "type": "number" +} - added
Input schema / properties / childrenAdded value: +{ + "description": "Children details for family coverage", + "items": { + "properties": { + "birth_date": { + "description": "Child birth date YYYY-MM-DD", + "type": "string" + }, + "gender": { + "description": "Child gender: M or F", + "type": "string" + } + }, + "required": [ + "birth_date" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / coverage_zoneAdded value: +{ + "description": "Coverage zone for sante_internationale: monde_usa, monde_hors_usa, europe, asie_oceanie, ameriques.", + "type": "string" +} - added
Input schema / properties / departure_dateAdded value: +{ + "description": "Coverage start date YYYY-MM-DD for sante_internationale. Defaults to 30 days from now.", + "type": "string" +} - added
Input schema / properties / destination_countryAdded value: +{ + "description": "Destination country (e.g. 'Canada', 'Australie', 'Thailand'). REQUIRED for sante_internationale.", + "type": "string" +} - changed
Input schema / properties / has_spouse / descriptionPrevious value: -"Whether client has a spouse to cover"New value: +"Whether the client has a spouse/partner to cover" - added
Input schema / properties / insurance_regimeAdded value: +{ + "description": "Insurance regime for sante_internationale: premier_euro, complement_cfe, complement_secu, etudiant. Do NOT confuse with 'regime' (French social security).", + "type": "string" +} - added
Input schema / properties / nationalityAdded value: +{ + "description": "Client nationality for sante_internationale (e.g. 'France'). Defaults to France.", + "type": "string" +} - changed
Input schema / properties / postal_code / descriptionPrevious value: -"French postal code (e.g. '75008', '92150')"New value: +"French postal code (e.g. '75008', '92150'). Required for French products, not needed for sante_internationale." - added
Input schema / properties / product_dataAdded value: +{ + "additionalProperties": {}, + "description": "Product-specific data object. Fields depend on product_type — see description above for examples per product. Call get_products first to see quoteRequirements.guidance for the exact fields to collect.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / product_type / descriptionPrevious value: -"Product type: sante, sante_tns, rc_pro, mrh, prevoyance, gav, pj"New value: +"Product type: sante, sante_tns, sante_internationale, auto, mrh, emprunteur, rc_pro, gav, prevoyance, pj, ij, per, assurance_vie, scolaire, epargne" - changed
Input schema / properties / regime / descriptionPrevious value: -"Social security regime: general, tns, alsace_moselle"New value: +"French social security regime: general, tns, alsace_moselle. For sante/sante_tns only." - added
Input schema / properties / show_allAdded value: +{ + "description": "Return ALL quotes instead of top 5. Use only when client asks for more options.", + "type": "boolean" +} - changed
Input schema / properties / spouse_birth_date / descriptionPrevious value: -"Spouse birth date YYYY-MM-DD"New value: +"Spouse birth date in YYYY-MM-DD format" - changed
Input schema / requiredPrevious value: -[ - "broker_code", - "product_type", - "birth_date", - "postal_code" -]New value: +[ + "broker_code", + "product_type", + "birth_date" +]
1 tool update
- Changed
find_broker1 field changed- changed
Input schema / properties / product / descriptionPrevious value: -"Insurance product type: mrh, rc_pro, sante, prevoyance, auto, epargne, expatrie"New value: +"Insurance product type: mrh, rc_pro, sante, sante_internationale (international health/expat/WHV), prevoyance, auto, epargne"
1 tool update
- Changed
find_broker2 fields changed- added
Input schema / properties / sub_specialtyAdded value: +{ + "description": "Sub-specialty niche within the product (e.g. 'architectes', 'sci_is', 'dirigeants')", + "type": "string" +} - added
Input schema / properties / ticketAdded value: +{ + "description": "Project amount in EUR (for routing large-ticket cases)", + "type": "number" +}
1 tool update
- Added
get_product_details
1 tool update
- Added
save_lead
Related MCP Connectors
Connect AI agents to financial institution origination, analytics, and compliance workflows.
- BankSyncOAuthio.banksync
Connect AI agents to bank accounts, transactions, balances, and investments.
Insurance brokerage for AI agents — quote, bind, and settle in USDC
Complete financial infrastructure for AI agents — payments, lending, escrow & more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to get real home & auto insurance quotes and start binding through a network of licensed independent agencies.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceConnect AI agents to real bank accounts across 15,000+ financial institutions for transactions, balances, investments, and loans.2MIT
- AlicenseNot gradedqualityCmaintenanceBroker-only credit/lending discovery shim for AI agents, surfacing real lending markets from licensed/established third-party protocols and routing applications.MIT
- AlicenseBqualityBmaintenanceAutonomous M2M compliance and trust APIs for AI agents (KYB, OFAC, VAT, Sanctions checking).5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.