Marketingburos
Server Details
Search and compare 2,000+ Dutch marketing agencies by specialism, city and cases. Never pay-to-rank.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose, and the descriptions explicitly resolve the two potential overlaps: find_agency vs search_agencies (single lookup vs ranked criteria search) and match_brief vs search_agencies (infer specialisms from a brief vs use known specialisms). An agent can confidently pick the right tool in every case.
All five tools follow a consistent snake_case verb_noun pattern (find_agency, get_agency_profile, match_brief, search_agencies, submit_rfq). Verb choices are semantically appropriate and no conventions are mixed.
Five tools map cleanly onto the core workflow: lookup, profile, search, brief matching, and RFQ submission. Each earns its place with no redundancy; valid category values are exposed via a resource rather than an extra tool.
The buyer-to-agency matching lifecycle is well covered, including RFQ submission with detailed error handling. Minor gaps exist around RFQ lifecycle management (status check, cancellation) and any agency-side or follow-up operations, which agents cannot perform through tools.
Available Tools
5 toolsfind_agencyAInspect
Look up one specific agency by trade name, statutory name or domain (e.g. name='Yourcrew' or domain='yourcrew.online') to get its slug for get_agency_profile. Returns up to 10 candidates with public trade name (name), legal_name when the statutory name differs, city and domain. Returns isError with {error:'invalid_input'} when neither name nor domain is given. For ranked agency recommendations by criteria use search_agencies.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Optional city to narrow candidates. | |
| name | No | Trade or statutory name (fuzzy), e.g. 'Yourcrew'. Provide name and/or domain. | |
| limit | No | Max candidates (1-10, default 5). | |
| domain | No | Website domain, e.g. 'yourcrew.online'. Provide name and/or domain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does most of it: it discloses the result cardinality (up to 10 candidates), the returned fields (name, legal_name, city, domain), and the exact error contract (isError with {error:'invalid_input'} when neither name nor domain is given). It omits any note on auth, rate limits, or fuzziness threshold, so it stops short of a 5.
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?
Front-loads the core action and examples, then layers the return shape, error case, and sibling routing in descending priority. Dense but every sentence carries distinct, actionable information with no filler.
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?
No output schema exists, yet the description enumerates the returned fields and cardinality, and it documents the failure mode and the alternative tool. For a 4-parameter lookup with zero required params, nothing an agent needs to call it correctly 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?
Schema coverage is 100%, so baseline is 3, and the description adds real value beyond it: inline usage examples for name and domain and the at-least-one-of constraint that drives the error path. It never mentions city or limit semantics, which the schema handles, so it does not fully compensate but does exceed 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?
States a specific verb and resource ('Look up one specific agency') plus the exact identifiers accepted (trade name, statutory name, domain) and the concrete outcome (slug for get_agency_profile). It also explicitly separates itself from search_agencies, so an agent can pick correctly without opening schemas.
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?
Gives the positive condition (you have a name or domain and want the slug), the downstream tool to use it with (get_agency_profile), and the exclusion plus named alternative ('For ranked agency recommendations by criteria use search_agencies'). When-not guidance is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agency_profileAInspect
Fetch the full public profile of one marketing agency by slug (from search_agencies or find_agency). Includes specialisms, cultural-fit axes and up to 3 cases; cultural-fit and cases are read-only (Knowledge-OS canonical). Returns isError with {error:'not_found'} when the slug does not exist or the agency opted out of MCP.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Agency slug as returned by search_agencies or find_agency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it scopes the returned content (specialisms, cultural-fit axes, up to 3 cases), flags cultural-fit and cases as read-only canonical data, and documents the not_found error shape including the opt-out case. Auth requirements and rate limits are not covered, keeping it from a 5.
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?
Three tight clauses: purpose, returned fields with read-only status, then error behavior. Everything is front-loaded and no sentence is filler.
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?
With no output schema or annotations, the description still conveys the payload contents and the failure mode, which is what an agent needs to call and interpret this tool. It stops short of a full return-shape description, so not a 5.
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 documents slug as coming from search_agencies or find_agency. The description restates that origin and adds the 120-char constraint context only implicitly, so it adds little beyond the schema—baseline 3 is appropriate.
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?
States a specific verb and resource ('Fetch the full public profile of one marketing agency by slug') and makes clear it operates on a single agency identified by slug, which separates it from the list-oriented search_agencies and find_agency siblings.
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?
Points to search_agencies and find_agency as the source of the slug, which implies the correct call sequence. It does not explicitly say when to prefer this over those siblings, but the prerequisite chain is clear enough for an agent to act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_briefAInspect
Match a buyer's own question to Dutch marketing agencies. When the buyer already knows the required specialisms, prefer search_agencies with those specialisms; use match_brief when they need to be inferred from the brief. Pass the brief in the buyer's words (NL or EN, 20-2000 chars), optionally with the same hard filters as search_agencies (city, near_city + within_km, target_industry, client_orientation, company_size_band, budget_band). The brief is redacted for personal data first and never stored; a call takes a few seconds. Returns up to 20 ranked agencies (slug, name, 1-line Dutch rationale, via: specialism | brief | both) and interpreted: the specialisms and working style read from the brief, plus a follow-up question when the brief is unclear. Show interpreted to the buyer; if it is wrong, call search_agencies with explicit specialisms. Ranking ignores what an agency pays (never pay-to-rank).
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact office city of the agency. For 'near a city' use near_city + within_km instead. | |
| brief | Yes | The buyer's own words (NL or EN, 20-2000 chars). Pass the question, not a summary. | |
| limit | No | Max results (1-20, default 10). | |
| near_lat | No | Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km. | |
| near_lon | No | Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km. | |
| near_city | No | Center of a radius search: any Dutch city name. Requires within_km. | |
| within_km | No | Radius in kilometres around near_city or near_lat/near_lon (max 250). Ignored without an origin; near_* is ignored without within_km. | |
| budget_band | No | Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate. | |
| target_industry | No | Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector. | |
| company_size_band | No | Size of the buyer's company (employees); matches agencies that target that segment. | |
| client_orientation | No | b2b or b2c focus of the agency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers: brief is redacted for personal data before processing, never stored, latency of a few seconds, ranking is non-pay-to-rank. It also discloses the return shape and the `interpreted` field, exceeding typical disclosure for an unannotated tool.
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?
Dense but front-loaded: purpose first, then the routing rule, then input constraints, then behavior and return format. Slightly long, but nearly every clause adds actionable information.
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?
No output schema exists, and the description fully covers returns (up to 20 ranked agencies with slug, name, Dutch rationale, via) plus the important `interpreted` field and how to surface it to the buyer. Nothing material for correct invocation 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?
Schema coverage is 100%, so the baseline is 3 and the schema already documents every parameter. The description adds framing (brief in buyer's words, NL/EN, 20-2000 chars; the optional hard filters as a group) but no syntax or semantics beyond what the schema states. It omits near_lat/near_lon and limit entirely.
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?
States a specific verb and resource ('Match a buyer's own question to Dutch marketing agencies') with clear scope. It also explicitly differentiates from the sibling search_agencies, so an agent can tell them apart without opening a schema.
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?
Gives an explicit rule: prefer search_agencies when specialisms are known, use match_brief when they must be inferred from the brief. It also gives a recovery path ('if it is wrong, call search_agencies with explicit specialisms'), covering when-to-use, when-not, and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agenciesAInspect
Search Dutch marketing agencies by specialisms, target_industry (the client vertical the agency serves), city, B2B/B2C, company size, budget band and an optional radius (near_city = any Dutch city, or near_lat/near_lon, always combined with within_km in kilometres). specialisms filters against the taxonomy; a term outside it is mapped to the nearest specialism when the match is clear (shown in filters.specialisms.interpreted_as), otherwise echoed in filters.specialisms.unmatched (all unknown → 0 results + hint). budget_band only excludes agencies with a known conflicting rate (see filters.budget_band.note). target_industry matches the sectors an agency is known to serve; when fewer than 5 agencies match it, the list is filled with agencies that meet the other filters, the response says relaxed: ['target_industry'], and the first strictMatched results match every filter. Returns up to 20 ranked agencies with slug (use in get_agency_profile), public trade name (name, plus legal_name when the statutory name differs), a 1-line rationale in Dutch, and totalMatched (hits before the limit). Ranking ignores what an agency pays (never pay-to-rank). Read the categories://list resource for valid values.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact office city of the agency. For 'near a city' use near_city + within_km instead. | |
| limit | No | Max results (1-20, default 10). | |
| near_lat | No | Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km. | |
| near_lon | No | Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km. | |
| near_city | No | Center of a radius search: any Dutch city name. Requires within_km. | |
| within_km | No | Radius in kilometres around near_city or near_lat/near_lon (max 250). Ignored without an origin; near_* is ignored without within_km. | |
| budget_band | No | Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate. | |
| specialisms | No | Up to 5 specialism slugs from categories://list (e.g. 'seo', 'branding'). A term outside the taxonomy is mapped to the nearest specialism when the match is clear (filters.specialisms.interpreted_as), otherwise echoed back in filters.specialisms.unmatched. | |
| target_industry | No | Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector. | |
| company_size_band | No | Size of the buyer's company (employees); matches agencies that target that segment. | |
| client_orientation | No | b2b or b2c focus of the agency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the relaxation mechanism (relaxed: ['target_industry'], first strictMatched results are strict), that budget_band only excludes known conflicting rates, that unmatched specialisms produce 0 results with a hint, that ranking is never pay-to-rank, and that results cap at 20 with totalMatched before the limit. These are non-obvious behaviors an agent could not infer from the schema.
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?
Front-loaded with purpose before the filter mechanics, and almost every clause carries information (relaxation, ranking, result shape). It is dense and long for a tool description, with some parenthetical nesting that slows reading, but there is little filler to cut.
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?
There is no output schema, so the description must describe returns — and it does: up to 20 ranked agencies with slug, trade name, optional legal_name, Dutch rationale, and totalMatched. Combined with the disclosed relaxation and fallback behaviors, an agent has everything needed to call this correctly and interpret the response.
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 already 100%, so the baseline is 3; the description goes beyond it by explaining the specialism interpretation pipeline (interpreted_as vs unmatched), that target_industry is the client vertical rather than the agency's own sector, and that radius inputs are only meaningful combined with within_km. These add real semantic value, though some points restate what the schema already says.
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?
Opens with a specific verb and resource ('Search Dutch marketing agencies') and enumerates the filter dimensions in the same sentence, so an agent immediately knows this is the multi-criteria discovery tool. It is clearly distinct from get_agency_profile (named as the follow-up consumer of `slug`) and from the other siblings, which are not search tools.
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?
Establishes clear usage context: filtering by specialism/industry/city/B2B-B2C/size/budget/radius, with a pointer to categories://list for valid values and to get_agency_profile for per-agency detail. It never explicitly states when to prefer this over find_agency, so the routing to the closest sibling is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_rfqAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| website | No | Leave empty. Anti-spam honeypot field. | |
| industry | Yes | Buyer's industry (a value from categories://list doelgroep_options, or 'Anders'). | |
| timeline | Yes | When the work should start. | |
| agencySize | Yes | Preferred agency size in employees. | |
| budgetBand | Yes | Buyer's budget in EUR. | |
| companySize | Yes | Buyer's company size in employees. | |
| contactName | Yes | Buyer's full name. | |
| culturalFit | Yes | Three 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown. | |
| specialisms | Yes | 1-5 specialism slugs the buyer needs (see the categories://list resource). | |
| toelichting | No | Optional free-text brief for the agencies (Dutch or English). | |
| contactEmail | Yes | Buyer's business e-mail (no disposable domains). | |
| contactPhone | No | Optional phone number (digits, spaces, +, (), -). | |
| contactCompany | Yes | Buyer's company name. | |
| industryFreetext | No | Required only when industry is 'Anders': the buyer's industry in their own words. | |
| clientOrientation | No | Optional: does the buyer sell b2b, b2c or both. | |
| selectedAgencySlugs | Yes | 1-3 agency slugs (as returned by search_agencies or find_agency) the buyer wants to receive this RFQ. | |
| specialistFullServiceSlider | Yes | 0 = full-service agency, 10 = niche specialist. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: the key non-obvious trait is disclosed ('Nothing is sent to agencies automatically: the RFQ is queued and a human operator releases it'), along with skip-vs-error semantics and a named error taxonomy including IP/e-mail rate limits with resetAt. Remaining gaps are idempotency/duplicate-submission behavior and what happens to the buyer's contact data, which matter for a 17-param mutation.
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?
One dense paragraph, correctly front-loaded with purpose and the crucial 'not sent automatically' caveat before the return shape and error list. The trailing error-code enumeration is long and includes a slightly loose '...' in the profile listing, but each element conveys actionable information.
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 17-parameter mutation with no output schema and no annotations, the description supplies the missing pieces: the success payload shape ({rfqId, queuedAgencySlugs, notMatchableSlugs}), the partial-success rule, and enumerated failure modes. An agent can call it and interpret the result without further context.
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 description coverage is 100%, so the schema already documents all 17 parameters, establishing a baseline of 3. The description adds only the wizard-profile grouping and the source of selectedAgencySlugs, plus the cross-field rule that an out-of-pool slug is skipped rather than failing — useful but marginal on top of a fully documented schema.
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?
States a specific verb and resource ('Submit a Request For Quote') plus the target (1-3 selected marketing agencies) and the channel (marketingburos.nl). It also implicitly distinguishes itself from the search siblings by naming search_agencies/find_agency as the source of the slugs, so an agent knows this is the terminal action in that workflow.
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?
Clear context: requires slugs produced by search_agencies or find_agency, 1-3 agencies, and it explains the not-matchable fallback ('unless none remain'). It does not, however, say when to prefer this over the sibling match_brief or what to do after success, so there is no explicit exclusion set.
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.
5 tool updates
- Changed
find_agency1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
get_agency_profile1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
match_brief1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
search_agencies1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
submit_rfq4 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - added
Input schema / properties / contactEmail / patternAdded value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" - changed
Input schema / properties / culturalFit / itemsPrevious value: -[ - { - "maximum": 10, - "minimum": 0, - "type": "number" - }, - { - "maximum": 10, - "minimum": 0, - "type": "number" - }, - { - "maximum": 10, - "minimum": 0, - "type": "number" - } -]New value: +false - added
Input schema / properties / culturalFit / prefixItemsAdded value: +[ + { + "maximum": 10, + "minimum": 0, + "type": "number" + }, + { + "maximum": 10, + "minimum": 0, + "type": "number" + }, + { + "maximum": 10, + "minimum": 0, + "type": "number" + } +]
1 tool update
- Added
match_brief
1 tool update
- Changed
search_agencies1 field changed- changed
Input schema / properties / specialisms / descriptionPrevious value: -"Up to 5 specialism slugs from categories://list (e.g. 'seo', 'branding'). Unknown terms are echoed back in filters.specialisms.unmatched."New value: +"Up to 5 specialism slugs from categories://list (e.g. 'seo', 'branding'). A term outside the taxonomy is mapped to the nearest specialism when the match is clear (filters.specialisms.interpreted_as), otherwise echoed back in filters.specialisms.unmatched."
4 tool updates
- Changed
find_agency5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / city / descriptionAdded value: +"Optional city to narrow candidates." - added
Input schema / properties / domain / descriptionAdded value: +"Website domain, e.g. 'yourcrew.online'. Provide name and/or domain." - added
Input schema / properties / limit / descriptionAdded value: +"Max candidates (1-10, default 5)." - added
Input schema / properties / name / descriptionAdded value: +"Trade or statutory name (fuzzy), e.g. 'Yourcrew'. Provide name and/or domain."
- Changed
get_agency_profile2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / slug / descriptionAdded value: +"Agency slug as returned by search_agencies or find_agency."
- Changed
search_agencies12 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / budget_band / descriptionAdded value: +"Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate." - added
Input schema / properties / city / descriptionAdded value: +"Exact office city of the agency. For 'near a city' use near_city + within_km instead." - added
Input schema / properties / client_orientation / descriptionAdded value: +"b2b or b2c focus of the agency." - added
Input schema / properties / company_size_band / descriptionAdded value: +"Size of the buyer's company (employees); matches agencies that target that segment." - added
Input schema / properties / limit / descriptionAdded value: +"Max results (1-20, default 10)." - added
Input schema / properties / near_city / descriptionAdded value: +"Center of a radius search: any Dutch city name. Requires within_km." - added
Input schema / properties / near_lat / descriptionAdded value: +"Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km." - added
Input schema / properties / near_lon / descriptionAdded value: +"Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km." - added
Input schema / properties / specialisms / descriptionAdded value: +"Up to 5 specialism slugs from categories://list (e.g. 'seo', 'branding'). Unknown terms are echoed back in filters.specialisms.unmatched." - added
Input schema / properties / target_industry / descriptionAdded value: +"Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector." - added
Input schema / properties / within_km / descriptionAdded value: +"Radius in kilometres around near_city or near_lat/near_lon (max 250). Ignored without an origin; near_* is ignored without within_km."
- Changed
submit_rfq20 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / agencySize / descriptionAdded value: +"Preferred agency size in employees." - added
Input schema / properties / budgetBand / descriptionAdded value: +"Buyer's budget in EUR." - added
Input schema / properties / clientOrientation / descriptionAdded value: +"Optional: does the buyer sell b2b, b2c or both." - added
Input schema / properties / companySize / descriptionAdded value: +"Buyer's company size in employees." - added
Input schema / properties / contactCompany / descriptionAdded value: +"Buyer's company name." - added
Input schema / properties / contactEmail / descriptionAdded value: +"Buyer's business e-mail (no disposable domains)." - added
Input schema / properties / contactName / descriptionAdded value: +"Buyer's full name." - added
Input schema / properties / contactPhone / descriptionAdded value: +"Optional phone number (digits, spaces, +, (), -)." - added
Input schema / properties / culturalFit / descriptionAdded value: +"Three 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown." - added
Input schema / properties / industry / descriptionAdded value: +"Buyer's industry (a value from categories://list doelgroep_options, or 'Anders')." - added
Input schema / properties / industryFreetext / descriptionAdded value: +"Required only when industry is 'Anders': the buyer's industry in their own words." - removed
Input schema / properties / selectedAgencyIdsRemoved value: -{ - "items": { - "format": "uuid", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array" -} - added
Input schema / properties / selectedAgencySlugsAdded 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" +} - added
Input schema / properties / specialisms / descriptionAdded value: +"1-5 specialism slugs the buyer needs (see the categories://list resource)." - added
Input schema / properties / specialistFullServiceSlider / descriptionAdded value: +"0 = full-service agency, 10 = niche specialist." - added
Input schema / properties / timeline / descriptionAdded value: +"When the work should start." - added
Input schema / properties / toelichting / descriptionAdded value: +"Optional free-text brief for the agencies (Dutch or English)." - added
Input schema / properties / website / descriptionAdded value: +"Leave empty. Anti-spam honeypot field." - changed
Input schema / requiredPrevious 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" +]
4 tool updates
- First observed
find_agency - First observed
get_agency_profile - First observed
search_agencies - First observed
submit_rfq
Related MCP Connectors
Evidence-based agency rankings for Ecom, Legal, SaaS, Finance and Service, plus a work library.
Search 47,000+ marketing agencies and get AI-matched with fitted agencies, from Pick an Agency.
Find agencies worldwide by service and location, with editorial ratings and contact details.
Search 960+ evidence-checked AI automation agencies by need, tool, country and budget.
Related MCP Servers
- AlicenseAqualityCmaintenanceSearch 47,000+ marketing agencies and get AI-matched with fitted agencies, from Pick an Agency.32MIT
- FlicenseNot gradedqualityCmaintenanceEnables searching and filtering a catalogue of Dutch websites for backlinks, checking domain metrics and prices, confirming and placing one prepaid order, and tracking it until the link is live.-
- AlicenseNot gradedqualityDmaintenanceSearch PR agencies, browse publications, buy press release distribution & media placements. Zero-config, no API key needed.7 npmMIT
- AlicenseNot gradedqualityDmaintenanceA search engine for AI agents that enables searching, comparing, and discovering over 500 businesses across 112 categories with structured pricing data. It allows users to filter listings by price, category, and country to find and analyze specific business services.5 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.