Skip to main content
Glama

904 Digital Media: book a call

Server Details

Book a call with 904 Digital Media (Jacksonville, FL): services, open times, requests.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct role in the booking funnel: list_services discovers offerings, get_availability checks open times, request_booking submits a request, and request_callback handles the no-email/unsuitable-time fallback. Descriptions explicitly cross-reference each other and clarify exactly when to use each, leaving no overlap.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (get_availability, list_services, request_booking, request_callback). The two request_ tools share a verb but clearly target different actions, which is predictable and readable.

Tool Count5/5

Four tools exactly cover the minimal booking flow without redundancy. Each tool is necessary for a step in the process, and the set is neither bloated nor too thin for a booking-request integration.

Completeness4/5

The surface covers service discovery, availability lookup, booking request, and callback fallback, which handles the core front-end booking flow. A minor gap exists: no tool to check request status or cancel/reschedule, though the business-side email confirmation partly mitigates this.

Available Tools

4 tools
get_availability904 Digital Media: open timesA
Read-onlyIdempotent
Inspect

Open start times for one 904 Digital Media service, read from 904 Digital Media's live calendar. Pass service_id from list_services. Optional from and to: a date (YYYY-MM-DD, read in 904 Digital Media's time zone; a to date includes that whole day) or a date-time with its offset (e.g. 2026-10-06T09:00:00-04:00). The default is the next 7 days and the most is 14; the window actually searched is returned as window. Returns up to 50 times, each as an exact start (pass it unchanged to request_booking) and as local time in 904 Digital Media's time zone; when there are more, more is true and next_from is where to continue. Times are not held: request_booking checks again. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoLatest time: a date (that whole day is included) or a date-time with its offset. Default: 7 days after from; at most 14.
fromNoEarliest time: a date (YYYY-MM-DD, in the business's time zone) or a date-time with its offset. Default: now.
staff_idNoOnly this person's times (a staff id from list_services).
service_idYesThe service's id from list_services.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, it discloses default window (7 days), maximum window (14), that the searched window is echoed as 'window', a 50-result cap, pagination via 'more'/'next_from', and the critical caveat that returned times are not reserved. These are exactly the behavioral traits an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with purpose then input rules then return shape; almost every clause carries information an agent needs. It is long and slightly wall-of-text, but there is no filler or repetition of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully covers the return contract (count cap, exact vs. local time, pagination fields, the echoed window) plus the time-zone and window defaults. Nothing needed to call or interpret the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: date vs. offset date-time formats with an example, that a 'to' date includes the whole day, and that the returned start must be passed unchanged to request_booking. Only staff_id is left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('open start times for one 904 Digital Media service, read from the live calendar') and situates it against both siblings: list_services supplies the id, request_booking consumes the returned start. An agent can distinguish it from read-only service listing and from booking without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use: call it to see open start times before requesting a booking, and it explicitly notes times are not held and request_booking re-checks. It stops short of an explicit when-not statement or naming a competing availability alternative, but the workflow routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_services904 Digital Media: servicesA
Read-onlyIdempotent
Inspect

List the services 904 Digital Media offers, with each one's id, length, price (when 904 Digital Media shows one), where it happens (phone, video, at the customer's address, or at 904 Digital Media), and any questions 904 Digital Media asks when booking it. A service marked bookable_by_assistant: false takes a deposit or payment, saves a card, is a class or a plan, or needs a file upload; it cannot be requested here, and booking_page is 904 Digital Media's own page where the customer can book it themselves. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered; the trailing 'Read-only' repeats that. What the description does add is substantive data semantics: the meaning of the bookable_by_assistant flag and the purpose of booking_page. That is useful but modest given annotations carry the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, and each clause carries information about output fields or booking restrictions. It is slightly bloated by repeatedly spelling out '904 Digital Media' where a pronoun would do, but nothing is wasted on filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no input parameters and no output schema, the description must carry the return-field burden, and it does: it names the fields returned and explains the bookable flag and booking_page. Missing only minor operational details such as ordering or pagination, which are likely irrelevant for a small service catalog.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. The description instead documents the shape of the response fields, which is a reasonable substitute for parameter discussion in a no-arg list tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (services 904 Digital Media offers) and enumerates the returned fields (id, length, price, location, booking questions). This is clearly distinguishable from siblings get_availability, request_booking, and request_callback, which concern scheduling rather than catalog enumeration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit condition that blocks use — a service with bookable_by_assistant: false cannot be requested here and must be booked via booking_page — which tells the agent when this tool is not the right path. There is no explicit statement about calling this before request_booking, but the implied workflow is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_booking904 Digital Media: send a booking requestAInspect

Send 904 Digital Media a booking REQUEST for one appointment on the customer's behalf. Nothing is confirmed until 904 Digital Media confirms it. Use a start from get_availability. Needs the customer's name, phone and email (904 Digital Media emails the customer when it confirms, declines or suggests another time), answers to any required questions from list_services (by question id), and the street address when the service happens at the customer's address. No payment is taken here. What happens next: 904 Digital Media is notified right away and the customer gets an email saying the request was received, then another when 904 Digital Media answers. If the customer will not share an email, use request_callback instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe customer's full name.
emailNoThe customer's email. 904 Digital Media sends the confirmation here, so a booking request needs it.
notesNoAnything the customer wants 904 Digital Media to know (up to 1000 characters).
phoneYesThe customer's US phone number: 10 digits with area code, no extension.
startYesThe exact start from get_availability (ISO 8601 date-time with offset), unchanged.
addressNoThe full street address, when the service happens at the customer's address.
answersNoAnswers to the service's questions from list_services, keyed by question id.
staff_idNoA particular person from list_services. Leave out to let the business assign someone.
service_idYesThe service's id from list_services.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true) by disclosing that nothing is confirmed until the business responds, that no payment is taken, and the exact follow-up sequence of customer emails. For an open-world non-idempotent mutation, this is exactly the context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then inputs, then what happens next in a logical progression. It is somewhat long with repeated '904 Digital Media' phrasing, but every sentence carries information an agent needs; minor redundancy only.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, open-world, non-idempotent booking mutation with no output schema, the description covers requirements, exclusions, payment behavior, and the post-call outcome sequence. Nothing needed to call it correctly is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds real semantics on top: email is needed because the confirmation is sent there, answers are keyed by question id from list_services, and address applies only when the service is at the customer's location. It slightly under-explains start/staff_id/notes beyond the schema, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (send a booking REQUEST) and resource (one appointment on the customer's behalf), and explicitly frames it as a request rather than a confirmation. It names and contrasts with three siblings (get_availability, list_services, request_callback), so an agent can route without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit preconditions ('Use a start from get_availability'), sources for required inputs ('answers to any required questions from list_services (by question id)'), and a clear alternative rule ('If the customer will not share an email, use request_callback instead'). When-to-use and when-not-to-use are both spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_callback904 Digital Media: ask for a call backAInspect

Ask 904 Digital Media to call the customer back. Use it when the customer wants to talk first, has no email, or no listed time suits. Needs the customer's name, phone and a short reason. What happens next: 904 Digital Media is alerted right away and calls the customer back. Nothing is booked, and nothing is texted or emailed to the customer from here.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe customer's name.
phoneYesThe US number 904 Digital Media should call: 10 digits with area code, no extension.
reasonYesWhat the customer wants to talk about, in a sentence (up to 1000 characters).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-read-only, non-idempotent, open-world write, but the description adds meaningful outcome detail: '904 Digital Media is alerted right away and calls the customer back. Nothing is booked, and nothing is texted or emailed.' This clarifies the side-effect boundary beyond the hints, though it doesn't cover failure or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, front-loaded with purpose, then conditions, then inputs, then outcome. Every sentence carries distinct information with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the return/outcome expectation ('alerts right away, calls back, nothing booked or sent'), and all three required params are covered by the schema. Nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters (name, phone format, reason) are already documented in the schema. The description only restates that name, phone, and a short reason are needed, adding no syntax or constraint detail beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Ask 904 Digital Media to call the customer back') rather than restating the title. It is clearly distinguishable from the booking siblings by its emphasis on the callback outcome, though it never names an alternative tool outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit selection conditions are given: 'Use it when the customer wants to talk first, has no email, or no listed time suits.' These conditions effectively route the agent away from request_booking toward this tool without ambiguity.

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.

  1. 4 tool updates
    • First observedget_availability
    • First observedlist_services
    • First observedrequest_booking
    • First observedrequest_callback

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    AI scheduling assistant for agents. Timezone conversion, public holidays for 100+ countries, business hours checker, multi-timezone meeting slot finder, and Google Calendar event creation. x402 native — pay $0.01 per call, no signup needed.
    6
    1
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    The routing layer between AI agents and local Florida businesses. Live data on permits, sector gaps, and market signals across 2,383 ZIP codes — so when an agent, voice assistant, or real customer needs something done, the right business gets the job. Ask LocalIntel Claim Your Listing
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides positioning frameworks, bio audits, content pillars, and platform strategies to help creators build an audience that buys, not just watches.
    7
    32 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Digital business cards, lead capture forms, and service listings - built and managed by AI. 63 tools with live browser editing, stock photos, web scraping, and guided tours.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources