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-presence, newsletter-section, newsletter-dedicated, meetup-hosted, meetup-signature, podcast-episode, dinner, survey, demo-session, linkedin-post, 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-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."
  2. 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"
      -]
  3. 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"
      +]
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses concrete business behavior: combo discount is by item count, job board listings never count, and the AI-channel percentage does not apply to one-offs. The authoritative-total warning ('never add prices yourself') is useful operational guidance.

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?

Three front-loaded sentences cover action, outputs, business rules, and next steps without repeating schema fields. Every sentence earns its place.

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 carries the responsibility for return-value shape and does so explicitly: item prices, list total, combo discount, final total. It also covers the notable exclusions and follow-up tools, so an agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by telling the agent to pass the ids the visitor picked and by flagging that job-listing ids are valid but excluded from the discount. It does not need to restate the schema's parameter list.

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?

Title and description name a specific verb ('Price') and resource ('one-off basket'), and the description states the exact outputs: per-item price, list total, combo discount, and final total. It also marks itself as 'the only arithmetic that counts', which separates its role from any other pricing tool.

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 clear context—use it when pricing the one-off ids a visitor picked—and tells the agent not to do its own arithmetic. It suggests book_intro_call next and routes to get_partnership_options for a year-long basket, though the condition 'starting to look like a year' is less explicit than a crisp when-not rule.

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.