Connect your AI Agents to Goldcast in minutes

Merge lets you securely connect your agents to Goldcast and thousands of tools instantly

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.

View all tools by creating a free accountSee more tools

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}
11
Copy Code

Open 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}
Copy Code
Copied!

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  }
Copy Code

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}
Copy Code

FAQs on using Merge's Goldcast  MCP server

FAQs on using Merge's Goldcast  MCP server

Explore other MCP servers built and managed by Merge

calendly
Calendly
canva
Canva
casepeer
CasePeer
clay
Clay
clickup
ClickUp
clinicaltrials
ClinicalTrials.gov
clio
Clio
cloudflare
Cloudflare
cms_coverage
CMS Coverage
coda
Coda
compliancequest
ComplianceQuest
concur
Concur
confluence
Confluence
contentful
Contentful
crustdata
Crustdata
databricks
Databricks
datadog
Datadog
deel
Deel
docrio
Docrio
docusign
DocuSign
doordash
DoorDash
dropbox
Dropbox
duffel
Duffel
dynamics365
Dynamics 365 Sales

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