GigXchange
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
UK live music: gigs, open mics, venues, musician profiles, GX Index gig rates and member bookings.
| Author | app.gigxchange |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 628 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GigXchange": {
"url": "https://mcp.gigxchange.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (39)
search_gigsread-onlyGigs HAPPENING across the UK — the public listings directory of shows to go and see (mostly imported, already booked). Use for "what's on in Leeds this weekend?". These are concerts to attend, not work to apply for; gigs open for applications are in search_open_gigs. Filter by city and/or a date range ("this weekend"). Paginated.
Parameters:
city— string — UK city/town to filter by. Omit for national.limit— integeroffset— integerdate_to— string — Latest gig date, YYYY-MM-DD.date_from— string — Earliest gig date, YYYY-MM-DD. Omit for today.window_days— integer — How many days ahead to include (default 180). Ignored when date_from/date_to are given.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_open_gigsread-onlyMember-posted gigs that are OPEN FOR APPLICATIONS — real venues/promoters looking to book an act, future dates only. Use for "what can I apply for?", "any gigs for me?", "what work is going in Leeds?". Excludes the imported concert directory (search_gigs) and past dates. Each row carries the gig `id` that apply_to_gig needs, and `unpaid: true` where the gig pays nothing (charity/exposure). An empty result means no gigs are open for applications right now; concerts in search_gigs are not opportunities.
Parameters:
city— string — UK city/town to filter by. Omit for national.limit— integeroffset— integerdate_to— string — Latest gig date, YYYY-MM-DD.date_from— string — Earliest gig date, YYYY-MM-DD. Defaults to today.min_budget— number — Only gigs whose stated budget reaches this. Gigs with no budget stated are INCLUDED and flagged budget_unstated (budget unknown, not unpaid).
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_available_performersread-onlyGigXchange artists and bands open to a booking on a specific date. FREE-BY-DEFAULT: a member is bookable on every date EXCEPT ones they have marked (unavailable / on hold / already booked), so a large result means "nobody has blocked that day", not "everyone confirmed they are free"; it is not a confirmed yes. Each result carries the member `id` needed by make_offer and check_member_availability. Filter by city. act_type must be one of: solo, duo, trio, band. Paginated.
Parameters:
date(required) — string — The event date, YYYY-MM-DD. Required.city— string — UK city/town to filter by. Omit for national.limit— integeroffset— integeract_type— string — Optional act size filter. Exactly one of: solo, duo, trio, band. Anything else is rejected; DJs and other act kinds are found by genre.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_open_micsread-onlyRecurring UK open mic nights in a city, with day/frequency, signup method, backline and fee. Use `day` for "open mic tonight / on Thursday" (UK time). Filter by performer type (music, comedy, poetry...) and by kit the night lists (has_pa, has_backline, has_engineer - as the listing states it; a night that does not say is counted in a note, not treated as "none"). Paginated.
Parameters:
city(required) — string — UK city or town, e.g. "London", "Manchester".day— string — Optional: "today"/"tonight", "tomorrow", or a weekday (mon..sun). Resolved in UK time.limit— integer — Rows per page (max 25).has_pa— boolean — Only nights that list a PA (or full backline) provided.offset— integer — Row offset for paging (use next_offset from a prior call).has_backline— boolean — Only nights that list drums or amps (or full backline) provided.has_engineer— boolean — Only nights that list a sound engineer.performer_type— string — Optional: e.g. "music", "comedy", "poetry" - matches the listing's performer types.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_venuesread-onlyThe public directory of UK grassroots live-music venues in a city (listings, no booking): capacity, backline, PA, engineer and genres booked. Filter by genre, capacity, PA/backline/engineer and live-music day. GigXchange MEMBER venues open to a gig request on a date are in search_available_venues. Paginated.
Parameters:
city(required) — string — UK city or town, e.g. "London", "Manchester".day— string — Optional: venues that host live music on "today", "tomorrow" or a weekday (mon..sun), UK time.genre— string — Optional genre the venue books, e.g. "metal", "jazz", "hip hop". Free-text match; venues list genres loosely.limit— integer — Rows per page (max 25).has_pa— boolean — Only venues with a house PA.offset— integer — Row offset for paging (use next_offset from a prior call).has_backline— boolean — Only venues with drums or amps provided.has_engineer— boolean — Only venues with an in-house sound engineer.max_capacity— integer — Optional maximum standing capacity.min_capacity— integer — Optional minimum standing capacity.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_available_venuesread-onlyGigXchange MEMBER venues open to receiving a gig request on a specific date (free-by-default: open unless the venue marked that date). Use for "which venues could I pitch for Friday?". This is availability to RECEIVE A REQUEST TO PLAY, not room hire: GigXchange does not currently support hiring a venue/room and has no hire rates. Filter by city. Paginated.
Parameters:
date(required) — string — The event date, YYYY-MM-DD. Required.city— string — UK city/town to filter by. Omit for national.limit— integeroffset— integermin_capacity— integer — Optional minimum capacity.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_index_summaryread-onlyOverview of the GigXchange Index (GX Index), the UK live-music pay index: headline counts, the cities it covers, every published monthly issue (slug, title, url), the latest issue's open datasets (HuggingFace, Kaggle, Zenodo DOI) and the city average-fee league behind the Pint Index. Use for any GX Index question; fees are in get_rates and single issues in get_index_issue.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_ratesread-onlyWhat UK acts typically get paid, from the GigXchange Index: median and range (25th-90th percentile) by city, gig type and act size, with sample size and an honest label when a figure is regional, UK-wide or modelled. Use for "what should my band charge", "what does a wedding band cost in Leeds", "cheapest city for pub gigs" (pass several cities to compare). Typical published artist take-home fees, not a quote. No genre dimension. Regions are not accepted - pass a city.
Parameters:
cities— array — UK cities to look up (1-13), e.g. ["Leeds"] or several to compare. Omit for the UK-wide figure. get_index_summary lists the cities with their own data; other towns fall back to the nearest Index city (labelled).use_case— string — Gig type. "any" (default) = all gig types. pubs_and_bars = pub/bar gigs. theatre exists for solo acts only.band_size— string — Act size. trio_quartet = "3-4 piece", five_plus = "5-piece or bigger". "any" (default) = all sizes.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_index_issueread-onlyOne published GigXchange Index monthly issue by slug (e.g. "september-2026" - get_index_summary lists them): headline description, key figures, context, FAQ, PDF and open-dataset links (HuggingFace, Kaggle, Zenodo DOI).
Parameters:
slug(required) — string — Issue slug, e.g. "september-2026".
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_platform_statsread-onlyLive counts across GigXchange: members by type, venues, open mics, cities, and upcoming gigs listed in the directory (concerts to see, not work to apply for; gigs open for applications are in search_open_gigs).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_profileread-onlyPublic profile for a GigXchange member by URL slug (display name, bio, genres, location, ratings).
Parameters:
slug(required) — string — Profile URL slug, e.g. "jason-and-the-donovans".
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_epkread-onlyPublic electronic press kit for an artist by URL slug (summary, genres, rating, media counts).
Parameters:
slug(required) — string — Artist profile/EPK URL slug.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_gigread-onlyFull detail for a single directory gig — line-up, address, times, tickets. Use the city_slug + slug from a search_gigs result.
Parameters:
city_slug(required) — string — The city part of the gig's web address, e.g. "london".slug(required) — string — The gig slug from a search_gigs result.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_open_micread-onlyFull detail for a single open mic night — schedule, signup, slot length, backline, address. Use the slug from a search_open_mics result.
Parameters:
slug(required) — string — Open mic slug from a search_open_mics result.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_venueread-onlyFull detail for a single grassroots venue — capacity, PA, backline, genres booked, curfew, address. Use the slug from a search_venues result.
Parameters:
slug(required) — string — Venue slug from a search_venues result.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_eventread-onlyPublic detail for an event hosted on GigXchange by URL slug — date, venue, ticketing, organiser.
Parameters:
slug(required) — string — Event URL slug.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_citiesread-onlyUK cities where GigXchange has members, with a member count each. Use for "do you cover <city>?".
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_member_spotlightsread-onlyIndex of published Member Spotlight features — long-form profiles of real GigXchange members. Newest first.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_member_spotlightread-onlyFull editorial text of one Member Spotlight issue by slug, plus a link to the member profile it features.
Parameters:
slug(required) — string — Spotlight slug from list_member_spotlights.
Hints: read-only yes · destructive no · idempotent yes · open-world no
my_profileread-onlyThe signed-in member's own profile: name, type, bio, location, verification, rating. Requires a connected account.
Hints: read-only yes · destructive no · idempotent yes · open-world no
my_unread_messagesread-onlyCount of the member's unread messages. Returns a COUNT only — message contents are never exposed.
Hints: read-only yes · destructive no · idempotent yes · open-world no
my_bookingsread-onlyThe member's own bookings from 30 days ago onwards — status, date, venue/event, agreed fee, and which side they are on. Max 25.
Parameters:
limit— integer — Rows to return (max 25).
Hints: read-only yes · destructive no · idempotent yes · open-world no
my_invoicesread-onlyStatus and amounts of the member's invoices, both directions — each row carries direction: "sent" (issued by the member) or "received" (billed to them). Payment-processor identifiers are never exposed.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_help_topicsread-onlyThe full map of GigXchange's official help centre — every category and the questions it answers. Use for "what can you help me with?" or to see what the help centre covers. Topics not listed here are not covered by the help centre.
Parameters:
category— string — Optional: only this category (e.g. "Fees & Payments").
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_helpread-onlySearches GigXchange's help articles — its own documentation of how the platform works (payments, fees, deposits, cancellations, bookings, profiles, messages, account, what to do when something goes wrong). Returns matching articles with their url, or no results when the help centre does not cover a topic.
Parameters:
query(required) — string — What the member wants to know, in their own words.role— string — Optional: the member's role (artist, venue, agent, promoter, organiser) so role-specific articles rank first.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_help_articleread-onlyThe full text of one official GigXchange help article, by slug from a search_help result.
Parameters:
slug(required) — string — Article slug from search_help.
Hints: read-only yes · destructive no · idempotent yes · open-world no
my_availabilityread-onlyThe member's OWN availability for a date window. GigXchange is free-by-default: they are bookable on every date EXCEPT the marked ones this returns (unavailable / soft_hold / confirmed_booking). Default window 90 days, max 365.
Parameters:
to— string — End date YYYY-MM-DD. Defaults to 90 days after "from"; capped at 365.from— string — Start date YYYY-MM-DD. Defaults to today.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_member_availabilityread-onlyWhether ONE named member (artist or venue, by profile id from search/get_profile) is free on a specific date. Free-by-default: "available" means nothing is marked against that date. Use for "is X free on the 14th?"; finding WHO is free is search_available_performers.
Parameters:
member(required) — string — The member's profile SLUG from a search result (e.g. "jason-and-the-donovans"). A profile id is also accepted.date(required) — string — The date, YYYY-MM-DD.
Hints: read-only yes · destructive no · idempotent yes · open-world no
set_my_availabilitydestructiveSet a date on the member's own GigXchange calendar: unavailable, soft_hold (pencilled), or available (clears the manual entry). Same statuses the app's calendar offers; a booked night comes from a real booking, never by hand; only touches manual entries — never booking-derived ones. Requires the member's "Allow my assistant to act" switch (Settings > Integrations > AI).
Parameters:
date(required) — string — The date, YYYY-MM-DD (today to one year ahead).status(required) — string — "available" clears the manual entry; the others set it. A booked night comes only from a real booking and cannot be set here.
Hints: read-only no · destructive yes · idempotent no · open-world no
toggle_my_favouritedestructiveToggle a GigXchange profile (by slug) in the member's favourites list. Requires the member's "Allow my assistant to act" switch.
Parameters:
slug(required) — string — Profile slug, e.g. from a search or profile result url.
Hints: read-only no · destructive yes · idempotent no · open-world no
mark_my_notifications_readdestructiveMark all of the member's GigXchange notifications as read. Requires the member's "Allow my assistant to act" switch.
Hints: read-only no · destructive yes · idempotent yes · open-world no
set_my_fee_rangedestructiveUpdate the member's own public fee range (GBP, min and max) shown on their profile — the same field as the app's profile editor. Requires the member's "Allow my assistant to act" switch.
Parameters:
min_fee(required) — number — Minimum fee in GBP (0 or more).max_fee(required) — number — Maximum fee in GBP (must be >= min, capped 100000).
Hints: read-only no · destructive yes · idempotent no · open-world no
respond_to_bookingdestructiveAccept or decline a booking offer the member RECEIVED (never one they sent). expected_fee must equal the current fee on the booking (refused otherwise). Declining requires a short reason (relayed to the other party) and is limited to 3 per day. Accepting can start the payment flow. Requires the member's "Allow my assistant to act" switch.
Parameters:
booking_id(required) — string — The booking id from a my_bookings result.action(required) — stringexpected_fee(required) — number — The fee currently on the booking (GBP). Refused if it does not match.note— string — Short message to the other party. REQUIRED when declining.
Hints: read-only no · destructive yes · idempotent yes · open-world no
counter_bookingdestructivePropose a different fee on a pending booking offer (posts an amended offer card in chat, retiring the old one). expected_current_fee must match the booking; the new fee must stay within 50-200% of it, and only one counter per booking per day. Requires the member's "Allow my assistant to act" switch.
Parameters:
booking_id(required) — string — The booking id from a my_bookings result.expected_current_fee(required) — number — The fee currently on the booking (GBP).new_fee(required) — number — The proposed fee (GBP), within 50-200% of the current fee.note— string — Optional short message to accompany the counter.
Hints: read-only no · destructive yes · idempotent no · open-world no
make_offerdestructiveSend a booking offer to another GigXchange member — the recipient gets a pending booking, a notification and an offer card in Messages, exactly as if the member had sent it in the app. Supported pairs: venue/promoter/organiser to artist, artist to venue/promoter, promoter to venue. Offers involving an agent are app-only. Max 5 offers a day, one per recipient a day, and no duplicate live offer for the same date. Requires the member's "Allow my assistant to act" switch.
Parameters:
recipient(required) — string — The member being offered the booking, by profile SLUG from a search result (e.g. "jason-and-the-donovans"). A profile id is also accepted.event_title(required) — string — What the booking is for, e.g. "Friday headline slot" (max 120 chars).event_date(required) — string — Event date, YYYY-MM-DD. Must be today or later.fee(required) — number — The fee offered in GBP (1-100000).notes— string — Optional note to the recipient (max 500 chars).end_time— string — Optional end time, HH:MM.start_time— string — Optional start time, HH:MM.
Hints: read-only no · destructive yes · idempotent no · open-world no
apply_to_gigdestructiveApply the member to an open gig from search_open_gigs (GigXchange member-posted gigs only). The offered fee comes from the gig's listed budget — there is no fee parameter. One live application per gig, 5 per day. Requires the member's "Allow my assistant to act" switch.
Parameters:
gig_id(required) — string — The gig id.note— string — Optional short application message (max 500 chars).
Hints: read-only no · destructive yes · idempotent yes · open-world no
set_my_biodestructiveReplace the member's own public profile bio (plain text, max 1500 chars). The previous bio is returned and included in the member's notification for easy recovery. Requires the member's "Allow my assistant to act" switch.
Parameters:
bio(required) — string — The new bio text.
Hints: read-only no · destructive yes · idempotent no · open-world no
send_chat_messagedestructiveSend a text message into one of the member's EXISTING GigXchange conversations (no new conversations). Max 2000 characters, 10 per conversation per day. The exact text sent is returned. Requires the member's "Allow my assistant to act" switch.
Parameters:
conversation_id(required) — string — An existing conversation id the member participates in.body(required) — string — The message text (plain text, max 2000 chars).
Hints: read-only no · destructive yes · idempotent no · open-world no
submit_my_invoicedestructiveSend one of the member's own DRAFT settle-privately invoices to its GigXchange recipient (notifies them + posts the invoice card in chat). Platform-generated booking invoices are refused — GigXchange sends those automatically. Requires the member's "Allow my assistant to act" switch.
Parameters:
invoice_id(required) — string — The invoice id (drafts appear in my_invoices with status draft).
Hints: read-only no · destructive yes · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.