Skip to main content
Glama

Marketingburos

submit_rfq

Submit a Request For Quote (RFQ) on behalf of a buyer to 1-3 selected marketing agencies via marketingburos.nl. Input is the v1 wizard profile (specialisms, industry, company size, budget, timeline, ...) plus contact details and selectedAgencySlugs (slugs from search_agencies or find_agency). Nothing is sent to agencies automatically: the RFQ is queued and a human operator releases it. Success returns {rfqId, queuedAgencySlugs, notMatchableSlugs}: a selected agency that is not in the match pool for this buyer profile is skipped (listed in notMatchableSlugs), not an error, unless none remain. Failures return isError with one of: invalid_input (with issues[]), unknown_agency (with slugs[] that do not exist or cannot be contacted), rate_limit_ip / rate_limit_email (resetAt included when raised by this server), invalid / invalid_email / disposable_email (upstream validation), no_selection (no selected agency is in the match pool), upstream_failure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
websiteNoLeave empty. Anti-spam honeypot field.
industryYesBuyer's industry (a value from categories://list doelgroep_options, or 'Anders').
timelineYesWhen the work should start.
agencySizeYesPreferred agency size in employees.
budgetBandYesBuyer's budget in EUR.
companySizeYesBuyer's company size in employees.
contactNameYesBuyer's full name.
culturalFitYesThree 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown.
specialismsYes1-5 specialism slugs the buyer needs (see the categories://list resource).
toelichtingNoOptional free-text brief for the agencies (Dutch or English).
contactEmailYesBuyer's business e-mail (no disposable domains).
contactPhoneNoOptional phone number (digits, spaces, +, (), -).
contactCompanyYesBuyer's company name.
industryFreetextNoRequired only when industry is 'Anders': the buyer's industry in their own words.
clientOrientationNoOptional: does the buyer sell b2b, b2c or both.
selectedAgencySlugsYes1-3 agency slugs (as returned by search_agencies or find_agency) the buyer wants to receive this RFQ.
specialistFullServiceSliderYes0 = full-service agency, 10 = niche specialist.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / agencySize / description
      Added value: +"Preferred agency size in employees."
    • addedInput schema / properties / budgetBand / description
      Added value: +"Buyer's budget in EUR."
    • addedInput schema / properties / clientOrientation / description
      Added value: +"Optional: does the buyer sell b2b, b2c or both."
    • addedInput schema / properties / companySize / description
      Added value: +"Buyer's company size in employees."
    • addedInput schema / properties / contactCompany / description
      Added value: +"Buyer's company name."
    • addedInput schema / properties / contactEmail / description
      Added value: +"Buyer's business e-mail (no disposable domains)."
    • addedInput schema / properties / contactName / description
      Added value: +"Buyer's full name."
    • addedInput schema / properties / contactPhone / description
      Added value: +"Optional phone number (digits, spaces, +, (), -)."
    • addedInput schema / properties / culturalFit / description
      Added value: +"Three 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown."
    • addedInput schema / properties / industry / description
      Added value: +"Buyer's industry (a value from categories://list doelgroep_options, or 'Anders')."
    • addedInput schema / properties / industryFreetext / description
      Added value: +"Required only when industry is 'Anders': the buyer's industry in their own words."
    • removedInput schema / properties / selectedAgencyIds
      Removed value: -{
      -  "items": {
      -    "format": "uuid",
      -    "type": "string"
      -  },
      -  "maxItems": 3,
      -  "minItems": 1,
      -  "type": "array"
      -}
    • addedInput schema / properties / selectedAgencySlugs
      Added value: +{
      +  "description": "1-3 agency slugs (as returned by search_agencies or find_agency) the buyer wants to receive this RFQ.",
      +  "items": {
      +    "maxLength": 120,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 3,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / specialisms / description
      Added value: +"1-5 specialism slugs the buyer needs (see the categories://list resource)."
    • addedInput schema / properties / specialistFullServiceSlider / description
      Added value: +"0 = full-service agency, 10 = niche specialist."
    • addedInput schema / properties / timeline / description
      Added value: +"When the work should start."
    • addedInput schema / properties / toelichting / description
      Added value: +"Optional free-text brief for the agencies (Dutch or English)."
    • addedInput schema / properties / website / description
      Added value: +"Leave empty. Anti-spam honeypot field."
    • changedInput schema / required
      Previous value: -[
      -  "specialisms",
      -  "industry",
      -  "companySize",
      -  "agencySize",
      -  "specialistFullServiceSlider",
      -  "culturalFit",
      -  "budgetBand",
      -  "timeline",
      -  "contactEmail",
      -  "contactName",
      -  "contactCompany",
      -  "selectedAgencyIds"
      -]New value: +[
      +  "specialisms",
      +  "industry",
      +  "companySize",
      +  "agencySize",
      +  "specialistFullServiceSlider",
      +  "culturalFit",
      +  "budgetBand",
      +  "timeline",
      +  "contactEmail",
      +  "contactName",
      +  "contactCompany",
      +  "selectedAgencySlugs"
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full disclosure burden. It openly states that nothing is sent automatically and that the RFQ is queued for a human operator. It details the success return structure ({rfqId, queuedAgencySlugs, notMatchableSlugs}) and explains that not-matching agencies are skipped rather than causing errors, unless none remain. It enumerates all failure modes with specific payloads (issues[], slugs[], resetAt) and even clarifies the honeypot field via the schema (though not in description—but the behavior is fully covered). This is exceptionally transparent about side effects and error conditions.

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 a single dense paragraph but is exceptionally well-structured. It front-loads the core purpose, then explains queuing behavior, success returns, and failure modes in a logical order. Every sentence adds critical information — there is no fluff or repetition. The use of semicolons and lists keeps it readable despite its length.

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?

Given 17 parameters (12 required), no output schema, and no annotations, the description covers what an agent needs to know: the success return shape, the not-matchable behavior, and all error paths with their associated payloads. It also ties in the prerequisite of agency slugs from sibling tools. It does not duplicate schema details, and it explains the queued/human-release nature which is critical for expectation setting. Nothing essential is missing for correct invocation and interpretation of results.

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 has 100% description coverage, so the baseline is 3. The description adds a high-level grouping ('v1 wizard profile') and references that selectedAgencySlugs come from sibling tools, but it does not add new meaning beyond what each parameter's schema description already provides. It does not clarify any nuanced formats or interactions beyond the schema, so it stays at the baseline.

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 verb ('Submit a Request For Quote'), a clear resource (RFQ to 1-3 agencies via marketingburos.nl), and defines the scope (on behalf of a buyer). It also distinguishes from siblings by noting the input is the wizard profile plus slugs from search_agencies or find_agency, making clear this is the submission step, not discovery. The queuing behavior is also stated, which reinforces the purpose.

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?

It explains that input requires selectedAgencySlugs from search_agencies or find_agency, implicitly instructing the agent to use those tools first. It also states that nothing is sent automatically and a human operator releases it, giving context on when this is appropriate. However, it does not explicitly say 'use this only when...' or name alternative tools for other actions, so it falls short of explicit when-not guidance, but the indirect routing is clear.

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.

Resources