Sonar Connections
Qué hace este MCP
Provides business details, appointment availability, menus and pickup times, event schedules, venue booths, city datasets, and GIS records.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD, defaults to today in the business timezone'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental). Optional, defaults to velvetandclay. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slotId', 'service', 'firstName'], 'properties': {'slotId': {'type': 'string', 'description': 'A slotId from biz_availability, e.g. 2026-08-31T10:00'}, 'service': {'type': 'string', 'description': 'A service id or name from biz_info, e.g. "Cut and finish"'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental). Optional, defaults to velvetandclay. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'firstName': {'type': 'string', 'description': 'First name only. No surname, phone number or email address.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). Optional, defaults to velvetandclay. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD, defaults to today in the business timezone. Pickup windows for this date ride along with the menu.'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. No business served here takes pickup orders right now. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'pickupWindowId', 'firstName'], 'properties': {'note': {'type': 'string', 'description': 'Optional short preparation note, 140 characters, e.g. "no nuts" or "happy birthday Ada". Contact details are removed server side: this is not a message channel.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'qty'], 'properties': {'id': {'type': 'string', 'description': 'An item id from biz_menu, exactly as written'}, 'qty': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'How many, within the item minQty/maxQty'}}}, 'description': 'The order lines. At least one.'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. No business served here takes pickup orders right now. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'firstName': {'type': 'string', 'description': 'First name only. No surname, phone number or email address.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}, 'pickupWindowId': {'type': 'string', 'description': 'A window id from biz_menu, e.g. 2026-09-10T10:00'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['confirmationCode'], 'properties': {'confirmationCode': {'type': 'string', 'description': 'The order confirmation code, e.g. LBB-KKA8Y2. Case does not matter.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business', 'soldOut'], 'properties': {'itemId': {'type': 'string', 'description': 'The menu item id, exactly as biz_menu returned it. Prefer it whenever you have one: an id can never be ambiguous.'}, 'confirm': {'type': 'boolean', 'description': 'Leave this out on the first call. Pass true with confirmToken to commit.'}, 'soldOut': {'type': 'boolean', 'description': 'true to mark the item sold out for today, false to put it back on the menu.'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID, exactly as biz_menu returned it. Only a business you are seated on can be changed.'}, 'itemName': {'type': 'string', 'description': 'The item by name, when you have no id. Matched against that menu. A name that fits more than one item is refused with the names it fits, never guessed at.'}, 'requestId': {'type': 'string', 'description': 'Your own id for this change, at least 8 characters. Sending the same one twice with the same arguments returns the first result instead of changing anything a second time.'}, 'confirmToken': {'type': 'string', 'description': 'The token the preview returned. Required when confirm is true.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Which page of the catalog, 1-based. Optional, defaults to 1. Each page holds up to 60 products; the reply carries pageCount and total so you can say which page you are reading and ask for the next one. A page past the end answers with no products and the true pageCount rather than an error.'}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'How many products to return, 1 to 60. Optional, defaults to 60. A larger number is clamped rather than refused.'}, 'query': {'type': 'string', 'description': 'Free text to narrow the catalog to, matched against the product title, the brand, the product type and the handle. Optional; omit it for the whole shop. It only ever removes products and never reorders them.'}, 'business': {'type': 'string', 'description': 'Which business, BY NAME OR BY ID. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. A common short form works too ("the bakehouse", "the dentist"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business.'}, 'businessId': {'type': 'string', 'description': 'Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventId', 'boothId', 'away'], 'properties': {'away': {'type': 'boolean', 'description': 'true to mark the booth stepped away, false to mark it back.'}, 'boothId': {'type': 'string', 'description': 'The booth id, exactly as events_booths returned it. Not the booth name.'}, 'confirm': {'type': 'boolean', 'description': 'Leave this out on the first call. Pass true with confirmToken to commit.'}, 'eventId': {'type': 'string', 'description': 'The event the booth is at, exactly as events_list returned it.'}, 'requestId': {'type': 'string', 'description': 'Your own id for this change, at least 8 characters. Sending the same one twice with the same arguments returns the first result instead of changing anything a second time.'}, 'confirmToken': {'type': 'string', 'description': 'The token the preview returned. Required when confirm is true.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'number', 'description': 'How many days ahead to read, 1 to 60 (default 14)'}, 'limit': {'type': 'number', 'description': 'Events to return, 1 to 50 (default 10)'}, 'search': {'type': 'string', 'description': 'Match a word across event title, description, location and department'}, 'department': {'type': 'string', 'description': 'Filter by city department or calendar, e.g. "Long Beach Public Library"'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'source': {'type': 'string', 'description': 'Data source id, e.g. "longbeach" (default)'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'layer': {'type': 'number', 'description': 'Layer index within the service (default 0)'}, 'limit': {'type': 'number', 'description': 'Results to return, 1 to 50 (default 10)'}, 'filter': {'type': 'string', 'description': 'Match a word across the layer text fields, e.g. a street or a name'}, 'search': {'type': 'string', 'description': 'Find layers by topic, e.g. "zoning", "parks", "bike"'}, 'source': {'type': 'string', 'description': 'Which city GIS: "longbeach" or "huntingtonbeach" (default longbeach)'}, 'item_id': {'type': 'string', 'description': 'ArcGIS item id from a search result, to read that layer'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dataset_id'], 'properties': {'limit': {'type': 'number', 'description': 'Rows to return, 1 to 50 (default 10)'}, 'offset': {'type': 'number', 'description': 'Rows to skip, for paging. Use the `nextOffset` from a previous call. 0 to 1000; deeper paging is not served (download the full file from the city portal instead).'}, 'search': {'type': 'string', 'description': 'Optional full-text search across the records'}, 'source': {'type': 'string', 'description': 'Data source id, e.g. "longbeach" (default)'}, 'dataset_id': {'type': 'string', 'description': 'Dataset id from city_datasets, e.g. "service-requests"'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'day': {'type': 'string', 'description': 'Day filter, e.g. "Tuesday". The published data covers Monday to Friday only.'}, 'limit': {'type': 'number', 'description': 'Distinct schedules to return, 1 to 25 (default 10)'}, 'street': {'type': 'string', 'description': 'Long Beach street name, e.g. "Pine Ave" or "East Ocean Blvd". Resolved against the City street centerline layer.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'firstName': {'type': 'string', 'description': "OPTIONAL. The FIRST NAME exactly as an event_requests row spelled it. Matched against the caller's OWN pending hellos only. Two matches come back AMBIGUOUS_NAME and NOTHING IS ACCEPTED, and you ask which one they mean."}, 'requestId': {'type': 'string', 'description': 'OPTIONAL. The requestId exactly as an event_requests row gave it. Never construct one. Pass this OR firstName; passing both uses this one.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'eventId': {'type': 'string', 'description': 'OPTIONAL. Omit for the event the person is currently in, which is the usual case. Only pass one if they named a different show, and it must be one they have already joined.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'maximum': 50, 'description': 'OPTIONAL. How many lines of one conversation to return, at most 50. Omit for the last 30. Ignored when listing threads, which is always at most 20.'}, 'chatId': {'type': 'string', 'description': 'OPTIONAL. The id of one conversation, exactly as a thread row from this same tool gave it. Never construct one. Pass this OR firstName, not both; passing both uses this one.'}, 'firstName': {'type': 'string', 'description': "OPTIONAL. The FIRST NAME of the person whose conversation to read, exactly as a thread row spelled it. Matched against the caller's OWN conversations only. If two of them answer to it the reply is AMBIGUOUS_NAME and nothing is read, and you ask which one they mean rather than choosing."}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'The code exactly as the person said or read it. Case, spaces and dashes are normalized, so "tie-24" and "TIE24" are the same code.'}, 'confirm': {'type': 'boolean', 'description': 'Leave this out on the first call. Pass true with confirmToken to commit.'}, 'requestId': {'type': 'string', 'description': 'Your own id for this redemption, at least 8 characters. Sending the same one twice with the same code returns the first result instead of redeeming a second time.'}, 'confirmToken': {'type': 'string', 'description': 'The token the preview returned. Required when confirm is true.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 1000, 'description': "REQUIRED. The message, in the PERSON'S OWN WORDS, up to 1000 characters. Send what they said: do not tidy it, do not shorten it, do not improve it and never invent one. If they have not said what to send, ask them instead of calling this."}, 'chatId': {'type': 'string', 'description': 'OPTIONAL. The id of the conversation to send into, exactly as an event_inbox thread row gave it. Never construct one. Pass this OR firstName, not both; passing both uses this one.'}, 'firstName': {'type': 'string', 'description': "OPTIONAL. The FIRST NAME of the person to answer, exactly as an event_inbox thread row spelled it. Matched against the caller's OWN conversations only. Two matches come back AMBIGUOUS_NAME and NOTHING IS SENT, and you ask which one they mean rather than choosing: there is no way to unsend a message to the wrong person."}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['firstName'], 'properties': {'firstName': {'type': 'string', 'maxLength': 40, 'description': 'REQUIRED. The FIRST NAME of the person, exactly as an event_find_matches row spelled it. Never a surname, never an account id, never a name the person has not been shown on a row. If two people in their matches answer to it the reply is `ambiguous` and nothing is sent, and you ask which one they mean.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug', 'boothNameOrId'], 'properties': {'boothNameOrId': {'type': 'string', 'description': 'Booth id (stall_frosted_cupcakery) or name'}, 'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'category': {'type': 'string', 'description': 'Optional category filter, e.g. "dessert"'}, 'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['discoverable'], 'properties': {'label': {'type': 'string', 'maxLength': 24, 'description': 'OPTIONAL. Their own word for what they are, when none of the four fits: "Investor", "Director", "Press". Up to 24 characters, letters, spaces and hyphens only. It is KEPT AND SHOWN as their word and is never refused for being outside the four; the server still files one of the four behind it so the match list can say why two people fit. Pass it only when the person named it themselves - it is a fact about them, so never invent one and never tidy theirs.'}, 'intent': {'type': 'string', 'description': 'OPTIONAL quick pick, not a question you have to ask. One of Buyer, Vendor, Networker or Social, as the person said it; case and surrounding spaces do not matter. Leave it out when they did not name one of those four words: the server derives the category from the two sentences and falls back to Networker, which is what their badge in the app does. A word outside the four does NOT go here - it goes in `label`, where it is kept rather than refused.'}, 'confirm': {'type': 'boolean', 'description': 'Leave this out on the first call. Pass true with confirmToken to commit.'}, 'eventId': {'type': 'string', 'description': 'OPTIONAL. Omit for the event the person is currently in, which is the usual case. Only pass one if they named a different show, and it must be one they have already joined.'}, 'headline': {'type': 'string', 'maxLength': 280, 'description': 'What they are here for, in their OWN words, up to 280 characters. This is the first of the two sentences the badge is made of, so ask "What are you here for?" and pass what they say. FULL SENTENCES ARE THE POINT: it is read by the matcher that decides who they are shown to and it is what strangers read about them, so "raising a seed round for a logistics startup" beats "raising money". Phone numbers, email addresses and links are removed on the server, because other attendees read it. Leaving it out keeps whatever their badge already says and never clears it.'}, 'firstName': {'type': 'string', 'maxLength': 40, 'description': "OPTIONAL. The person's FIRST NAME, 2 to 40 characters of letters, spaces, hyphens and apostrophes. It is the THIRD thing a badge is made of, beside the two sentences: a badge with no name cannot be found by other attendees either. Pass it only when they have just told you their name or asked to change it; leaving it out keeps whatever their badge already says and never clears it. Never invent a name, never shorten one they gave you, and never pass a surname."}, 'requestId': {'type': 'string', 'description': 'Your own id for this change, at least 8 characters. Sending the same one twice with the same arguments returns the first result instead of writing again.'}, 'intentText': {'type': 'string', 'maxLength': 280, 'description': 'OPTIONAL, and the OLDER NAME for `lookingFor`: it writes the same badge line. Prefer `lookingFor`, which is the badge\'s own word for it, and pass only one of the two. What they are looking for, in their OWN words, up to 280 characters. FULL SENTENCES ARE WELCOME and are what this field is for: it is read by the matcher that decides who they are shown, so "raising a seed round for a logistics startup, and looking for operators who have scaled a warehouse" matches better than "raising money". Do not compress what they said to save room. Phone numbers, email addresses and links are removed from it on the server, because other attendees read it. Leave it out to keep whatever their badge already says; sending an empty string also leaves it alone.'}, 'lookingFor': {'type': 'string', 'maxLength': 280, 'description': 'Who they want to meet, in their OWN words, up to 280 characters. This is the second of the two sentences the badge is made of, so ask "Who do you want to meet?" and pass what they say. It is the SAME badge line the older `intentText` argument writes, under the badge\'s own name for it; pass one or the other, not both. Phone numbers, email addresses and links are removed on the server. Leaving it out keeps whatever their badge already says and never clears it.'}, 'confirmToken': {'type': 'string', 'description': 'The token the preview returned. Required when confirm is true.'}, 'discoverable': {'type': 'boolean', 'description': 'REQUIRED, and never inferred from the intent: true puts them in the list other attendees at that event can see, false keeps them out of it. Ask the person which they want; a missing or non-boolean answer is refused rather than defaulted.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug', 'speaker'], 'properties': {'speaker': {'type': 'string', 'description': 'A speaker name ("Aasif Mandvi", or just a surname) or a speakerId as events_speakers returns it'}, 'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'day': {'type': 'string', 'description': 'Optional day filter: "today" or YYYY-MM-DD, read in the event\'s own timezone'}, 'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eventIdOrSlug'], 'properties': {'when': {'type': 'string', 'description': '"all" | "today" | "now" | YYYY-MM-DD'}, 'eventIdOrSlug': {'type': 'string', 'description': 'Event id (belmont_stroll), public slug (cba26), or the event NAME as events_list spells it ("Summer Stroll & Savor"). Common short forms work too ("the stroll", "tie summit").'}}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['card', 'sessionKey', 'seq', 'events'], 'properties': {'seq': {'type': 'number', 'description': 'Which batch this is for that mount, 1 to 6. Past the budget it is refused.'}, 'card': {'type': 'string', 'description': 'Which card is speaking: menu, order, floor or storefront.'}, 'host': {'type': 'string', 'description': 'Which surface drew this card when it is not an MCP host: "standalone" for the connector\'s own shop page. Omit it inside a host. Any other value refuses the batch.'}, 'events': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': {}}, 'description': 'Up to 40 markers: {t, kind} plus optionally code, n, c, span, mode, w, h, top, bottom, tplEpoch. An off-vocabulary kind, an unknown key or a non-integer number refuses the whole batch.'}, 'sessionKey': {'type': 'string', 'description': 'A random id the card minted for THIS mount. Not a user id, not a device id, 6 to 24 lowercase alphanumerics.'}}}
Cambios recientes en herramientas
Servidores MCP similares
SupplyGraph.AI Data
Provides China-focused location, surrounding-area, company, industry-chain, property, population, retail, and regional business i…
Predicthq
Finds and retrieves PredictHQ events, including categories, impact rankings, dates, attendance estimates, and nearby locations.
UK Property & Business Intelligence MCP Server from MCPBundles
Searches UK companies, officers and filings, charities, geographic names and postcodes, and Great Britain traffic count and flow …
pontofato
Provides Brazilian CEP address lookup, geocoding, radius and proximity searches, address units, and companies associated with loc…
TrustyData
Verifies French addresses, searches companies and localities, computes routes and distance matrices, and provides catchment-area …
Location & Demand Intelligence
Scores locations, neighborhoods, properties, routes, traffic windows, and operating conditions using official local statistics an…
Public Data Ukraine Mcp
Provides Ukrainian geocoding, weather, official exchange rates, and public procurement tender search through public data APIs.
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…