# GigXchange

> UK live music: gigs, open mics, venues, musician profiles, GX Index gig rates and member bookings.

- name: app.gigxchange/gigxchange
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.gigxchange%2Fgigxchange
- tools: https://api.protogrid.dev/v1/servers/app.gigxchange%2Fgigxchange/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "gigxchange": {
      "type": "http",
      "url": "https://mcp.gigxchange.app/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 39 of 39 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 6,384 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 2 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 39, about 6,384 tokens to load them all
- tool set hash: 4c51bbdf58fbeff5292991238a571c27
- tools last changed: 2026-10-19T23:05:05.509Z
- badge: [![protogrid quality](https://protogrid.dev/badge/app.gigxchange/gigxchange.svg)](https://protogrid.dev/servers/app.gigxchange/gigxchange)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `apply_to_gig` changed (description)
  - before: 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 — the assistant never sets a number. One live application per gig, 5 per day. Requires the member's "Allow my assistant to act" switch.
  - after: 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.
- 2026-10-19 `make_offer` changed (inputSchema)
- 2026-10-19 `counter_booking` changed (inputSchema)
- 2026-10-19 `respond_to_booking` changed (description, inputSchema)
  - before: Accept or decline a booking offer the member RECEIVED (never one they sent). expected_fee must equal the current fee on the booking — re-read the booking first and state the fee. 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.
  - after: 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.
- 2026-10-19 `set_my_availability` changed (inputSchema)
- 2026-10-19 `check_member_availability` changed (description)
  - before: 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 this for "is X free on the 14th?"; use search_available_performers to find WHO is free.
  - after: 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.
- 2026-10-19 `search_help` changed (description)
  - before: 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). ALWAYS use this before answering any "how does GigXchange work / how do I ..." question, and answer FROM the returned text, citing the url. If it returns no results, say plainly that the GigXchange help centre does not cover it and suggest contacting support — do NOT fill the gap from general knowledge about other marketplaces, because platform mechanics (fees, deposits, cancellation rules) differ and a confident wrong answer costs the member money.
  - after: 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.
- 2026-10-19 `list_help_topics` changed (description)
  - before: The full map of GigXchange's official help centre — every category and the questions it answers. Use this to tell a member what you can help them with, or to orient yourself before searching. Anything NOT listed here is not covered by the help centre: say so rather than guessing.
  - after: 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.
- 2026-10-19 `list_cities` changed (description)
  - before: UK cities where GigXchange has members, with a member count each. Use to answer "do you cover <city>?" before searching.
  - after: UK cities where GigXchange has members, with a member count each. Use for "do you cover <city>?".
- 2026-10-19 `get_platform_stats` changed (description)
  - before: 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 - use search_open_gigs for that).
  - after: 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).

Full history: https://api.protogrid.dev/v1/servers/app.gigxchange%2Fgigxchange/changes

## Remotes

- https://mcp.gigxchange.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (39)

- `apply_to_gig`: 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.
- `check_member_availability`: 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.
- `counter_booking`: 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.
- `get_epk`: Public electronic press kit for an artist by URL slug (summary, genres, rating, media counts).
- `get_event`: Public detail for an event hosted on GigXchange by URL slug — date, venue, ticketing, organiser.
- `get_gig`: Full detail for a single directory gig — line-up, address, times, tickets. Use the city_slug + slug from a search_gigs result.
- `get_help_article`: The full text of one official GigXchange help article, by slug from a search_help result.
- `get_index_issue`: 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).
- `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.
- `get_member_spotlight`: Full editorial text of one Member Spotlight issue by slug, plus a link to the member profile it features.
- `get_open_mic`: Full detail for a single open mic night — schedule, signup, slot length, backline, address. Use the slug from a search_open_mics result.
- `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).
- `get_profile`: Public profile for a GigXchange member by URL slug (display name, bio, genres, location, ratings).
- `get_rates`: 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.
- `get_venue`: Full detail for a single grassroots venue — capacity, PA, backline, genres booked, curfew, address. Use the slug from a search_venues result.
- `list_cities`: UK cities where GigXchange has members, with a member count each. Use for "do you cover <city>?".
- `list_help_topics`: 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.
- `list_member_spotlights`: Index of published Member Spotlight features — long-form profiles of real GigXchange members. Newest first.
- `make_offer`: 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.
- `mark_my_notifications_read`: Mark all of the member's GigXchange notifications as read. Requires the member's "Allow my assistant to act" switch.
- `my_availability`: 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.
- `my_bookings`: The member's own bookings from 30 days ago onwards — status, date, venue/event, agreed fee, and which side they are on. 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.
- `my_profile`: The signed-in member's own profile: name, type, bio, location, verification, rating. Requires a connected account.
- `my_unread_messages`: Count of the member's unread messages. Returns a COUNT only — message contents are never exposed.
- `respond_to_booking`: 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.
- `search_available_performers`: 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.
- `search_available_venues`: 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.
- `search_gigs`: 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.
- `search_help`: 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.
- `search_open_gigs`: 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.
- `search_open_mics`: 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.
- `search_venues`: 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.
- `send_chat_message`: 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.
- `set_my_availability`: 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).
- `set_my_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.
- `set_my_fee_range`: 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.
- `submit_my_invoice`: 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.
- `toggle_my_favourite`: Toggle a GigXchange profile (by slug) in the member's favourites list. Requires the member's "Allow my assistant to act" switch.
