Connect your AI Agents to Goldcast in minutes

Available tools
list_agenda_items
List agenda items with paging, optionally filtered to one event. Pass event in almost all cases: unfiltered this spans every event in the organization. Use listevents to find event IDs, or getevent_agenda for an event's assembled agenda in one object.
get_agenda_item
Get one agenda item by ID. Use listagendaitems to find agenda item IDs.
create_agenda_item
Add an agenda item to an event. Requires event, title, starttime, and endtime. Use listevents to find event IDs and listtracks to find a track ID. Returns the new item.
update_agenda_item
Update an agenda item. Only the fields you pass are changed. Use listagendaitems to find agenda item IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_agenda_item
Delete an agenda item permanently. This cannot be undone. Use listagendaitems to find agenda item IDs.
list_booths
List booths with paging and filters. Organization-wide this collection is very large, so filter by event. Use listevents to find event IDs and listtags for tag IDs.
get_booth
Get one booth by ID, including its branding, resources, tags, and demo-request setup. Use listbooths to find booth IDs. Prefer listbooths when browsing an event's booths, and getsponsorbooth for the sponsor-facing view of the same record.
create_booth
Create a booth on an event. Requires event and name. Use listevents to find event IDs, listtags for tags, and list_resources for resources. Returns the new booth.
update_booth
Update a booth. Only the fields you pass are changed. Use list_booths to find booth IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_booth
Delete a booth permanently. This cannot be undone. Use list_booths to find booth IDs.
list_broadcasts
List an event's broadcasts (streamed sessions) with paging and filters. event is required: the API returns 404 without it, which looks like a missing record rather than a missing filter. Use listevents to find event IDs. Returns a lean field set; pass fields to widen it or use getbroadcast for the full record.
get_broadcast
Get one broadcast by ID with its streaming and stage configuration. Returns all 109 fields by default — pass fields to trim it. Use list_broadcasts to find broadcast IDs.
create_broadcast
Create a broadcast (streamed session) on an event. Requires event, title, starttime, endtime, and — because the API demands them — tracks, slideassets, and videoassets; pass empty lists for a plain live session. Use listevents for event IDs and listtracks for track IDs. Returns the new broadcast.
update_broadcast
Update a broadcast. Only the fields you pass are changed. Use extrafields for stage or streaming settings this tool does not list. Use listbroadcasts to find broadcast IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_broadcast
Delete a broadcast permanently, including its polls and Q&A. This cannot be undone. Use list_broadcasts to find broadcast IDs.
list_discussion_groups
List discussion groups (breakout and booth rooms) for an event, with paging and filters. Always pass event: org-wide this collection is huge AND repeats records across pages while inflating totalcount. Use listevents to find event IDs.
get_discussion_group
Get one discussion group by ID. Use listdiscussiongroups to find discussion group IDs.
create_discussion_group
Create a discussion group on an event. Requires event, title, and capacity. Use listevents to find event IDs and listtags for tags. Returns the new group.
update_discussion_group
Update a discussion group. Only the fields you pass are changed. Use listdiscussiongroups to find discussion group IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_discussion_group
Delete a discussion group permanently. This cannot be undone. Use listdiscussiongroups to find discussion group IDs.
list_event_members
List an event's registrants and attendees with paging and filters. event is required. Filter by attendance, status, role, email, company, UTM source, or registration date. Each member's user.id is the owner UUID that createevent needs. Use listevents to find event IDs. Returns a lean field set; pass fields to widen it.
get_event_member
Get one event member by ID, including attendance, consent, and UTM attribution. The ID is an integer, not a UUID. Use listeventmembers to find event member IDs.
create_event_member
Register a person for an event. user is a bare user UUID, not an object — get it from listeventmembers on an event they already appear on (user.id), since Goldcast has no user-search endpoint. Optionally attribute the registration with UTM fields. The person lands with status Registered. Use list_events to find event IDs.
list_events
List Goldcast events with paging, filters, and sorting. Use this to browse or find event IDs for nearly every other tool. Filter by title, type, host type, tag, workspace, or start/end/created/updated time ranges, or pass search for free text. Returns a lean ~15-field set; pass fields to widen it or use get_event for the full record.
get_event
Get one Goldcast event by ID: schedule, timezone, type, branding, registration and integration settings. Returns all 258 fields by default — pass fields to trim it. Use list_events to find event IDs, or when you need several events at once.
create_event
Create a Goldcast event. Requires title, starttime, endtime, timezone, plus an organization ID from listorganizations and an owner user ID. Call listorganizations first, and get the owner UUID from listeventmembers on an existing event or from the owner field returned by listevents. For a simple webinar prefer createwebinar, which needs no organization or owner. Returns the new event.
update_event
Update a Goldcast event. Only the fields you pass are changed. Use extrafields to set event settings this tool does not list explicitly. Use listevents to find event IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_event
Permanently delete a Goldcast event, including its sessions, agenda, and registrant records. This cannot be undone. Use list_events to find event IDs.
duplicate_event
Duplicate a Goldcast event into a new one, optionally copying speakers and staff. fields selects which parts of the source event to copy and is required by the API. Use list_events to find the source event ID. Returns the new event.
get_event_agenda
Get an event's assembled agenda as a single object, including its associated broadcast. This endpoint is not paginated and returns the whole agenda at once. Use listagendaitems for a paginated, filterable view. Use list_events to find event IDs.
get_event_recordings
List the recordings available for an event, with paging. Use list_events to find event IDs. Returns an empty list when the event has not been recorded or the recording is still processing.
list_organizations
List Goldcast organizations visible to this API token, with paging and filters. A token is normally scoped to one organization. Use this to get the organization ID that createevent requires. Returns a lean field set; pass fields to widen it, or use getorganization for the full record. Use validate_credential to just check token health.
get_organization
Get one Goldcast organization by ID, including its full settings and feature flags. Use list_organizations to find organization IDs.
list_polls
List every poll on a broadcast. Not paginated — returns them all at once. Use listbroadcasts to find broadcast IDs. Call this before updatepoll to get poll and answer IDs, and to see the poll type values this workspace uses.
create_poll
Add a poll to a broadcast. Requires the question text, a poll type, and the answer options. Goldcast publishes no enum for type, so call listpolls on a broadcast that already has polls to see valid values. Use listbroadcasts to find broadcast IDs.
update_poll
Replace a poll's question, type, and answer options. This is a full replacement, not a merge: the answers you pass become the complete set, so include existing answers (with their ids) that should survive. Call list_polls first to get the poll and answer IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_polls
Delete one or more polls from a broadcast, by poll ID. Only the polls you list are removed, and several can go in one call. Use listpolls to find poll IDs. To change a poll's answer options instead of removing it, use updatepoll. This cannot be undone.
get_public_agenda
Get the publicly visible agenda from an event's registration page. Needs no credential and shows only what a prospective registrant would see — use geteventagenda for the full internal agenda. Use list_events to find event IDs.
get_public_speakers
Get the publicly visible speakers from an event's registration page. Needs no credential. Use listeventmembers with kind or eventrole filters for the full internal speaker list. Use listevents to find event IDs.
get_public_booths
Get the publicly visible booths from an event's registration page, split into primary and secondary tiers. Needs no credential. Use listbooths for the full internal booth list. Use listevents to find event IDs.
get_public_overview
Get an event's public overview as shown on its registration page: title, description, schedule, timezone, and the public registration URL. Needs no credential, so this works for checking how an event appears to registrants. Use get_event for the full record.
list_resources
List event resources with paging and filters. This is the largest collection in a Goldcast organization, so always filter by event and keep the page small. Use list_events to find event IDs.
get_resource
Get one resource by ID. Use list_resources to find resource IDs.
create_resource
Attach a resource to an event, booth, or broadcast. Requires event, name, keyorurl, and contenttype. Use listevents to find event IDs. Returns the new resource.
update_resource
Update a resource. Only the fields you pass are changed. Use list_resources to find resource IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_resource
Delete a resource permanently. This cannot be undone. Use list_resources to find resource IDs.
create_event_sponsor
Grant someone sponsor access to an event. user is an object with at least an email address, not a user ID — a bare UUID is rejected. Use list_events to find event IDs.
get_sponsor_booth
Get one sponsor booth by ID, including its branding, resources, and demo-request setup. Goldcast has no sponsor-booth list endpoint, so use list_booths on the event to find IDs.
update_sponsor_booth
Update a sponsor booth. Call createeventsponsor for this event FIRST: email must belong to an existing sponsor there, and is required on every call even when changing something else — otherwise the API answers "Email not found". Use list_booths for the booth ID.Passing null does not clear a field; null and omitted are equivalent.
create_sponsor_resource
Attach a resource to a sponsor booth. Requires event, name, keyorurl, and objectid (the booth ID) — the API returns a 500 if objectid is missing. Use listevents for event IDs and listbooths for booth IDs.
get_sponsor_resource
Get one sponsor booth resource by ID. Goldcast has no sponsor-resource list endpoint; the IDs appear in the resources field of getsponsorbooth.
update_sponsor_resource
Update a sponsor booth resource. Only the fields you pass are changed. Resource IDs appear in the resources field of getsponsorbooth.Passing null does not clear a field; null and omitted are equivalent.
delete_sponsor_resource
Delete a sponsor booth resource permanently. This cannot be undone. Resource IDs appear in the resources field of getsponsorbooth.
list_tags
List tags in the organization's tag library, with paging and filters. Tags returned here are the valid values for the tags field on events, booths, broadcasts, and discussion groups. Use list_organizations to find organization IDs.
get_tag
Get one tag-library entry by ID. Use list_tags to find tag IDs.
create_tag
Create a tag in the organization's tag library. Tags are the values that events, booths, broadcasts, and discussion groups reference in their tags field, so create one here before trying to apply it. Requires an organization ID from list_organizations. Returns the new tag with its ID.
update_tag
Rename a tag, or move it to another organization. Only the fields you pass are changed. Renaming affects every event, booth, and broadcast already carrying the tag. Use list_tags to find tag IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_tag
Delete a tag from the organization's tag library permanently. This removes it from every event, booth, and broadcast that carried it, and cannot be undone. Use list_tags to find tag IDs.
list_ticket_types
List ticket types with paging, optionally filtered to one event. Ticket types are the valid values for a track's allowedtickettypes. Use list_events to find event IDs.
get_ticket_type
Get one ticket type by ID. Use listtickettypes to find ticket type IDs.
create_ticket_type
Create a ticket type on an event. Requires event and label. Use listevents to find event IDs and listtracks for allowed_tracks. Returns the new ticket type.
update_ticket_type
Update a ticket type. Only the fields you pass are changed. Use listtickettypes to find ticket type IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_ticket_type
Delete a ticket type permanently. This cannot be undone. Use listtickettypes to find ticket type IDs.
list_tracks
List tracks with paging, filtered to one event. Tracks group an event's sessions and gate access by ticket type. Always pass event: org-wide, this endpoint repeats records across pages and inflates totalcount. Sort requests are ignored. Use listevents for IDs.
get_track
Get one track by ID, including its allowed ticket types and assigned agenda items. Use listtracks to find track IDs. Prefer listtracks when you need several tracks or want to browse an event's tracks.
create_track
Create a track on an event. Only event is required; add a title and ordering to make it useful. Use listevents to find event IDs and listtickettypes for allowedticket_types. Returns the new track.
update_track
Update a track. Only the fields you pass are changed. Use list_tracks to find track IDs.Passing null does not clear a field; null and omitted are equivalent.
delete_track
Delete a track permanently. This cannot be undone. Use list_tracks to find track IDs.
get_user_magic_link
Get a registrant's magic link for an event: a URL that signs them in and drops them straight into it. Identify the person by email or by userid (from listeventmembers, field user.id) — the API rejects the call if neither is given. Use listevents for the event ID. Treat the returned URL as a credential.
validate_credential
Validate the Goldcast API token with a lightweight call to the organization endpoint. Returns success plus a short message naming the connected organization. Use list_organizations instead when you actually need organization records.
create_webinar
Create a webinar: an event with a single broadcast. Needs only title, starttime, endtime, timezone, and broadcasttype — no organization or owner, which makes this the easiest way to create an event. Use createevent instead for conferences or multi-session events. Returns the new webinar with its broadcast ID.
get_webinar
Get one webinar by ID, including its broadcast and speaker configuration. Use listevents with eventtype=['Webinar'] to find webinar IDs.
update_webinar
Update a webinar. Only the fields you pass are changed. Use listevents with eventtype=['Webinar'] to find webinar IDs, or update_event for settings shared with other event types.Passing null does not clear a field; null and omitted are equivalent.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Goldcast MCP server
FAQs on using Merge's Goldcast MCP server
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now

























