Skip to main content
Glama

elc-partnership-builder

Price a one-off basket (authoritative total with the combo discount)

quote_reach_combo
Read-onlyIdempotent

Pass the one-off ids the visitor picked; returns each item's price, the list total, the combo discount by item count (job board listings never count), and the final total. This is the only arithmetic that counts — never add prices yourself. The AI-channel percentage does not apply to one-offs. Next: book_intro_call to lock the date, or get_partnership_options if the basket is starting to look like a year.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoOptional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer.
oneoff_idsNoRequired. One-off ids from get_reach_options One or more of: meetup-hosted, speaker-development, conference-main-stage, newsletter-dedicated, newsletter-section, dinner, podcast-episode, meetup-presence, survey, job-listing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"Required. One-off ids from get_reach_options One or more of: meetup-hosted, meetup-presence, newsletter-section, newsletter-dedicated, podcast-episode, dinner, survey, demo-session, webinar, linkedin-post, job-listing, speaker-development."New value: +"Required. One-off ids from get_reach_options One or more of: meetup-hosted, speaker-development, conference-main-stage, newsletter-dedicated, newsletter-section, dinner, podcast-episode, meetup-presence, survey, job-listing."
  2. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, webinar, linkedin-post, job-listing, speaker-development."New value: +"Required. One-off ids from get_reach_options One or more of: meetup-hosted, meetup-presence, newsletter-section, newsletter-dedicated, podcast-episode, dinner, survey, demo-session, webinar, linkedin-post, job-listing, speaker-development."
  3. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing, speaker-development."New value: +"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, webinar, linkedin-post, job-listing, speaker-development."
  4. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing."New value: +"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing, speaker-development."
  5. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing."New value: +"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing."
  6. Changed7 schema fields changed
    • changedInput schema / properties / context / description
      Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer."
    • addedInput schema / properties / oneoff_ids / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / oneoff_ids / description
      Previous value: -"One-off ids from get_reach_options"New value: +"Required. One-off ids from get_reach_options One or more of: meetup-presence, newsletter-section, newsletter-dedicated, meetup-hosted, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing."
    • removedInput schema / properties / oneoff_ids / items
      Removed value: -{
      -  "enum": [
      -    "meetup-presence",
      -    "newsletter-section",
      -    "newsletter-dedicated",
      -    "meetup-hosted",
      -    "podcast-episode",
      -    "dinner",
      -    "survey",
      -    "demo-session",
      -    "linkedin-post",
      -    "job-listing"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / oneoff_ids / minItems
      Removed value: -1
    • removedInput schema / properties / oneoff_ids / type
      Removed value: -"array"
    • removedInput schema / required
      Removed value: -[
      -  "oneoff_ids",
      -  "context"
      -]
  7. Changed1 schema field changed
    • changedInput schema / properties / oneoff_ids / items / enum
      Previous value: -[
      -  "newsletter-section",
      -  "newsletter-dedicated",
      -  "meetup-hosted",
      -  "podcast-episode",
      -  "dinner",
      -  "survey",
      -  "demo-session",
      -  "linkedin-post",
      -  "job-listing"
      -]New value: +[
      +  "meetup-presence",
      +  "newsletter-section",
      +  "newsletter-dedicated",
      +  "meetup-hosted",
      +  "podcast-episode",
      +  "dinner",
      +  "survey",
      +  "demo-session",
      +  "linkedin-post",
      +  "job-listing"
      +]
  8. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish this is a safe, idempotent read (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower, yet the description still adds real rules: the combo discount is keyed to item count, job board listings never count toward it, and the AI-channel percentage does not apply. These are non-obvious pricing semantics that the annotations cannot convey.

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?

Four sentences, each carrying distinct information (action + return shape, arithmetic authority, discount exclusion, next step), with the core action front-loaded. It is dense but not padded; the only slight cost is the run-on feel of the opening sentence.

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?

With no output schema, the description takes on the burden of describing the return shape and does so (per-item price, list total, discount, final total). Combined with the discount exclusions, the authoritative-arithmetic warning, and next-step routing, an agent has everything needed to call it and interpret the result.

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 are already documented in the schema, including the enumerated one-off id values and the purpose of the context field. The description only restates that the ids come from get_reach_options and are 'the one-off ids the visitor picked,' adding marginal meaning 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?

Names a specific verb and resource ('quote a one-off basket') and enumerates exactly what it returns (per-item price, list total, combo discount, final total). It is clearly distinguishable from pricing-adjacent siblings like fit_to_budget and match_package because it is scoped to one-off ids and the combo discount rule.

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?

Gives a clear trigger ('Pass the one-off ids the visitor picked') and strong process guidance ('This is the only arithmetic that counts — never add prices yourself'), plus explicit next-step routing to book_intro_call or get_partnership_options. It does not say when to prefer a sibling pricing tool instead, so it stops short of full when/when-not coverage.

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.