Brick NJ Local directory
Server Details
Businesses in Brick Township, NJ: hours, phones, and booking or quotes where offered.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool has a clearly distinct role: list_categories and list_places are pure enumeration, search_businesses finds listings, get_business fetches full detail, and the booking/contact trio (check_availability, book_appointment, contact_business) separates lookup, transaction, and messaging. Descriptions explicitly cross-reference each other (e.g. passing a time from check_availability into book_appointment), leaving no ambiguity about selection order.
All seven tools follow a strict snake_case verb_noun pattern (book_appointment, check_availability, contact_business, get_business, list_categories, list_places, search_businesses). Verbs are used consistently by function: list_ for enumeration, get_ for single-record fetch, search_ for filtered discovery.
Seven tools is well within the ideal 3-15 range and every tool earns its place: three for discovery/navigation, one for detail, and three for the booking and messaging lifecycle. Nothing appears redundant or padded.
The directory surface covers discovery (categories, places, search), detail, availability, booking, and contacting a business — a full read-and-act lifecycle. Minor gaps remain: there is no way to view, reschedule, or cancel an existing booking, and no reviews/ratings access, which agents may hit as dead ends.
Available Tools
7 toolsbook_appointmentBook an appointmentADestructiveInspect
Book a time from check_availability for the person you are helping. First confirm the business, the time, their name, email and mobile number with them, then call with confirmed=true. The business receives the booking on its calendar and the person's contact details for this booking only.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| Yes | |||
| phone | Yes | ||
| start | Yes | ||
| confirmed | No | ||
| last_name | No | ||
| first_name | Yes | ||
| business_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds genuine context beyond the annotations: the booking lands on the business's calendar and the contact details are shared for this booking only – a data-disclosure fact the hints do not carry. It never explains what confirmed=false actually does (dry run, error, or held pending), which matters given destructiveHint=true and idempotentHint=false.
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 sentences, purpose first, then procedure, then consequence – nothing padding and no repetition of the schema. Slightly denser than needed: the confirmation checklist and the confirmed=true instruction could be merged.
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 and a real-world side-effecting write, yet the description covers the workflow and the privacy boundary of the booking. Remaining gaps – semantics of confirmed=false, time format, and what happens if the slot is taken – are modest against the annotations that already flag the write and non-idempotency.
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?
With 0% schema coverage across 8 params, the description compensates well by naming business, time, name, email, mobile and confirmed. It leaves 'note' unmentioned and does not state the expected format/timezone for 'start', so the coverage is strong but not complete.
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?
Specific verb + resource ('Book a time ... appointment') anchored to a named upstream source ('from check_availability'), which immediately separates it from the sibling availability-checking tool. An agent knows exactly what this produces without opening the 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 prerequisite workflow: confirm business, time, name, email and mobile with the person, then call with confirmed=true. It names the sibling to use first (check_availability) and the gate condition (confirmed=true) rather than leaving sequencing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_availabilityCheck open timesARead-onlyIdempotentInspect
Open times for a business that has can_book, read live from its calendar. start_date (YYYY-MM-DD) and days (1-30) narrow the range. Times are ISO 8601 in the business's time zone; pass one back unchanged to book_appointment.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| start_date | No | ||
| business_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely new behavior: the data is read live from the calendar rather than cached, and returned times are timezone-local ISO 8601. It stops short of describing result shape (flat slot list vs. grouped by day) or any rate/expiry limits on the returned slots.
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 sentences, each carrying distinct information: what is returned, how to narrow the range, and how to consume the output. The core purpose is front-loaded 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?
There is no output schema, so the description reasonably explains the return semantics (ISO 8601, business time zone, feed directly into book_appointment). It is nearly complete for a simple read tool; only the precise structure of the returned availability payload is unstated.
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?
With 0% schema description coverage the description must carry the parameters, and it does explain start_date as YYYY-MM-DD and days as 1-30, plus the implicit constraint that business_id must refer to a bookable business. However, the default of 14 days and the meaning of a null start_date are never mentioned, so the compensation is partial.
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 ('Open times for a business ... read live from its calendar') and scopes the input set to businesses that have can_book. It is clearly distinguishable from book_appointment and get_business, the tool an agent might otherwise confuse it with.
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?
Names the downstream step explicitly — 'pass one back unchanged to book_appointment' — which tells the agent this is the discovery half of a booking flow. It also implies a precondition (business must have can_book), but gives no explicit when-not case or alternative source for availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_businessMessage a businessADestructiveInspect
Send a question, quote request or callback request to a business that has can_contact (kinds it takes are in get_business). The business gets the message and the person's name, email and phone (phone required for callbacks) and replies to them directly. Confirm the message and details with the person first, then call with confirmed=true.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | question | |
| Yes | |||
| phone | No | ||
| message | Yes | ||
| confirmed | No | ||
| last_name | No | ||
| first_name | Yes | ||
| business_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the external side effect (the business receives the message plus the person's name, email and phone, i.e. PII is transmitted) and the callback phone requirement. It does not say whether repeated calls produce duplicate messages or what a successful response looks like, which leaves some gaps for a destructive, non-idempotent write.
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 sentences, no waste, front-loaded with the action and its recipient, followed by effects and then the confirmation gate. Each sentence carries distinct 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?
Covers the risky parts of an open-world, destructive, non-idempotent write: recipient eligibility, data disclosure, and the required human confirmation. The main remaining gap is return behavior (no output schema, and the description doesn't say what confirmation the caller gets).
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?
With 0% schema description coverage, the description carries the burden well: it defines what 'kind' selects and where to look for valid values, notes phone is required for callbacks, and explains the gate that 'confirmed' represents. It leaves formats for business_id, email and message unaddressed, so not fully complete.
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 (send) plus the concrete resource types (question, quote request, callback request) aimed at a business. It also distinguishes itself from get_business by pointing there for the allowed kinds, so an agent can tell the two apart immediately.
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?
Explicit preconditions: the business must have can_contact, kinds are discoverable via get_business, phone is required for callbacks, and the agent must confirm the message and details with the person before calling with confirmed=true. This is a full when/how-to-use recipe with no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_businessGet one listingARead-onlyIdempotentInspect
Full listing for one business by the id search_businesses returned: hours, phone, address, prices, classes, amenities, offers, the business's own services and prices when it publishes them here, and what can be done through this directory (book, message).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so safety is covered. The description adds genuine value beyond them by disclosing the payload shape (a full detail record with hours, prices, classes, amenities, offers, plus published third-party services), which matters because there is no output schema. It stops short of noting behavior for an unknown id or missing/unpublished sections.
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 front-loaded sentence that leads with the action and scope before the field enumeration. The long comma list of returned fields is dense but each item earns its place as payload disclosure in the absence of an output schema; the trailing 'what can be done through this directory (book, message)' clause is the only slightly loose part.
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 and a bare input schema, the description does the heavy lifting by telling the agent what comes back and where the id comes from — enough to call the tool correctly. The remaining gap is behavioral edge cases (invalid/unknown id, businesses that publish no services), which an agent would have to discover at runtime.
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 0% for the single 'id' parameter, so the description must carry the meaning — and it partially does by tying the id's provenance to search_businesses's return value. It adds no format, length, or failure-mode detail for the id itself, so it compensates only halfway for the coverage gap.
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 ('Full listing for one business') and immediately enumerates what the listing contains — hours, phone, address, prices, classes, amenities, offers, services. The 'by the id search_businesses returned' clause cleanly separates it from the sibling search_businesses tool, so an agent knows exactly which of the two to reach for.
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?
Usage is clearly implied and partly explicit: call this after search_businesses, passing the id that tool returned, and note that booking/messaging are actions reachable 'through this directory' (pointing at book_appointment / contact_business). There is no explicit when-not or statement about what to do if the id is stale or invalid, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesARead-onlyIdempotentInspect
Every category in this directory with how many listings each has.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety and mutability profile. The description adds that results include listing counts per category, which is useful output context, but it does not disclose ordering, pagination, or other behavioral details. For a simple zero-parameter read tool, this is adequate with annotations doing the heavy lifting.
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?
The description is a single, front-loaded sentence with zero waste. It communicates the complete result shape in as few words as possible.
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 simple read-only tool with rich annotations and no parameters, the description adequately explains what is returned: all categories plus listing counts. It does not specify ordering or exact response structure, but no output schema exists and the core return value is clear.
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?
The tool has zero parameters, so there are no parameter semantics to explain. Per the evaluation baseline for parameterless tools, the schema is complete by definition and the description does not need to compensate.
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?
The description clearly states the resource (every category in this directory) and adds useful scope by noting each category includes its listing count. It does not explicitly distinguish this tool from siblings such as list_places or search_businesses, but the purpose is unambiguous on its own.
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?
The description gives no explicit guidance on when to use this tool versus alternatives. Usage is only implied by the tool name and title, with no exclusions, prerequisites, or sibling routing provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_placesList placesARead-onlyIdempotentInspect
Towns, areas, cities or states covered, with listing counts. Filter by state or by part of a name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | ||
| name_contains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful context that results carry listing counts, but says nothing about pagination behavior despite a limit parameter, or result ordering.
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?
Two short sentences, front-loaded with the resource definition before the filtering options. No filler and nothing repeated from the title.
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 simple read-only list tool with no output schema, the description covers the resource, the returned data, and the two main filters. The remaining gap is pagination/limit behavior and any ordering guarantees, which matters for an agent deciding how to page through results.
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 0%, so the description must carry the burden. It clarifies two of three parameters — state filtering and substring matching via "part of a name" — but leaves limit undocumented, including its default of 50 and what it caps.
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?
The description names the specific resource (towns, areas, cities, states) and states that results include listing counts, so an agent knows exactly what is returned. It doesn't explicitly contrast itself with siblings like list_categories or search_businesses, but the geographic scope makes the distinction reasonably clear.
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?
"Filter by state or by part of a name" implies the intended usage pattern, but there is no statement of when to prefer this over search_businesses or list_categories, nor any exclusions or prerequisites. Usage is inferable rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_businessesSearch the directoryBRead-onlyIdempotentInspect
Search Brick NJ Local (958 listings). All filters optional. place = town, city, neighbourhood or state as written ('Point Pleasant Beach', 'Austin, TX'). category = a name from list_categories. near_lat/near_lng sort by distance within radius_km.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| place | No | ||
| query | No | ||
| amenity | No | ||
| category | No | ||
| near_lat | No | ||
| near_lng | No | ||
| open_now | No | ||
| radius_km | No | ||
| open_sunday | No | ||
| bookable_only | No | ||
| open_24_hours | No | ||
| has_free_trial | No | ||
| contactable_only | No | ||
| max_monthly_price | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile: readOnly, idempotent, closed-world, non-destructive. The description adds useful behavioral context beyond annotations: the directory has 958 listings, filters are optional, and near_lat/near_lng sort by distance within radius_km. It still omits return format and pagination, but the annotation bar is lower.
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?
The description is four compact sentences with the purpose and dataset size front-loaded. Each sentence adds information without repetition or 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?
This is a complex 15-parameter search tool with no output schema and no schema descriptions. The description covers the dataset scope and a few key filters, but it is far too thin to explain the many boolean and numeric filter parameters. An agent would have to infer most parameter behavior from names alone.
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 0% across 15 parameters, so the description must carry parameter meaning. It explains place, category, near_lat/near_lng, and radius_km reasonably well, but leaves query, limit, amenity, open_now, open_sunday, open_24_hours, bookable_only, has_free_trial, contactable_only, and max_monthly_price undocumented. That is only partial compensation for a large parameter surface.
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?
The description gives a specific verb and resource: 'Search Brick NJ Local (958 listings).' It also scopes the dataset to a local directory and mentions that category values come from list_categories. However, it does not explicitly distinguish itself from siblings like get_business, list_places, or list_categories beyond that hint.
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?
'All filters optional' clarifies that the search can be broad, and 'category = a name from list_categories' routes the agent to a sibling for category values. But there is no explicit guidance on when to use this tool versus get_business or list_places, nor when not to use it.
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.
7 tool updates
- First observed
book_appointment - First observed
check_availability - First observed
contact_business - First observed
get_business - First observed
list_categories - First observed
list_places - First observed
search_businesses
Related MCP Connectors
Businesses in Point Pleasant, NJ: hours, phones, and booking or quotes where offered.
Gyms and fitness studios across New Jersey: hours, prices, free trials, and booking.
Find, compare, and book local service businesses: live availability, prices, reviews, booking.
Search and discover local businesses. 30+ categories with verified contact info, hours, and reviews.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to look up businesses, find free appointment slots, book, list and cancel appointments at salons, barbershops, nail and brow studios and clinics. Works read-only without a customer login by returning a pre-filled booking link, and can also run against a built-in demo with sample businesses.5MIT
- FlicenseNot gradedqualityDmaintenanceThe owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer-
- AlicenseNot gradedqualityBmaintenanceEnables voice assistants to find nearby service providers, connect users to live video representatives for natural conversation, and handle appointment booking. It also returns confirmed bookings so the assistant can add them to its calendar.MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to answer a small business's customer questions from its own FAQs and order data, list upcoming open appointment times in the business's time zone, and book one of those offered slots with staff notification. Free for the first 1,000 businesses, using fast rule-based FAQ matching rather than free-form generation.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.