GigXchange
UK live music: gigs, open mics, venues, musician profiles, GX Index gig rates and member bookings.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 get_event 中
- LOW在 get_member_spotlight 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"gigxchange": {
"url": "https://mcp.gigxchange.app/mcp"
}
}
}遠端端點
https://mcp.gigxchange.app/mcpstreamable-http它能做什麼
工具清單
工具(39)
🟢search_gigs(city, date_from, date_to, window_days, limit, ...)
Gigs 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.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "UK city/town to filter by. Omit for national."
},
"date_from": {
"type": "string",
"description": "Earliest gig date, YYYY-MM-DD. Omit for today."
},
"date_to": {
"type": "string",
"description": "Latest gig date, YYYY-MM-DD."
},
"window_days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "How many days ahead to include (default 180). Ignored when date_from/date_to are given."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"offset": {
"type": "integer",
"minimum": 0
}
}
}🟢search_open_gigs(city, date_from, date_to, min_budget, limit, ...)
Member-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.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "UK city/town to filter by. Omit for national."
},
"date_from": {
"type": "string",
"description": "Earliest gig date, YYYY-MM-DD. Defaults to today."
},
"date_to": {
"type": "string",
"description": "Latest gig date, YYYY-MM-DD."
},
"min_budget": {
"type": "number",
"description": "Only gigs whose stated budget reaches this. Gigs with no budget stated are INCLUDED and flagged budget_unstated (budget unknown, not unpaid)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"offset": {
"type": "integer",
"minimum": 0
}
}
}🟢search_available_performers(date, city, act_type, limit, offset)
GigXchange 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.
輸入結構描述
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "The event date, YYYY-MM-DD. Required."
},
"city": {
"type": "string",
"description": "UK city/town to filter by. Omit for national."
},
"act_type": {
"type": "string",
"description": "Optional act size filter. Exactly one of: solo, duo, trio, band. Anything else is rejected; DJs and other act kinds are found by genre."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [
"date"
]
}🟢search_open_mics(city, limit, offset, day, performer_type, ...)
Recurring 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.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "UK city or town, e.g. \"London\", \"Manchester\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Rows per page (max 25)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Row offset for paging (use next_offset from a prior call)."
},
"day": {
"type": "string",
"description": "Optional: \"today\"/\"tonight\", \"tomorrow\", or a weekday (mon..sun). Resolved in UK time."
},
"performer_type": {
"type": "string",
"description": "Optional: e.g. \"music\", \"comedy\", \"poetry\" - matches the listing's performer types."
},
"has_pa": {
"type": "boolean",
"description": "Only nights that list a PA (or full backline) provided."
},
"has_backline": {
"type": "boolean",
"description": "Only nights that list drums or amps (or full backline) provided."
},
"has_engineer": {
"type": "boolean",
"description": "Only nights that list a sound engineer."
}
},
"required": [
"city"
]
}🟢search_venues(city, limit, offset, genre, min_capacity, ...)
The 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.
輸入結構描述
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "UK city or town, e.g. \"London\", \"Manchester\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Rows per page (max 25)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Row offset for paging (use next_offset from a prior call)."
},
"genre": {
"type": "string",
"description": "Optional genre the venue books, e.g. \"metal\", \"jazz\", \"hip hop\". Free-text match; venues list genres loosely."
},
"min_capacity": {
"type": "integer",
"minimum": 0,
"description": "Optional minimum standing capacity."
},
"max_capacity": {
"type": "integer",
"minimum": 0,
"description": "Optional maximum standing capacity."
},
"has_pa": {
"type": "boolean",
"description": "Only venues with a house PA."
},
"has_backline": {
"type": "boolean",
"description": "Only venues with drums or amps provided."
},
"has_engineer": {
"type": "boolean",
"description": "Only venues with an in-house sound engineer."
},
"day": {
"type": "string",
"description": "Optional: venues that host live music on \"today\", \"tomorrow\" or a weekday (mon..sun), UK time."
}
},
"required": [
"city"
]
}🟢search_available_venues(date, city, min_capacity, limit, offset)
GigXchange 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.
輸入結構描述
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "The event date, YYYY-MM-DD. Required."
},
"city": {
"type": "string",
"description": "UK city/town to filter by. Omit for national."
},
"min_capacity": {
"type": "integer",
"description": "Optional minimum capacity."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [
"date"
]
}🟢get_index_summary
Overview 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.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_rates(cities, use_case, band_size)
What 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.
輸入結構描述
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 0,
"maxItems": 13,
"description": "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": {
"type": "string",
"enum": [
"any",
"wedding",
"corporate",
"private_party",
"pubs_and_bars",
"club",
"festival",
"theatre"
],
"description": "Gig type. \"any\" (default) = all gig types. pubs_and_bars = pub/bar gigs. theatre exists for solo acts only."
},
"band_size": {
"type": "string",
"enum": [
"any",
"solo",
"duo",
"trio_quartet",
"five_plus"
],
"description": "Act size. trio_quartet = \"3-4 piece\", five_plus = \"5-piece or bigger\". \"any\" (default) = all sizes."
}
}
}🟢get_index_issue(slug)
One 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).
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Issue slug, e.g. \"september-2026\"."
}
},
"required": [
"slug"
]
}🟢get_platform_stats
Live 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).
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_profile(slug)
Public profile for a GigXchange member by URL slug (display name, bio, genres, location, ratings).
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Profile URL slug, e.g. \"jason-and-the-donovans\"."
}
},
"required": [
"slug"
]
}🟢get_epk(slug)
Public electronic press kit for an artist by URL slug (summary, genres, rating, media counts).
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Artist profile/EPK URL slug."
}
},
"required": [
"slug"
]
}🟢get_gig(city_slug, slug)
Full detail for a single directory gig — line-up, address, times, tickets. Use the city_slug + slug from a search_gigs result.
輸入結構描述
{
"type": "object",
"properties": {
"city_slug": {
"type": "string",
"description": "The city part of the gig's web address, e.g. \"london\"."
},
"slug": {
"type": "string",
"description": "The gig slug from a search_gigs result."
}
},
"required": [
"city_slug",
"slug"
]
}🟢get_open_mic(slug)
Full detail for a single open mic night — schedule, signup, slot length, backline, address. Use the slug from a search_open_mics result.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Open mic slug from a search_open_mics result."
}
},
"required": [
"slug"
]
}🟢get_venue(slug)
Full detail for a single grassroots venue — capacity, PA, backline, genres booked, curfew, address. Use the slug from a search_venues result.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Venue slug from a search_venues result."
}
},
"required": [
"slug"
]
}🟢get_event(slug)
Public detail for an event hosted on GigXchange by URL slug — date, venue, ticketing, organiser.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Event URL slug."
}
},
"required": [
"slug"
]
}🟢list_cities
UK cities where GigXchange has members, with a member count each. Use for "do you cover <city>?".
輸入結構描述
{
"type": "object",
"properties": {}
}🟢list_member_spotlights
Index of published Member Spotlight features — long-form profiles of real GigXchange members. Newest first.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_member_spotlight(slug)
Full editorial text of one Member Spotlight issue by slug, plus a link to the member profile it features.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Spotlight slug from list_member_spotlights."
}
},
"required": [
"slug"
]
}🟢my_profile
The signed-in member's own profile: name, type, bio, location, verification, rating. Requires a connected account.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢my_unread_messages
Count of the member's unread messages. Returns a COUNT only — message contents are never exposed.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢my_bookings(limit)
The member's own bookings from 30 days ago onwards — status, date, venue/event, agreed fee, and which side they are on. Max 25.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Rows to return (max 25)."
}
}
}🟢my_invoices
Status 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.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢list_help_topics(category)
The 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.
輸入結構描述
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional: only this category (e.g. \"Fees & Payments\")."
}
}
}🟢search_help(query, role)
Search GigXchange's OFFICIAL help articles — the platform's own documentation of how it works (payments, bookings, profiles, messages, account, what to do when something goes wrong). Use for any "how does GigXchange work / how do I ..." question. Returns matching articles with their url, or no results when the help centre does not cover a topic. Platform mechanics (fees, deposits, cancellation rules) are specific to GigXchange and differ from other marketplaces.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What the member wants to know, in their own words."
},
"role": {
"type": "string",
"description": "Optional: the member's role (artist, venue, agent, promoter, organiser) so role-specific articles rank first."
}
},
"required": [
"query"
]
}🟢get_help_article(slug)
The full text of one official GigXchange help article, by slug from a search_help result.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Article slug from search_help."
}
},
"required": [
"slug"
]
}🟢my_availability(from, to)
The 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.
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start date YYYY-MM-DD. Defaults to today."
},
"to": {
"type": "string",
"description": "End date YYYY-MM-DD. Defaults to 90 days after \"from\"; capped at 365."
}
}
}🟢check_member_availability(member, date)
Whether 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.
輸入結構描述
{
"type": "object",
"properties": {
"member": {
"type": "string",
"description": "The member's profile SLUG from a search result (e.g. \"jason-and-the-donovans\"). A profile id is also accepted."
},
"date": {
"type": "string",
"description": "The date, YYYY-MM-DD."
}
},
"required": [
"member",
"date"
]
}🔴set_my_availability(date, status)
Set 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).
輸入結構描述
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "The date, YYYY-MM-DD (today to one year ahead)."
},
"status": {
"type": "string",
"enum": [
"unavailable",
"available",
"soft_hold"
],
"description": "\"available\" clears the manual entry; the others set it. A booked night comes only from a real booking and cannot be set here."
}
},
"required": [
"date",
"status"
]
}🔴toggle_my_favourite(slug)
Toggle a GigXchange profile (by slug) in the member's favourites list. Requires the member's "Allow my assistant to act" switch.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Profile slug, e.g. from a search or profile result url."
}
},
"required": [
"slug"
]
}🔴mark_my_notifications_read
Mark all of the member's GigXchange notifications as read. Requires the member's "Allow my assistant to act" switch.
輸入結構描述
{
"type": "object",
"properties": {}
}🔴set_my_fee_range(min_fee, max_fee)
Update 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.
輸入結構描述
{
"type": "object",
"properties": {
"min_fee": {
"type": "number",
"description": "Minimum fee in GBP (0 or more)."
},
"max_fee": {
"type": "number",
"description": "Maximum fee in GBP (must be >= min, capped 100000)."
}
},
"required": [
"min_fee",
"max_fee"
]
}🔴respond_to_booking(booking_id, action, expected_fee, note)
Accept 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.
輸入結構描述
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"description": "The booking id from a my_bookings result."
},
"action": {
"type": "string",
"enum": [
"accept",
"decline"
]
},
"expected_fee": {
"type": "number",
"description": "The fee currently on the booking (GBP). Refused if it does not match."
},
"note": {
"type": "string",
"description": "Short message to the other party. REQUIRED when declining."
}
},
"required": [
"booking_id",
"action",
"expected_fee"
]
}🔴counter_booking(booking_id, expected_current_fee, new_fee, note)
Propose 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.
輸入結構描述
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"description": "The booking id from a my_bookings result."
},
"expected_current_fee": {
"type": "number",
"description": "The fee currently on the booking (GBP)."
},
"new_fee": {
"type": "number",
"description": "The proposed fee (GBP), within 50-200% of the current fee."
},
"note": {
"type": "string",
"description": "Optional short message to accompany the counter."
}
},
"required": [
"booking_id",
"expected_current_fee",
"new_fee"
]
}🔴make_offer(recipient, event_title, event_date, fee, start_time, ...)
Send 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.
輸入結構描述
{
"type": "object",
"properties": {
"recipient": {
"type": "string",
"description": "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": {
"type": "string",
"description": "What the booking is for, e.g. \"Friday headline slot\" (max 120 chars)."
},
"event_date": {
"type": "string",
"description": "Event date, YYYY-MM-DD. Must be today or later."
},
"fee": {
"type": "number",
"description": "The fee offered in GBP (1-100000)."
},
"start_time": {
"type": "string",
"description": "Optional start time, HH:MM."
},
"end_time": {
"type": "string",
"description": "Optional end time, HH:MM."
},
"notes": {
"type": "string",
"description": "Optional note to the recipient (max 500 chars)."
}
},
"required": [
"recipient",
"event_title",
"event_date",
"fee"
]
}🔴apply_to_gig(gig_id, note)
Apply 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.
輸入結構描述
{
"type": "object",
"properties": {
"gig_id": {
"type": "string",
"description": "The gig id."
},
"note": {
"type": "string",
"description": "Optional short application message (max 500 chars)."
}
},
"required": [
"gig_id"
]
}🔴set_my_bio(bio)
Replace 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.
輸入結構描述
{
"type": "object",
"properties": {
"bio": {
"type": "string",
"description": "The new bio text."
}
},
"required": [
"bio"
]
}🔴send_chat_message(conversation_id, body)
Send 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.
輸入結構描述
{
"type": "object",
"properties": {
"conversation_id": {
"type": "string",
"description": "An existing conversation id the member participates in."
},
"body": {
"type": "string",
"description": "The message text (plain text, max 2000 chars)."
}
},
"required": [
"conversation_id",
"body"
]
}🔴submit_my_invoice(invoice_id)
Send 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.
輸入結構描述
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"description": "The invoice id (drafts appear in my_invoices with status draft)."
}
},
"required": [
"invoice_id"
]
}社群
證據