Marketingburos
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search and compare 2,000+ Dutch marketing agencies by specialism, city and cases. Never pay-to-rank.
| Author | nl.marketingburos |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 194 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Marketingburos": {
"url": "https://mcp.marketingburos.nl/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
search_agenciesSearch 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.
Parameters:
city— string — Exact office city of the agency. For 'near a city' use near_city + within_km instead.limit— integer — Max results (1-20, default 10).near_lat— number — Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km.near_lon— number — Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km.near_city— string — Center of a radius search: any Dutch city name. Requires within_km.within_km— number — 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— string — Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate.specialisms— array — 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— string — Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector.company_size_band— string — Size of the buyer's company (employees); matches agencies that target that segment.client_orientation— string — b2b or b2c focus of the agency.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
match_briefMatch 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).
Parameters:
brief(required) — string — The buyer's own words (NL or EN, 20-2000 chars). Pass the question, not a summary.city— string — Exact office city of the agency. For 'near a city' use near_city + within_km instead.limit— integer — Max results (1-20, default 10).near_lat— number — Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km.near_lon— number — Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km.near_city— string — Center of a radius search: any Dutch city name. Requires within_km.within_km— number — 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— string — Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate.target_industry— string — Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector.company_size_band— string — Size of the buyer's company (employees); matches agencies that target that segment.client_orientation— string — b2b or b2c focus of the agency.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
find_agencyLook 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.
Parameters:
city— string — Optional city to narrow candidates.name— string — Trade or statutory name (fuzzy), e.g. 'Yourcrew'. Provide name and/or domain.limit— integer — Max candidates (1-10, default 5).domain— string — Website domain, e.g. 'yourcrew.online'. Provide name and/or domain.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_agency_profileFetch 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.
Parameters:
slug(required) — string — Agency slug as returned by search_agencies or find_agency.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
submit_rfqSubmit 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.
Parameters:
specialisms(required) — array — 1-5 specialism slugs the buyer needs (see the categories://list resource).industry(required) — string — Buyer's industry (a value from categories://list doelgroep_options, or 'Anders').companySize(required) — string — Buyer's company size in employees.agencySize(required) — string — Preferred agency size in employees.specialistFullServiceSlider(required) — integer — 0 = full-service agency, 10 = niche specialist.culturalFit(required) — array — Three 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown.budgetBand(required) — string — Buyer's budget in EUR.timeline(required) — string — When the work should start.contactEmail(required) — string — Buyer's business e-mail (no disposable domains).contactName(required) — string — Buyer's full name.contactCompany(required) — string — Buyer's company name.selectedAgencySlugs(required) — array — 1-3 agency slugs (as returned by search_agencies or find_agency) the buyer wants to receive this RFQ.website— string — Leave empty. Anti-spam honeypot field.toelichting— string — Optional free-text brief for the agencies (Dutch or English).contactPhone— string — Optional phone number (digits, spaces, +, (), -).industryFreetext— string — Required only when industry is 'Anders': the buyer's industry in their own words.clientOrientation— string — Optional: does the buyer sell b2b, b2c or both.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.