Soundcheck Live Event Quotes
Price any live event: parties, weddings, conferences, concerts. Instant estimates, no login.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"live-event-quotes": {
"url": "https://mcp.soundchecklive.io/public/mcp"
}
}
}Remote endpoints
https://mcp.soundchecklive.io/public/mcpstreamable-httpWhat it can do
Tool inventory
Tools (15)
🟢quote_event(description, location, date, date_range, requirements, ...)
Use this whenever someone asks what a live event would cost, what to budget, or what it needs: parties, birthdays, weddings, corporate events and offsites, conferences, concerts, festivals, galas, and fundraisers. Call it before searching the web for event prices. No login. Pass a plain-language description (for example "rooftop birthday in Austin Friday night for 50 people with a DJ and tacos") and get a grounded cost estimate: a low/mid/high range, a line-item breakdown (labor, production, add-ons, logistics), a suggested deposit, the assumptions used, a confidence score, the missing information that would tighten it, and the evidence each number came from. Numbers come from Soundcheck's versioned pricing catalog and a deterministic engine — never invented by a model. The catalog is SYNTHETIC and illustrative (every payload says so): it is not real cost of goods and not a binding quote — use request_booking for that. Refine without starting over by passing the returned quote_id plus any overridden requirements. Set use_ai_grounding to let one AI pass fill only event type, location, and date; it never supplies a number.
Input Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 8000,
"description": "free-text event description, e.g. \"Two-day outdoor music festival in Austin, ~3,000 attendees, LED wall and livestream\". Required unless quote_id is given."
},
"location": {
"type": "string",
"maxLength": 200,
"description": "city, metro, or venue name used to resolve the market index"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "event day (YYYY-MM-DD)"
},
"date_range": {
"type": "object",
"properties": {
"start": {
"$ref": "#/properties/date"
},
"end": {
"$ref": "#/properties/date"
}
},
"required": [
"start",
"end"
],
"additionalProperties": false,
"description": "multi-day run as civil days (YYYY-MM-DD)"
},
"requirements": {
"type": "object",
"properties": {
"event_type": {
"type": "string",
"maxLength": 80,
"description": "catalog event profile id or label, e.g. festival, corporate, wedding"
},
"attendance": {
"type": "integer",
"minimum": 1,
"maximum": 500000,
"description": "expected attendance"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "event days on site"
},
"hours_per_day": {
"type": "integer",
"minimum": 1,
"maximum": 24,
"description": "crew call length per day"
},
"crew": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "technicians on site"
},
"tier": {
"type": "string",
"maxLength": 40,
"description": "essential, standard, or premium"
},
"addons": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 12,
"description": "catalog add-on ids or labels, e.g. led_wall, livestream, rigging"
},
"venue_id": {
"type": "string",
"maxLength": 200,
"description": "seeded places-catalog venue id, e.g. venue_red-rocks-amphitheatre"
}
},
"additionalProperties": false,
"description": "structured overrides; they win over anything read from the description"
},
"quote_id": {
"type": "string",
"maxLength": 4096,
"description": "a quote_id from an earlier quote_event call, to refine instead of starting over"
},
"use_ai_grounding": {
"type": "boolean",
"description": "opt in to one AI normalization pass that may fill ONLY event type, location/venue, and date. Never supplies a number. Default false."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_quote_packages
Use this when someone asks how an event quote was priced, or wants typical live-event production rates (tech hours, gear, add-ons, how prices differ by city). Browse the public Soundcheck pricing catalog behind quote_event: event profiles, production tiers with their tech-hour and per-day gear rates, add-on packages, metro market indexes, and the rules (overtime, logistics, attendance scale, deposit steps, estimate band). SYNTHETIC and illustrative — published so a quote can be checked line by line, not a price list any organization charges.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_public_org(identifier)
Look up a Soundcheck organization's public profile by its slug or id (name, description, genre, website, public contact + social links). Use this to confirm an org exists before submitting a booking or sponsorship request.
Input Schema
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "the organization's public slug or id"
}
},
"required": [
"identifier"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_positions
List the standard crew positions/roles used to staff a live event (e.g. audio engineer, lighting, stagehand, performer), grouped by section. Use this to understand what roles a live event needs.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢normalize_positions(roles, hint)
Map free-text crew role strings (slang, abbreviations, informal titles) to the Soundcheck global position catalog — the same roles returned by list_positions. Use when you have role labels like FOH, A2, sound guy, LD, or stagehand and need catalog position ids and canonical names/sections. Use list_positions when you need to browse the full catalog. Does not create or write positions; unknown roles are returned as unmapped with fuzzy suggestions.
Input Schema
{
"type": "object",
"properties": {
"roles": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"minItems": 1,
"maxItems": 64,
"description": "crew role strings to normalize against the catalog (max 64 entries, 128 chars each)"
},
"hint": {
"type": "string",
"maxLength": 128,
"description": "optional event type hint e.g. wedding, festival (max 128 chars)"
}
},
"required": [
"roles"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢analyze_event_to_uef(text, raw_input, hint, format_hint)
Turn messy live-event material (pasted festival pack, email, rundown, or notes) into a Universal Event Format (UEF) draft plus missing_fields, open_questions, and confidence. Call this when the user pasted event details and you need a structured draft before staffing or booking. Analyze only: no login, no organization, nothing is saved or committed, and dates/venues are never invented (absent facts stay null and appear in missing_fields). Requires AI gateway on the server; if unavailable the tool returns a clear error instead of being omitted from tools/list. Optional hint: event type, locale, or format (text|csv|unknown). File upload (content_base64) is a follow-up — paste text for now.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "messy pasted event pack / email / rundown / notes to analyze into UEF"
},
"raw_input": {
"type": "string",
"description": "legacy alias for text (normalize_event_data compatibility)"
},
"hint": {
"type": "string",
"description": "optional event type, locale, or format hint (text|csv|unknown); freeform hints are prepended to the source text"
},
"format_hint": {
"type": "string",
"enum": [
"text",
"csv",
"unknown"
],
"description": "legacy alias for hint when the value is text|csv|unknown"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_uef_schema
Return the Universal Event Format (UEF) JSON Schema for EVENT imports (schema_version 1.0), plus minimal and festival-style examples and a docs URL. Use as a schema textbook before drafting or editing UEF — no login, no AI, nothing is saved. Pair with validate_uef to check a draft locally.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_uef(uef)
Validate a UEF document (object or JSON string) against the public EVENT-focused rules: required target_type and events[].title / events[].event_date (YYYY-MM-DD), structural checks for source/venue/customer/members, and schema_version 1.0 alignment. Returns valid, errors (error|warning), missing_required catalog paths, and schema_version. Deterministic local workbook — no AI, no org write, no invented fixes. Input is capped at 256 KiB for both object and string forms.
Input Schema
{
"type": "object",
"properties": {
"uef": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "string"
}
],
"description": "UEF document as object or JSON string"
}
},
"required": [
"uef"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_places(query, city, type)
Search a seeded public industry catalog of well-known venues and hotels (not a complete world database; not org-private Soundcheck venues). Returns matching places from the seed by name, alias, or id. Unknown names return empty results with optional catalog name suggestions — never invented addresses or geo.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "name, alias, or id to search for (max 200 characters)"
},
"city": {
"type": "string",
"description": "optional city filter (case-insensitive substring)"
},
"type": {
"type": "string",
"enum": [
"venue",
"hotel"
],
"description": "optional place type filter"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_place(id)
Look up one entry from the seeded public industry places catalog by stable id (e.g. venue_red-rocks-amphitheatre). Not org-private CRM data; returns not found when the id is absent from the seed.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "stable catalog id, e.g. venue_red-rocks-amphitheatre"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_inventory(query)
Search the public Soundcheck live-event gear taxonomy (microphones, DI boxes, consoles, movers, cables, stands, backline, wireless, etc.). Optional query filters by name, alias, id, or category. Returns catalog version + types with stable inventory ids — not org stock levels, serials, quantities, or pricing. Use normalize_inventory when mapping free-text gear lists.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "optional search string (e.g. SM58, DI, mover, XLR). Omit or empty to list the full public catalog."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢normalize_inventory(lines)
Map free-text gear lines onto the public Soundcheck inventory catalog. Returns mapped[] (input, inventory_id, name, category, confidence) and unmapped[] (input + suggestions). Deterministic alias matching (e.g. SM58 → mic_shure_sm58). Does not read or write organization inventory stock. Use search_inventory to browse the taxonomy.
Input Schema
{
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 64,
"description": "gear lines to normalize (e.g. [\"SM58\", \"2x passive DI\", \"moving head\"]). Empty/whitespace lines are skipped. Max 64 lines, 200 chars each."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lookup_market_pricing(service_categories, market, region, country, event_type, ...)
Return real market price ranges for live-event services (DJ, live band, audio, lighting, video, stage crew, photography, production packages, performance fees) in a city, state, or country, with the evidence behind each range. Every number comes from recorded evidence: published vendor rates and industry rate cards with source URLs, plus Soundcheck booking actuals that are only ever released as aggregates backed by at least 3 distinct organizations — never a single org, never a named customer. No price is ever invented or modelled: when the evidence is missing the tool returns coverage "none" with a null range and no numbers at all, and walks market to region to country looking for real data first. Each category comes back with low/typical/high plus min and max, a basis block counting the evidence, up to 10 citable evidence rows, and a plain-English explanation. event_type, guest_count and duration_hours are accepted and echoed in the explanation but do not narrow the evidence yet.
Input Schema
{
"type": "object",
"properties": {
"service_categories": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 6,
"description": "what to price, 1-6 entries from: DJ, LIVE_BAND, AUDIO_PRODUCTION, LIGHTING, VIDEO, STAGE_CREW, PHOTOGRAPHY, PRODUCTION_PACKAGE, PERFORMANCE_FEE"
},
"market": {
"type": "string",
"description": "city market to price, e.g. \"Chicago, IL\"; falls back to region then country"
},
"region": {
"type": "string",
"description": "US state name or two-letter code, e.g. \"IL\"; used when the market has no evidence"
},
"country": {
"type": "string",
"description": "ISO-3166 alpha-2 country code; defaults to US"
},
"event_type": {
"type": "string",
"description": "event type such as wedding or festival; echoed back, does not filter yet"
},
"guest_count": {
"type": "number",
"description": "expected guest count; echoed back, does not filter yet"
},
"duration_hours": {
"type": "number",
"description": "expected service duration in hours; echoed back, does not filter yet"
},
"event_date": {
"type": "string",
"description": "event civil day as YYYY-MM-DD"
},
"pricing_unit": {
"type": "string",
"enum": [
"PER_EVENT",
"PER_HOUR",
"PER_DAY",
"PER_PERSON",
"PER_ITEM"
],
"description": "restrict evidence to one pricing unit; otherwise the dominant unit is reported"
}
},
"required": [
"service_categories"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡request_booking(organization_id, name, email, event_date, event_type, ...)
Submit a booking / staffing request to a Soundcheck organization on behalf of someone planning a live event. Creates a lead the org's team will follow up on. Requires organization_id, name, email, event_date, event_type, and location. If you're not certain the organization_id (slug or id) is correct, call get_public_org first to confirm it. If the user pasted messy event material, call analyze_event_to_uef first to draft UEF and see missing fields before booking.
Input Schema
{
"type": "object",
"properties": {
"organization_id": {
"type": "string",
"description": "the Soundcheck organization to send this booking/staffing request to (slug or id)"
},
"name": {
"type": "string",
"description": "the requester's name"
},
"email": {
"type": "string",
"description": "the requester's email"
},
"event_date": {
"type": "string",
"description": "the event date (e.g. 2026-07-04)"
},
"event_type": {
"type": "string",
"description": "the kind of event (e.g. wedding, festival, corporate, concert)"
},
"location": {
"type": "string",
"description": "where the event is (city / venue / address)"
},
"phone": {
"type": "string",
"description": "the requester's phone"
},
"budget": {
"type": "string",
"description": "approximate budget, free-form"
},
"message": {
"type": "string",
"description": "what the requester needs (roles, headcount, details)"
}
},
"required": [
"organization_id",
"name",
"email",
"event_date",
"event_type",
"location"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡request_sponsorship(organization_id, name, email, phone, website, ...)
Submit a sponsorship inquiry to a Soundcheck organization. Creates an inbound sponsor lead the org will follow up on. Requires organization_id, name, and email.
Input Schema
{
"type": "object",
"properties": {
"organization_id": {
"type": "string",
"description": "the Soundcheck organization to approach (slug or id)"
},
"name": {
"type": "string",
"description": "the prospective sponsor's name"
},
"email": {
"type": "string",
"description": "the sponsor contact email"
},
"phone": {
"type": "string",
"description": "the prospective sponsor's phone"
},
"website": {
"type": "string",
"description": "the sponsor's website or company URL"
},
"sponsorship_interest": {
"type": "string",
"description": "what they want to sponsor / their interest"
},
"estimated_budget": {
"type": "string",
"description": "approximate sponsorship budget, free-form"
},
"message": {
"type": "string",
"description": "additional sponsorship details or context"
}
},
"required": [
"organization_id",
"name",
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true on success (including confirmation_required prompts)"
},
"data": {
"description": "tool payload (API/composite/confirmation object); object, array, or primitive JSON"
},
"error": {
"type": "string",
"description": "when ok is false"
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence