Skip to main content
Glama

Server Details

Search the Perfume Picks fragrance database: 13,000+ scents with notes, dupes, and wear data.

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
Repository
bguillow-rgb/perfume-picks-mcp
GitHub Stars
0
Server Listing
Perfume Picks MCP Server

TDQS

A4/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have clearly distinct purposes: search, detail, comparison, similarity, dupes, recommendations, trends, and situational suggestions. The main potential confusion is between find_similar and find_dupes, since both return fragrances related to a given one, though their intent differs.

Naming Consistency4/5

Tool names mostly follow a verb_noun snake_case pattern: compare_fragrances, find_similar, get_fragrance, search_fragrances. trending_fragrances and what_to_wear_tonight break the verb-first convention slightly, but the overall naming style is coherent and readable.

Tool Count5/5

Eight tools is well-scoped for a fragrance discovery and recommendation service. Each tool covers a distinct user need without redundancy or bloat, and the count feels appropriate for the domain.

Completeness5/5

The tool set covers the full fragrance journey: searching, retrieving details, comparing, finding alternatives, personalized recommendations, trend awareness, and context-based picks. There are no obvious dead ends or critical missing operations for a read-focused recommendation API.

Available Tools

8 tools
compare_fragrancesA
Read-onlyIdempotent
Inspect

Side-by-side comparison: note pyramids, shared and distinct accords, longevity/sillage/compliment scores, concentration, and price difference.

ParametersJSON Schema
NameRequiredDescriptionDefault
fragrance_aYesFirst fragrance — slug or name
fragrance_bYesSecond fragrance — slug or name

TDQS

A4/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 the core behavioral context: exactly what dimensions the comparison covers. It does not explain edge cases like missing fragrance data, but for a safe read-only comparison this is strong additional context.

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?

A single, tightly written sentence that front-loads the operation and then uses a colon-separated list to convey the comparison scope. No redundant words or filler.

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?

This is a low-complexity two-parameter tool with strong read-only annotations and no output schema. The description adequately conveys what the result will cover and the pair being compared. It lacks explicit alternativ routing, but the operation is clear enough to invoke correctly.

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?

The input schema already documents both parameters with 100% coverage, including that each accepts a slug or name. The description does not add parameter-specific details, which is acceptable since the schema carries the burden.

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 states the operation as a side-by-side comparison and enumerates concrete comparison dimensions: note pyramids, shared/distinct accords, longevity/sillage/compliment scores, concentration, and price difference. This distinguishes it from sibling tools like get_fragrance or find_similar, which are single-fragrance or similarity-focused tools.

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

Usage Guidelines3/5

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

The phrase 'side-by-side comparison' implies the tool should be used when a user wants to compare two fragrances, and the parameter names make the pair explicit. However, it does not mention when to prefer this over siblings like find_similar or find_dupes, nor any when-not conditions.

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

find_dupesA
Read-onlyIdempotent
Inspect

Curated dupes for a fragrance — cheaper scents documented to smell like the original, with match percentage and price comparison. The answer to 'what smells like X without the price tag'.

ParametersJSON Schema
NameRequiredDescriptionDefault
fragranceYesFragrance slug or name to find dupes for

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already signal read-only, idempotent, non-destructive behavior, so the description adds meaningful context by explaining that results are curated, documented to smell like the original, and include match percentage and price comparison. This goes beyond the structured annotations and clarifies the curated nature of the data.

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?

Two concise sentences deliver the purpose, key output details, and the user-facing trigger phrase with no filler. The main behavior is front-loaded and every word contributes to understanding.

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 simple one-parameter tool with no output schema, the description adequately explains what the tool returns: curated dupes, match percentage, and price comparison. Combined with the clear input schema and supportive annotations, 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.

Parameters3/5

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

The schema already covers the single parameter fully with a description ('Fragrance slug or name to find dupes for'), and schema coverage is 100%. The description adds no new parameter details beyond reinforcing that the input is a fragrance, so the baseline score of 3 is appropriate.

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 states the tool's function: find curated, cheaper fragrance dupes for a given original, with match percentage and price comparison. It also distinguishes itself from siblings like find_similar by emphasizing 'dupes' and the 'without the price tag' angle, making the intended use unmistakable.

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 a clear usage context: use this when someone asks for what smells like a fragrance at a lower price. It does not explicitly name alternatives or exclusion criteria, but the trigger phrase 'the answer to...' effectively routes the agent to this tool.

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

find_similarA
Read-onlyIdempotent
Inspect

Fragrances most similar to a given one, from Perfume Picks' precomputed similarity ranking over notes and accords.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5)
fragranceYesFragrance slug or name

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already signal readOnly, idempotent, and non-destructive behavior. The description adds useful context beyond that by stating the similarity is precomputed and based on notes and accords, indicating a deterministic, offline ranking rather than live user-specific filtering.

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 one tight sentence with no wasted words. It front-loads the main purpose and then gives the distinguishing source of similarity, making it easy for an agent to parse quickly.

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 two-parameter read-only lookup, the description provides enough context: what it returns, how similarity is determined, and the input basis. It does not describe the exact output structure, but the notion of a similarity ranking makes the return shape reasonably inferable.

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 both parameters (fragrance and limit) are already documented in the schema. The description adds no extra parameter-level meaning, which is acceptable given the schema carries the load.

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?

The description clearly states the tool returns fragrances similar to a given fragrance, based on a precomputed similarity ranking over notes and accords. It does not use an explicit verb like 'returns' or 'lists,' and it doesn't directly contrast with siblings like find_dupes or get_recommendations, though the precomputed ranking over notes/accords helps distinguish it.

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

Usage Guidelines3/5

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

The context is implied: use this tool when you need similar fragrances to a specified one. However, there is no explicit guidance about when not to use it or which sibling tool would be a better choice for related but different needs.

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

get_fragranceA
Read-onlyIdempotent
Inspect

Detailed record for one fragrance: full note pyramid (top/heart/base), accords, concentration, community longevity/sillage/compliment scores, and MSRP. Accepts a Perfume Picks slug or a name like 'Bleu de Chanel'.

ParametersJSON Schema
NameRequiredDescriptionDefault
slug_or_nameYesFragrance slug or name

TDQS

A4.3/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so no safety contradictions exist. The description adds meaningful scoping context by stating it returns a 'detailed record for one fragrance' and listing the output attributes, which clarifies the tool's behavior beyond a generic getter. It does not disclose edge-case behavior (e.g., handling of ambiguous names or not-found errors), but the annotations lower the bar.

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?

Two sentences, each earning its place: the first lists the record's contents, the second specifies the input format. No filler or repetition of schema/annotation data.

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 single-parameter, read-only retrieval tool with no output schema, the description covers both invocation (slug or name) and expected return contents (note pyramid, scores, MGRP). No critical information is missing for an agent to successfully call it, and annotations already provide the safety profile.

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?

The schema already documents the slug_or_name parameter with 100% coverage, so the baseline is 3. The description adds a concrete example ('Bleu de Chaanel') and clarifies that a slug must be a 'Perfume Picks slug', giving the agent a better sense of the accepted format than the schema's generic 'Fragrance slug or name'.

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 'Detailed record for one fragrance', which specifies the verb (get) and resource (fragrance) precisely. Listing the full note pyramid, accords, concentration, community scores, and MSRP distinguishes it from siblings like search_fragrances or compare_fragrances, which operate on lists or multiple items. This makes the tool's purpose unambiguous.

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 makes it clear this is for retrieving a single fragrance's detailed record, so an agent can infer when to use it: when a specific fragrance is already known. It does not explicitly name alternatives or say when not to use it, such as 'for browsing, use search_fragrances'. However, the contextual clue 'one fragrance' versus the sibling names implies the appropriate use case.

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

get_recommendationsB
Read-onlyIdempotent
Inspect

Personalized fragrance picks from note/accord preferences (e.g. 'vanilla', 'oud', 'citrus'), a budget in USD, an occasion ('office', 'date night', 'gift', 'signature scent'), and gender presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5)
budgetNoMax MSRP in USD
genderNoMarketed gender category of the fragrance; omit to include all
occasionNoWhat the fragrance is for
preferencesYesNotes or accords the wearer enjoys, e.g. ['vanilla','amber','rose']

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds that the result is a curated set of 'picks' rather than a full listing, which is a useful behavioral trait, but it does not disclose return format, ordering, or any limitations. This is modest added context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose ('Personalized fragrance picks') and packs examples into parentheticals. It is information-dense but organized and not bloated, though it is slightly long relative to the unique value it adds over the schema.

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?

With no output schema and no explicit differentiation from sibling tools, the description leaves gaps: it does not explain what the returned recommendations look like or when to prefer this over find_similar or search_fragrances. Parameter constraints are fully covered by the schema and read-only annotations, so the essential calling contract is present, but the contextual gaps keep this below a 4.

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%, with parameters like preferences, budget, occasion, and gender already described with examples. The description provides some clearer example values for occasion and preferences, but it largely repeats schema information and does not significantly reduce reliance on the schema. Baseline 3 is appropriate.

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?

The description clearly states a specific verb—'picks' as in recommends—and resource, 'fragrance picks,' while specifying the personalization inputs (preferences, budget, occasion, gender). This distinguishes it from generic search siblings, though it does not explicitly name any alternative.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a user has note/accord preferences and optionally budget, occasion, or gender to get personalized fragrance suggestions. However, it offers no explicit when-to-use versus siblings like find_similar or trending_fragrances; the usage context must be inferred from the word 'personalized'.

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

search_fragrancesA
Read-onlyIdempotent
Inspect

Full-text search across 13,000+ fragrances in the Perfume Picks database. Filter by brand, fragrance family, gender, and MSRP (USD). Returns note pyramids, accords, and community wear scores with source attribution.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandNoBrand name filter, e.g. 'Dior'
limitNoMax results (default 10)
queryNoFree-text search: fragrance or brand name
genderNoMarketed gender category of the fragrance; omit to include all
price_maxNoMaximum MSRP in USD
price_minNoMinimum MSRP in USD
fragrance_familyNoFamily filter, e.g. 'woody', 'amber', 'fresh'

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by disclosing that results include note pyramids, accords, community wear scores, and source attribution, which is important because there is no output schema.

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?

Two sentences with no filler. The first sentence front-loads the core purpose and scope, the second covers filters and output. Every phrase 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?

The description is complete enough for a read-only search tool with strong annotations and 100% schema parameter coverage. It explains the database scope, filters, and return data despite lacking an output schema. Minor gaps remain around result ordering, pagination, and whether a query is required, but these are not critical for invoking the tool correctly.

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 parameters are already documented in ${schema}. The description adds minimal extra parameter meaning by mapping 'brand, fragrance family, gender, and MSRP (USD)' to the corresponding fields, but it does not clarify query semantics, limit behavior, or how filters combine.

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 action ('Full-text search'), the exact resource ('13,000+ fragrances in the Perfume Picks database'), and the available filter dimensions (brand, family, gender, MSRP). It also lists the return fields, making it easy for an agent to distinguish this broad search tool from sibling tools like get_fragrance or find_similar.

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

Usage Guidelines3/5

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

The description implies when to use the tool by defining it as a full-text search across the entire fragrance database, but it does not explicitly say when to prefer it over siblings like find_similar, find_dupes, or get_recommendations. The usage context is clear enough for an agent to infer, but there is no explicit alternative routing or exclusion.

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

what_to_wear_tonightA
Read-onlyIdempotent
Inspect

A fragrance suggestion for right now, based on mood, occasion (e.g. 'date', 'office tomorrow', 'night out', 'cozy evening in'), and season — scored with Perfume Picks' community compliment, office-safety, and versatility data.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoHow you're feeling
genderNoMarketed gender category of the fragrance; omit to include all
seasonNoSeason to weight the pick toward — heavier, warmer scents in winter; fresher in summer
occasionNoThe setting

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds useful behavioral context by indicating that the result is a suggestion scored with community compliment, office-safety, and versatility data, which helps an agent set expectations about the output and recommendation logic.

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 a single front-loaded sentence with no filler, stating the purpose before listing input factors and examples. It is slightly dense with parenthetical examples, but every component contributes to tool selection and invocation.

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 suggestion tool with all parameters optional and well-covered by the schema, the description is sufficient: an agent knows what inputs matter and what kind of output to expect. There is no output schema, but 'a fragrance suggestion' plus the scoring basis covers the essentials for a first call.

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%, and the schema already documents gender and season with useful descriptions. The description reinforces mood, occasion, and season as inputs and adds occasion examples, but it does not add significant semantics beyond what the schema already provides.

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?

The description clearly identifies the resource ('a fragrance suggestion') and the situational basis (mood, occasion, season), so an agent can understand what the tool produces. It does not explicitly differentiate from the sibling get_recommendations, but the 'for right now' framing and scoring criteria provide enough distinction for a 4.

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 a clear context for use: selecting a fragrance for the current moment based on mood, occasion, and season, with concrete occasion examples. It does not name alternatives or exclusions, but the situational trigger is reasonably explicit and actionable.

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. 7 tool updates
    • Changedcompare_fragrances2 fields changed
      • addedInput schema / properties / fragrance_a / maxLength
        Added value: +200
      • addedInput schema / properties / fragrance_b / maxLength
        Added value: +200
    • Changedfind_dupes1 field changed
      • addedInput schema / properties / fragrance / maxLength
        Added value: +200
    • Changedfind_similar1 field changed
      • addedInput schema / properties / fragrance / maxLength
        Added value: +200
    • Changedget_fragrance1 field changed
      • addedInput schema / properties / slug_or_name / maxLength
        Added value: +200
    • Changedget_recommendations3 fields changed
      • addedInput schema / properties / occasion / maxLength
        Added value: +120
      • addedInput schema / properties / preferences / items / maxLength
        Added value: +60
      • addedInput schema / properties / preferences / maxItems
        Added value: +20
    • Changedsearch_fragrances3 fields changed
      • addedInput schema / properties / brand / maxLength
        Added value: +200
      • addedInput schema / properties / fragrance_family / maxLength
        Added value: +120
      • addedInput schema / properties / query / maxLength
        Added value: +120
    • Changedwhat_to_wear_tonight2 fields changed
      • addedInput schema / properties / mood / maxLength
        Added value: +120
      • addedInput schema / properties / occasion / maxLength
        Added value: +120
  2. 8 tool updates
    • First observedcompare_fragrances
    • First observedfind_dupes
    • First observedfind_similar
    • First observedget_fragrance
    • First observedget_recommendations
    • First observedsearch_fragrances
    • First observedtrending_fragrances
    • First observedwhat_to_wear_tonight

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables querying the Pour Picks bourbon & whiskey database with tools for search, bottle details, recommendations, comparisons, and trending, providing structured tasting profiles, prices, pairings, and ratings.
    8
    77
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search 7M+ newsletters and full-text archives, with subscriber numbers, contacts, social accounts, rankings, and audience data.
    12
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Search the AI Tool Directory catalog of 2,000+ AI tools — compare tools, find curated alternatives, and check whether a tool is still active, defunct, or acquired (backed by the AI Graveyard dataset).
    6
    11
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.