# Bandsintown MCP tools

> Every Bandsintown MCP tool on the Cotlet server: tool names, input schemas, a tools/call example and an example result for each tool.

Source: https://cotlet.dev/docs/mcp/bandsintown

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

11 tools for Bandsintown on the Cotlet MCP server. Your agent picks them from tools/list.

- MCP server: `https://cotlet.dev/mcp/v1`
- Connects with: Your own Bandsintown for Artists account, with admin access to the artist page
- Integration page: https://cotlet.dev/integrations/bandsintown-api-mcp-server

## Endpoints

| Endpoint | Access | Description |
|---|---|---|
| `bandsintown_list_events` | read | Events on your artist page with date, venue, ticket links and status. |
| `bandsintown_get_event` | read | One event in full: venue, lineup, description, ticket links, on-sale time and URL. |
| `bandsintown_search_venues` | read | Find a Bandsintown venue by name and city, to attach it to an event. |
| `bandsintown_get_event_stats` | read | RSVPs for each of your shows, as in the Events Performance view of Insights. |
| `bandsintown_get_follower_stats` | read | Total followers, RSVPs and ticket clicks with the change over a period, from Insights. |
| `bandsintown_get_top_markets` | read | Locations where your fans are, ranked by trackers or fan requests. |
| `bandsintown_create_event` | write | New event saved as a draft. Nothing is public until you publish it. |
| `bandsintown_update_event` | write | Change the date, venue, lineup, description or ticket links of a draft or published event. |
| `bandsintown_publish_event` | write | Publish a draft now or at a set time, optionally notifying followers. |
| `bandsintown_delete_event` | write | Remove an event from your artist page. |
| `bandsintown_send_fan_message` | write | Post to your followers by push notification and email, now or at a set time. |

## List events

MCP tool: `bandsintown_list_events`

Access: read.

Returns events of one artist page, soonest first, with date, venue, ticket links and whether each is published or a draft. Filter by status or by date range. Use the event_id from each item in the other tools.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `status` | enum | no | upcoming, past, draft or all. Default: upcoming. |
| `from` | date | no | Only events on or after this date. |
| `to` | date | no | Only events on or before this date. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_list_events",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "events": [
      {
        "event_id": "1037728455",
        "status": "published",
        "starts_at": "2026-11-14T20:00:00+00:00",
        "venue": {
          "name": "Brudenell Social Club",
          "city": "Leeds",
          "country": "United Kingdom"
        },
        "ticket_links": [
          {
            "url": "https://tickets.example.com/yourband-leeds",
            "type": "tickets"
          }
        ],
        "url": "https://www.bandsintown.com/e/1037728455"
      },
      {
        "event_id": "1037728501",
        "status": "draft",
        "starts_at": "2026-12-03T19:30:00+01:00",
        "venue": {
          "name": "Columbiahalle",
          "city": "Berlin",
          "country": "Germany"
        },
        "ticket_links": [],
        "url": null
      }
    ]
  },
  "isError": false
}
```

## Get event

MCP tool: `bandsintown_get_event`

Access: read.

Returns one event with every field you can set in the event form: location, lineup, description and ticket links with their on-sale time. Bandsintown rewrites ticket links, so the links shown are the ones you entered.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `event_id` | string | yes | Event ID from list_events. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_get_event",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "1037728455",
    "status": "published",
    "starts_at": "2026-11-14T20:00:00+00:00",
    "venue": {
      "name": "Brudenell Social Club",
      "city": "Leeds",
      "country": "United Kingdom"
    },
    "lineup": [
      "Your Band"
    ],
    "description": "Album launch show.",
    "ticket_links": [
      {
        "url": "https://tickets.example.com/yourband-leeds",
        "type": "tickets",
        "on_sale_at": "2026-10-16T10:00:00+01:00"
      }
    ],
    "url": "https://www.bandsintown.com/e/1037728455"
  },
  "isError": false
}
```

## Search venues

MCP tool: `bandsintown_search_venues`

Access: read.

Searches the Bandsintown venue list and returns matches with a venue_id. If the venue is not listed, pass custom_location to create_event instead. Attach a venue with a full location: events without one are not considered by Bandsintown's recommendations.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `query` | string | yes | Venue name. |
| `city` | string | no | City, to narrow the results. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_search_venues",
    "arguments": {
      "query": "query"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "venues": [
      {
        "venue_id": "v_118302",
        "name": "Brudenell Social Club",
        "city": "Leeds",
        "country": "United Kingdom"
      }
    ]
  },
  "isError": false
}
```

## Get event stats

MCP tool: `bandsintown_get_event_stats`

Access: read.

Returns RSVPs per show from Insights, the same figures as Events Performance. Pass event_id for one show, or leave it out for all upcoming shows.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `event_id` | string | no | Only this event. Default: all upcoming events. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_get_event_stats",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "events": [
      {
        "event_id": "1037728455",
        "venue": "Brudenell Social Club",
        "starts_at": "2026-11-14T20:00:00+00:00",
        "rsvps": 212
      }
    ]
  },
  "isError": false
}
```

## Get follower stats

MCP tool: `bandsintown_get_follower_stats`

Access: read.

Returns the Insights summary: total followers, RSVPs and ticket clicks, with how much each changed in the period. Periods match the Insights filters. Read only.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `period` | enum | no | 7d, 4w or 12m. Default: 4w. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_get_follower_stats",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "period": "7d",
    "followers": {
      "total": 18420,
      "change": 163
    },
    "rsvps": {
      "total": 2310,
      "change": 54
    },
    "ticket_clicks": {
      "total": 1190,
      "change": 37
    }
  },
  "isError": false
}
```

## Get top markets

MCP tool: `bandsintown_get_top_markets`

Access: read.

Returns your top locations from Insights, the same list as Top Markets. Sort by trackers (followers) or by fan requests (fans asking you to play there). Read only.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `rank_by` | enum | no | trackers or fan_requests. Default: trackers. |
| `limit` | integer | no | 1 to 50. Default: 10. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_get_top_markets",
    "arguments": {
      "rank_by": "fan_requests",
      "limit": 25
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "markets": [
      {
        "rank": 1,
        "location": "London, United Kingdom",
        "trackers": 2104,
        "fan_requests": 311
      },
      {
        "rank": 2,
        "location": "Leeds, United Kingdom",
        "trackers": 1388,
        "fan_requests": 96
      }
    ]
  },
  "isError": false
}
```

## Create event

MCP tool: `bandsintown_create_event`

Access: write.

Saves a new event as a draft; Bandsintown lists drafts under Drafts. Attach a venue from search_venues or pass custom_location. One ticket link must carry the Tickets label. create_event reaches no one and one delete_event call undoes it, so it runs without asking first.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `starts_at` | datetime | yes | Local venue time, ISO 8601. |
| `venue_id` | string | no | Venue from search_venues. Or use custom_location. |
| `custom_location` | object | no | name, city, country, for a place not in the venue list. |
| `title` | string | no | Event name, if different from the artist name. |
| `description` | string | no | Event description. |
| `lineup` | string[] | no | Other artists with a Bandsintown page on the bill. |
| `ticket_links` | object[] | no | List of { url, type, on_sale_at }; type is tickets, free or sold_out. One link must be tickets. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_create_event",
    "arguments": {
      "starts_at": "2026-11-14T20:00:00+00:00",
      "venue_id": "v_118302",
      "ticket_links": [
        {
          "url": "https://tickets.example.com/yourband-leeds",
          "type": "tickets"
        }
      ]
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "1037728455",
    "status": "draft",
    "starts_at": "2026-11-14T20:00:00+00:00",
    "venue": {
      "name": "Brudenell Social Club",
      "city": "Leeds",
      "country": "United Kingdom"
    },
    "ticket_links": [
      {
        "url": "https://tickets.example.com/yourband-leeds",
        "type": "tickets"
      }
    ],
    "url": null
  },
  "isError": false
}
```

## Update event

MCP tool: `bandsintown_update_event`

Access: write. Confirm: waits for the user's OK before it runs.

Changes only the fields you pass, on a published event or a draft. Bandsintown notifies followers of changes unless Notify my Followers is off; notify_followers defaults to false here, so set it to true only for changes fans must hear about, such as a new venue. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `event_id` | string | yes | Event ID from list_events. |
| `fields` | object | yes | Any of starts_at, venue_id, custom_location, title, description, lineup, ticket_links. |
| `notify_followers` | boolean | no | Alert followers about the change. Default: false. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_update_event",
    "arguments": {
      "event_id": "1037728455",
      "fields": {
        "starts_at": "2026-11-21T20:00:00+00:00"
      },
      "notify_followers": true
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "1037728455",
    "status": "published",
    "starts_at": "2026-11-21T20:00:00+00:00",
    "ticket_links": [
      {
        "url": "https://tickets.example.com/yourband-leeds",
        "type": "tickets"
      }
    ],
    "followers_notified": false
  },
  "isError": false
}
```

## Publish event

MCP tool: `bandsintown_publish_event`

Access: write. Confirm: waits for the user's OK before it runs.

Publishes a draft now, or schedules it, as the dashboard's Publish and Schedule to Publish do. With notify_followers on, Bandsintown alerts followers. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `event_id` | string | yes | Event ID from list_events. |
| `publish_at` | datetime | no | Schedule for later. Default: now. |
| `notify_followers` | boolean | no | Alert followers. Default: true. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_publish_event",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "1037728501",
    "status": "scheduled",
    "publish_at": "2026-10-16T10:00:00+01:00",
    "followers_notified": true
  },
  "isError": false
}
```

## Delete event

MCP tool: `bandsintown_delete_event`

Access: write. Confirm: waits for the user's OK before it runs.

Deletes one event from your artist page, as the red X on the Events page does. It cannot be undone with a tool, so you re-create the event if needed. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `event_id` | string | yes | Event ID from list_events. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_delete_event",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "1037728501",
    "status": "deleted"
  },
  "isError": false
}
```

## Send fan message

MCP tool: `bandsintown_send_fan_message`

Access: write. Confirm: waits for the user's OK before it runs.

Sends a Bandsintown post to your followers: push notification to fans who have enabled it, and email. Send now or schedule with send_at. Add your Smart Link so fans can find your shows. Your latest non-targeted post shows at the top of your artist page. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `artist_id` | string | no | Artist page you manage. Default: your first artist. |
| `body` | string | yes | Post text. Include your Smart Link. |
| `send_at` | datetime | no | Schedule for later. Default: now. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bandsintown_send_fan_message",
    "arguments": {
      "body": "body"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "message_id": "msg_20418",
    "status": "scheduled",
    "send_at": "2026-10-16T10:00:00+01:00"
  },
  "isError": false
}
```
