Marketingburos
Search and compare 2,000+ Dutch marketing agencies by specialism, city and cases. Never pay-to-rank.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"marketingburos": {
"url": "https://mcp.marketingburos.nl/mcp"
}
}
}Puntos de conexión remotos
https://mcp.marketingburos.nl/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🔴search_agencies(specialisms, target_industry, city, client_orientation, company_size_band, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"specialisms": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"maxItems": 5,
"description": "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": {
"type": "string",
"enum": [
"B2B SaaS",
"Bouw & vastgoed",
"E-commerce",
"Financiële dienstverlening",
"Gezondheidszorg",
"Industrie & maakindustrie",
"Logistiek & transport",
"Media & uitgeverij",
"Non-profit & overheid",
"Onderwijs",
"Professional services",
"Reizen & toerisme",
"Retail & consumer",
"Tech & IT-services",
"Telecom & utilities",
"Anders"
],
"description": "Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector."
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Exact office city of the agency. For 'near a city' use near_city + within_km instead."
},
"client_orientation": {
"type": "string",
"enum": [
"b2b",
"b2c"
],
"description": "b2b or b2c focus of the agency."
},
"company_size_band": {
"type": "string",
"enum": [
"1-10",
"11-50",
"51-200",
"201-500",
"500+"
],
"description": "Size of the buyer's company (employees); matches agencies that target that segment."
},
"budget_band": {
"type": "string",
"enum": [
"<10k",
"10k-25k",
"25k-50k",
"50k-100k",
"100k+"
],
"description": "Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate."
},
"near_city": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Center of a radius search: any Dutch city name. Requires within_km."
},
"near_lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km."
},
"near_lon": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km."
},
"within_km": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 250,
"description": "Radius in kilometres around near_city or near_lat/near_lon (max 250). Ignored without an origin; near_* is ignored without within_km."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Max results (1-20, default 10)."
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢match_brief(brief, target_industry, city, client_orientation, company_size_band, ...)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"brief": {
"type": "string",
"minLength": 20,
"maxLength": 2000,
"description": "The buyer's own words (NL or EN, 20-2000 chars). Pass the question, not a summary."
},
"target_industry": {
"type": "string",
"enum": [
"B2B SaaS",
"Bouw & vastgoed",
"E-commerce",
"Financiële dienstverlening",
"Gezondheidszorg",
"Industrie & maakindustrie",
"Logistiek & transport",
"Media & uitgeverij",
"Non-profit & overheid",
"Onderwijs",
"Professional services",
"Reizen & toerisme",
"Retail & consumer",
"Tech & IT-services",
"Telecom & utilities",
"Anders"
],
"description": "Client vertical the agency serves (e.g. the buyer's own industry). Not the agency's own sector."
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Exact office city of the agency. For 'near a city' use near_city + within_km instead."
},
"client_orientation": {
"type": "string",
"enum": [
"b2b",
"b2c"
],
"description": "b2b or b2c focus of the agency."
},
"company_size_band": {
"type": "string",
"enum": [
"1-10",
"11-50",
"51-200",
"201-500",
"500+"
],
"description": "Size of the buyer's company (employees); matches agencies that target that segment."
},
"budget_band": {
"type": "string",
"enum": [
"<10k",
"10k-25k",
"25k-50k",
"50k-100k",
"100k+"
],
"description": "Buyer's budget in EUR. Only excludes agencies whose known rates conflict; most agencies have no known rate."
},
"near_city": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Center of a radius search: any Dutch city name. Requires within_km."
},
"near_lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Center latitude of a radius search (alternative to near_city). Requires near_lon + within_km."
},
"near_lon": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Center longitude of a radius search (alternative to near_city). Requires near_lat + within_km."
},
"within_km": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 250,
"description": "Radius in kilometres around near_city or near_lat/near_lon (max 250). Ignored without an origin; near_* is ignored without within_km."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Max results (1-20, default 10)."
}
},
"required": [
"brief"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_agency(name, domain, city, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 160,
"description": "Trade or statutory name (fuzzy), e.g. 'Yourcrew'. Provide name and/or domain."
},
"domain": {
"type": "string",
"minLength": 4,
"maxLength": 160,
"description": "Website domain, e.g. 'yourcrew.online'. Provide name and/or domain."
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Optional city to narrow candidates."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Max candidates (1-10, default 5)."
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_agency_profile(slug)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Agency slug as returned by search_agencies or find_agency."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_rfq(specialisms, industry, industryFreetext, companySize, clientOrientation, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"specialisms": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 5,
"description": "1-5 specialism slugs the buyer needs (see the categories://list resource)."
},
"industry": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Buyer's industry (a value from categories://list doelgroep_options, or 'Anders')."
},
"industryFreetext": {
"type": "string",
"maxLength": 80,
"description": "Required only when industry is 'Anders': the buyer's industry in their own words."
},
"companySize": {
"type": "string",
"enum": [
"1-10",
"11-50",
"51-200",
"201-500",
"500+",
"geen-voorkeur"
],
"description": "Buyer's company size in employees."
},
"clientOrientation": {
"type": "string",
"enum": [
"b2b",
"b2c",
"both",
"geen-voorkeur"
],
"description": "Optional: does the buyer sell b2b, b2c or both."
},
"agencySize": {
"type": "string",
"enum": [
"1-9",
"10-49",
"50-249",
"250+",
"geen-voorkeur"
],
"description": "Preferred agency size in employees."
},
"specialistFullServiceSlider": {
"type": "integer",
"minimum": 0,
"maximum": 10,
"description": "0 = full-service agency, 10 = niche specialist."
},
"culturalFit": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": [
{
"type": "number",
"minimum": 0,
"maximum": 10
},
{
"type": "number",
"minimum": 0,
"maximum": 10
},
{
"type": "number",
"minimum": 0,
"maximum": 10
}
],
"description": "Three 0-10 sliders: [data-driven, specialist, hands-on]. Use [5,5,5] when unknown."
},
"budgetBand": {
"type": "string",
"enum": [
"<10k",
"10k-25k",
"25k-50k",
"50k-100k",
"100k+"
],
"description": "Buyer's budget in EUR."
},
"timeline": {
"type": "string",
"enum": [
"asap",
"1-3mnd",
"3-6mnd",
"flexibel"
],
"description": "When the work should start."
},
"contactEmail": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Buyer's business e-mail (no disposable domains)."
},
"contactName": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Buyer's full name."
},
"contactCompany": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Buyer's company name."
},
"contactPhone": {
"type": "string",
"maxLength": 40,
"pattern": "^[\\d\\s()+-]*$",
"description": "Optional phone number (digits, spaces, +, (), -)."
},
"toelichting": {
"type": "string",
"maxLength": 2000,
"description": "Optional free-text brief for the agencies (Dutch or English)."
},
"selectedAgencySlugs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"minItems": 1,
"maxItems": 3,
"description": "1-3 agency slugs (as returned by search_agencies or find_agency) the buyer wants to receive this RFQ."
},
"website": {
"type": "string",
"maxLength": 500,
"description": "Leave empty. Anti-spam honeypot field."
}
},
"required": [
"specialisms",
"industry",
"companySize",
"agencySize",
"specialistFullServiceSlider",
"culturalFit",
"budgetBand",
"timeline",
"contactEmail",
"contactName",
"contactCompany",
"selectedAgencySlugs"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Prompts recomendados
search_agenciessearch_agenciesget_agency_profileget_agency_profilesearch_agenciesget_agency_profileComunidad
Evidencia