Sonar Connections
REMOTE · MCPCONNECTOR-GTLIZQTVZA-UW.A.RUN.APP · SCANNED SEP 25
Source-attributed events, open data and availability
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5387 tokens (~269/item across 20 items; 18 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
How do I install the Sonar Connections MCP server?
Sonar Connections is a hosted endpoint at https://mcpconnector-gtlizqtvza-uw.a.run.app/public, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcpconnector-gtlizqtvza-uw.a.run.app
claude mcp add --transport http com-sonarconnections-sonar-connections 'https://mcpconnector-gtlizqtvza-uw.a.run.app/public'
{
"mcpServers": {
"com-sonarconnections-sonar-connections": {
"url": "https://mcpconnector-gtlizqtvza-uw.a.run.app/public"
}
}
} {
"servers": {
"com-sonarconnections-sonar-connections": {
"type": "http",
"url": "https://mcpconnector-gtlizqtvza-uw.a.run.app/public"
}
}
} [mcp_servers.com-sonarconnections-sonar-connections] url = "https://mcpconnector-gtlizqtvza-uw.a.run.app/public"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-sonarconnections-sonar-connections": {
"type": "remote",
"url": "https://mcpconnector-gtlizqtvza-uw.a.run.app/public",
"enabled": true
}
}
} openclaw mcp add com-sonarconnections-sonar-connections --url 'https://mcpconnector-gtlizqtvza-uw.a.run.app/public' --transport streamable-http
mcp_servers:
com-sonarconnections-sonar-connections:
url: "https://mcpconnector-gtlizqtvza-uw.a.run.app/public" {
"McpServers": {
"com-sonarconnections-sonar-connections": {
"Transport": "http",
"Url": "https://mcpconnector-gtlizqtvza-uw.a.run.app/public"
}
}
} assistant mcp add com-sonarconnections-sonar-connections -t streamable-http -u 'https://mcpconnector-gtlizqtvza-uw.a.run.app/public'
{
"mcpServers": {
"com-sonarconnections-sonar-connections": {
"type": "http",
"url": "https://mcpconnector-gtlizqtvza-uw.a.run.app/public"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +7
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “biz_availability” rewrote its description, which is the text the model reads security
- Tool “biz_info” rewrote its description, which is the text the model reads security
- Tool “biz_menu” rewrote its description, which is the text the model reads security
- Tool “events_floor_card” rewrote its description, which is the text the model reads security
- Schema quality: 4602 → 5227 ▼ functional
- New resource “biz-menu-card” functional
- New resource “biz-order-card” functional
- New tool “ui_card_diag” functional
- 23 Sept 26 +1
- Resource “biz-menu-card” was removed ▼ functional
- Resource “biz-order-card” was removed ▼ functional
- New resource “event-floor-card” functional
- New tool “events_floor_card” functional
- 22 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
- 21 Sept 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://mcpconnector-gtlizqtvza-uw.a.run.app/public
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.a.run.app | CN=WR2,O=Google Trust Services,C=US | 10 Sept 2026 | 3 Dec 2026 | ECDSA 256 | SHA256-RSA | 4e0c02d814e3ca0112f85e6a49ac82bb |
| SANs: *.a.run.app, run.app, *.africa-south1.run.app, *.asia-east1.run.app, *.asia-east2.run.app, *.asia-northeast1.run.app, *.asia-northeast2.run.app, *.asia-northeast3.run.app, *.asia-south1.run.app, *.asia-south2.run.app, *.asia-southeast1.run.app, *.asia-southeast2.run.app and 93 more | ||||||
| CN=WR2,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a07c4cded100ad9d66a5107b98 |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcpconnector-gtlizqtvza-uw.a.run.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| run.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcpconnector-gtlizqtvza-uw.a.run.app/public | Verified | 200 | |
| http (plaintext) | http://mcpconnector-gtlizqtvza-uw.a.run.app/public | HTTPS enforced | 302 | https://mcpconnector-gtlizqtvza-uw.a.run.app/public |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
biz_availability List open appointment slots ~385
Open appointment slots at a business served through this connector, for one date. `date` is optional and defaults to today in the business's own timezone. Slots that have already started today are never returned, and a day the business is closed returns none with a reason. A business that takes no reservations at all returns no slots and says so, with its opening hours attached. The business may be given by NAME or by id: "Long Beach Brunch Bakehouse" and "longbeachbrunch" both reach the bakery, and a common short form ("the bakehouse", "the brunch house", "the dentist") works too. A name we cannot place is refused with the list of businesses we do serve, never answered about a different one. BOOKING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each open slot carries a stable slotId, and on this lane those slots are INFORMATION ONLY: listing one reserves nothing and there is no tool here that can take it. Where a business has a next step of its own, it rides on the reply as `nextStep`.
| Name | Type | Req | Description |
|---|---|---|---|
| business | string | – | Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch… |
| businessId | string | – | 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. |
| date | string | – | YYYY-MM-DD, defaults to today in the business timezone |
No output schema declared.
No examples provided.
biz_info Business details, services and hours ~588
Details for a business served through this connector: the business's own one line description (`tagline`), services or menu with prices, weekly opening hours, the appointment grid length and today's hours. `hoursNow` is the PRESENT TENSE, already resolved in the business's own timezone: speak its `text` ("Open now until 2:00 PM", "Closed for today. Hours were 7:00 AM to 2:00 PM") rather than saying a business is open today from a weekday row, which reads as open right now and is wrong the moment the doors shut. Businesses served: velvetandclay (a hair, color and skin studio), brightpointdental (a family and cosmetic dental practice), and longbeachbrunch (an all day breakfast counter, which is WALK IN and takes no reservations). The `bookable` field on the reply says which is which. velvetandclay and brightpointdental BOTH book into the business's OWN Square calendar (a Square sandbox seller): their availability is read live from Square and booking one writes an appointment there, not into a Sonar database. The `schedulingSystem` field says so. For a business connected that way the services listed here ARE that seller's own Square catalogue, named exactly as the merchant named them. These are demonstration businesses and the appointment book is a sandbox. The business may be given by NAME or by id: "Long Beach Brunch Bakehouse" and "longbeachbrunch" both reach the bakery, and a common short form ("the bakehouse", "the brunch house", "the dentist") works too. A name we cannot place is refused with the list of businesses we do serve, never answered about a different one. BOOKING AND ORDERING ARE NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. What this tool returns is information about the business - its hours, its services and their prices - and nothing here reserves, orders or holds anything. Call biz_availability to see the open times a business publishes and biz_menu to see what it sells. Where a business has a next step of its own, it rides on the reply as `nextStep…
| Name | Type | Req | Description |
|---|---|---|---|
| business | string | – | Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch… |
| businessId | string | – | 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. |
No output schema declared.
No examples provided.
biz_menu Pickup menu and order times ~518
The PICKUP MENU for a business served through this connector, with prices, allergens, how far ahead each item has to be ordered, and the pickup windows available on a date. Call it for an order, a pickup, placing an order, a pickup order, or checkout at a business served here: the menu, the pickup windows and the checkout all come from this one call. longbeachbrunch is a neighborhood bakery that takes pickup pre-orders: cookies, brownies and bars, morning pastry, brunch boxes, party platters, custom cakes and holiday boxes, and a coffee bar. Pass a date to get that day's pickup windows alongside the menu; omit it for today in the business's own timezone. PICKUP ONLY: there is no delivery and no shipping. A business that does not take pickup orders (velvetandclay, brightpointdental) says so honestly with its opening hours attached. This is a demonstration business and the order book is a sandbox. The business may be given by NAME or by id: "Long Beach Brunch Bakehouse" and "longbeachbrunch" both reach the bakery, and a common short form ("the bakehouse", "the brunch house", "the dentist") works too. A name we cannot place is refused with the list of businesses we do serve, never answered about a different one. ORDERING IS NOT AVAILABLE THROUGH THIS PUBLIC CONNECTOR. Each item carries a stable id, and on this lane the menu, the prices and the pickup windows are INFORMATION ONLY: nothing here places, holds or pays for an order. Where a business has a next step of its own, it rides on the reply as `nextStep`.
| Name | Type | Req | Description |
|---|---|---|---|
| business | string | – | Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch… |
| businessId | string | – | 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. |
| date | string | – | YYYY-MM-DD, defaults to today in the business timezone. Pickup windows for this date ride along with the menu. |
No output schema declared.
No examples provided.
city_calendar Public events calendar ~297
FOUNDER PREVIEW, NOT A PUBLISHED FEED. Upcoming public events run by the City of Long Beach: library programmes, parks and recreation, animal care clinics, city clerk and council sessions, hazardous waste collection, economic development workshops and more. Read from the calendar publisher's own JSON feed rather than scraped from a page, and every response says so. The City has NOT STATED A LICENSE for this data, so Sonar Connections does not list it publicly and it appears on no indexable page, sitemap or llms.txt; it is served here for founder evaluation only, pending a written partnership with the City. Times are returned exactly as the City publishes them, as local wall-clock strings with the UTC offset beside them, and are never converted. Cancelled events are RETURNED and clearly marked rather than hidden, because a cancelled event is the answer to "is it on tonight". Coverage today: the City of Long Beach public events calendar, one publisher, served for founder evaluation while a license is pending.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | How many days ahead to read, 1 to 60 (default 14) |
| department | string | – | Filter by city department or calendar, e.g. "Long Beach Public Library" |
| limit | number | – | Events to return, 1 to 50 (default 10) |
| search | string | – | Match a word across event title, description, location and department |
No output schema declared.
No examples provided.
city_datasets List public open datasets ~102
The open data catalog of one public data source: every dataset with its id, title, description, record count, last-modified date and license. Call this first to discover which dataset ids city_records accepts. `source` is optional and defaults to "longbeach" (the City of Long Beach portal, DataLB). Every response names its source.
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | – | Data source id, e.g. "longbeach" (default) |
No output schema declared.
No examples provided.
city_gis City GIS layers ~548
FOUNDER PREVIEW, NOT A PUBLISHED FEED. Search and read a city GIS, a public ArcGIS organization of map layers covering parcels, zoning, districts, bikeways, parks, neighborhoods, permits and more. SOURCES: `longbeach` (City of Long Beach, 174 public layers listed) and `huntingtonbeach` (City of Huntington Beach, 113 servable of 121 listed; the other 8 are hosted on the City's own server, which this connector does not read). Pass `source` to choose; it defaults to longbeach. Each answer names the city it came from, and a search answer says how many results it refused and why. Each publisher has NOT STATED A LICENSE for this data, so Sonar Connections does not list it publicly and it appears on no indexable page, sitemap or llms.txt; it is served here for founder evaluation only, pending a written partnership with the publisher. HOW TO USE IT: call with `search` to find layers by topic and get their item ids, then call with `item_id` AND THE SAME `source` to read one layer. Reading a layer returns its field schema, its row count and a capped sample of rows; add `filter` to match a word across the layer's text fields. WHAT IT WILL NOT DO: it never returns raw geometry, so a polygon layer answers which, where and how many rather than emitting coordinates. Any layer whose field names look like they describe individual people (owner or applicant names, home addresses, plates, dates of birth), and any Survey123 response layer whatever its columns are called, returns its schema and counts only, never rows, and says what triggered that. The screen is conservative and can fire on a layer that only describes places, which is why it reports its reasons. Coverage today: two city GIS organizations, the City of Long Beach and the City of Huntington Beach, served for founder evaluation while a license is pending.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | Match a word across the layer text fields, e.g. a street or a name |
| item_id | string | – | ArcGIS item id from a search result, to read that layer |
| layer | number | – | Layer index within the service (default 0) |
| limit | number | – | Results to return, 1 to 50 (default 10) |
| search | string | – | Find layers by topic, e.g. "zoning", "parks", "bike" |
| source | string | – | Which city GIS: "longbeach" or "huntingtonbeach" (default longbeach) |
No output schema declared.
No examples provided.
city_records Read records from a public open dataset ~261
Read one PAGE of records from a public open dataset. Give a dataset_id from city_datasets, an optional full-text search, an optional limit (default 10, maximum 50) and an optional offset to page through larger result sets. Datasets can hold hundreds of thousands of records, so a full page is usually NOT the whole answer: the response carries `truncated`, `matchingRecords` and a `nextOffset` to call back with. `source` is optional and defaults to "longbeach" (the City of Long Beach portal, DataLB). Returns the dataset schema plus the records, and names its source.
| Name | Type | Req | Description |
|---|---|---|---|
| dataset_id | string | yes | Dataset id from city_datasets, e.g. "service-requests" |
| limit | number | – | Rows to return, 1 to 50 (default 10) |
| offset | number | – | 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 | string | – | Optional full-text search across the records |
| source | string | – | Data source id, e.g. "longbeach" (default) |
No output schema declared.
No examples provided.
city_sweeping Street sweeping schedule ~390
FOUNDER PREVIEW, NOT A PUBLISHED FEED. Street sweeping schedules for the City of Long Beach, read live from the City of Long Beach GIS (a public ArcGIS feature service). The City has NOT STATED A LICENSE for this data, so Sonar Connections does not list it publicly and it appears on no indexable page, sitemap or llms.txt; it is served here for founder evaluation only, pending a written partnership with the City. WHAT THE DATA ACTUALLY IS: 336 schedule POLYGONS whose only attributes are DAYS (e.g. "Tuesday/Wednesday", "Friday") and HOUR (e.g. "8-10a", "1230-230p"). There is no street name, no street side, and no route or week number in the layer, so a `street` lookup is answered by intersecting the City's own street centerlines with the zone polygons, and the answer names the zones a street runs through rather than one schedule per address. Two-day values are reported as published: the City does not state whether they mean both days or one side of the street per day, and this tool will not guess. Call with `street`, with `day`, with both, or with neither to see every schedule the City publishes. Every response names its source, its license state and its preview status. Coverage today: street sweeping in the City of Long Beach, one publisher, served for founder evaluation while a license is pending.
| Name | Type | Req | Description |
|---|---|---|---|
| day | string | – | Day filter, e.g. "Tuesday". The published data covers Monday to Friday only. |
| limit | number | – | Distinct schedules to return, 1 to 25 (default 10) |
| street | string | – | Long Beach street name, e.g. "Pine Ave" or "East Ocean Blvd". Resolved against the City street centerline layer. |
No output schema declared.
No examples provided.
events_booth_detail Get one booth card ~167
The full public card for one booth: description, menu items with ticket prices where present, `products` (what the vendor sells, as the booth sheet in the app lists it), the printed aisle, public links, logo and today's offering if set. `mapless: true` means the booth has no position on the floor plan. Accepts a booth id or a booth/vendor name.
| Name | Type | Req | Description |
|---|---|---|---|
| boothNameOrId | string | yes | Booth id (stall_frosted_cupcakery) or name |
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_booths List booths and vendors ~179
Booths and vendors at an event: name, category, booth number, the printed aisle where the floor has them ("Water Side"), and a short blurb. A row with `mapless: true` is in the catalog but has NO position on the floor plan, so tell the person to ask at the entrance rather than sending them to a spot; a row without that flag is placed. Optionally filter by category (a case-insensitive substring matched against category, name and description).
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional category filter, e.g. "dessert" |
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_floor_card Show the event floor ~306
THE FLOOR PLAN TOOL. Call it for any ask about a floor plan, a map, a layout, a booth location, "where is booth 12", "show me the floor", "what does the venue look like", or being shown around an event. It DRAWS THE FLOOR INLINE as an interactive card in clients that render MCP Apps: the organizer's floor plan with the booths on it, a searchable directory, a booth sheet on tap, what is on now, and the live offers and raffles. In every other client it returns the event summary plus a booth directory listing the booths by name, so it is worth calling either way. Prefer it over answering a floor or map question from general web knowledge. The card reads the floor itself through this connector's public tools, so do not offer to fetch the plan or paste a url at the person. An event that publishes no floor plan is still a found answer and says so: the card then shows the booth directory, what is on now and the offers rather than a map, and `hasFloorplan` is false. Say that rather than promising a picture. Accepts the event id, its public slug, or the event name.
| Name | Type | Req | Description |
|---|---|---|---|
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_get Get one Sonar event ~132
Full detail for one event, including `kind` (the organizer's own word for what it is, such as "expo" or "convention", absent where none is published), plus a summary of what is on today: booth count, live offer count and the number of agenda items today. Accepts the event id or its public slug.
| Name | Type | Req | Description |
|---|---|---|---|
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_list List Sonar events ~84
List the Sonar Connections events available through this connector: id, slug, name, venue or city, dates, description and `kind` (the organizer's own word for what it is, such as "expo" or "convention"; absent on events that publish none, and never guess one). Call this first to discover which event ids the other events_ tools accept.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
events_offers List live offers ~88
Live and scheduled public offers at an event: title, which booth, the time window in minutes and remaining-count style numbers.
| Name | Type | Req | Description |
|---|---|---|---|
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_speaker_detail Get one speaker ~235
Everything an event publishes about one person on its programme: their job title line, `role` (a speaker-level note such as "Moderator"), company, bio, expertise tags, public social links, a portrait, a link to the organizer's own profile page, and every session they are on with the spoken local time. Accepts a name or a speakerId. If the name is not clear enough to be sure - two people sharing a surname, say - the reply is a not-found carrying the closest names rather than a guess, so ask the person which one they meant. Absent fields are null: the organizer published nothing there, so say nothing rather than filling the gap.
| Name | Type | Req | Description |
|---|---|---|---|
| eventIdOrSlug | string | yes | 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"). |
| speaker | string | yes | A speaker name ("Aasif Mandvi", or just a surname) or a speakerId as events_speakers returns it |
No output schema declared.
No examples provided.
events_speakers List an event's speakers ~262
The people on an event's programme: name, their job title line, `role` (what the organizer published for that PERSON, such as "Moderator" or "Judge" - it is a speaker-level note, so do not read it as "the moderator of this one session"), a portrait photo URL, a link to the organizer's own profile page, and the sessions they are on with the spoken local time. Ordered by when they are first on stage. Optionally filter to one day. Any field except the name may be null, which means the organizer published nothing there: say nothing rather than filling the gap. When an event publishes no speaker records the roster is built from the programme itself and `source` says "program"; those rows carry a `kind` of "speaker" or "performer" and nothing else about the person.
| Name | Type | Req | Description |
|---|---|---|---|
| day | string | – | Optional day filter: "today" or YYYY-MM-DD, read in the event's own timezone |
| eventIdOrSlug | string | yes | 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"). |
No output schema declared.
No examples provided.
events_whats_on Get the agenda or lineup ~281
Agenda sessions and performances with their times. `when` accepts "all" (default), "today", "now" (the next few hours) or a YYYY-MM-DD date. Each row carries a `speakers` array in the order the session lists them, with each speaker's name, `role` (what the organizer published for that PERSON - "Moderator", "Judge" - it is a speaker-level note, so do not read it as "the moderator of this one session"), `title` (their job title line, which is a different fact from role and both may be present), `company`, `bio`, `expertiseTags`, `socialLinks`, a portrait photo URL, and a link to the organizer's own speaker profile page. Any of these except the name may be null or absent, which means the organizer did not publish it: say nothing rather than filling the gap. `speakerNames` is still there for the plain lineup.
| Name | Type | Req | Description |
|---|---|---|---|
| eventIdOrSlug | string | yes | 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"). |
| when | string | – | "all" | "today" | "now" | YYYY-MM-DD |
No output schema declared.
No examples provided.
ui_card_diag Card diagnostics sink ~263
INTERNAL. The diagnostics sink for the interactive cards this connector serves. A card view posts its own lifecycle markers here in small batches: that it mounted, which display mode and safe-area insets the host gave it, the heights it reported, whether a keyboard opened, and the outcome of the one action a person took on it. It accepts a closed vocabulary of markers and integer counts only, no free text of any kind, and it returns nothing but an acknowledgement. NOT FOR A MODEL TO CALL: it answers no question and looks nothing up. Call a data tool instead.
| Name | Type | Req | Description |
|---|---|---|---|
| card | string | yes | Which card is speaking: menu, order or floor. |
| events | array | yes | Up to 40 markers: {t, kind} plus optionally code, n, c, span, mode, w, h, top, bottom. An off-vocabulary kind, an unknown key or a non-integer number refuses the whole batch. |
| seq | number | yes | Which batch this is for that mount, 1 to 6. Past the budget it is refused. |
| sessionKey | string | yes | A random id the card minted for THIS mount. Not a user id, not a device id, 6 to 24 lowercase alphanumerics. |
No output schema declared.
No examples provided.
What is the Sonar Connections MCP server?
Sonar Connections is an MCP server listed in the public MCP registry as com.sonarconnections/sonar-connections. Source-attributed events, open data and availability. This page covers its hosted endpoint (https://mcpconnector-gtlizqtvza-uw.a.run.app/public).
Is the Sonar Connections MCP server safe to use?
Sonar Connections scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Sonar Connections MCP server expose?
Sonar Connections exposes 18 tools: events_list, events_get, events_floor_card, ui_card_diag, events_booths, and 13 more. Their descriptions and schemas cost roughly 5,086 tokens of context every time the server is loaded.
Does the Sonar Connections MCP server require authentication?
No. We connected to Sonar Connections without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Sonar Connections MCP server still maintained?
Sonar Connections is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.