Repository avatar
AI Tools
v1.0.0
active

impulse

com.impulse-interactive/impulse

Hosted MCP for Impulse event pages, emails, guests, and check-in.

Documentation

Impulse MCP Server

The Impulse MCP server is a hosted Model Context Protocol server from Impulse Interactive. It connects an AI assistant to an Impulse account so you can work with events, registration and invitation pages, event emails, guest lists, and check-in from a chat. Edits to pages and emails are made in private drafts. Publishing or sending happens only when you ask.

Official product page and docs: https://www.impulse-interactive.com/product/mcp-server

About this repository

This repository contains documentation and MCP registry metadata (server.json) only. The server is hosted by Impulse. Its source code is not in this repository.

Server URL

https://mcp.impul.co/mcp

Transport: Streamable HTTP.

Authentication

The server uses OAuth. You do not need an API key, and you should not add an Authorization header to your client config.

What the server advertises (observed 2026-11-11):

  • An unauthenticated request returns HTTP 401 with a WWW-Authenticate: Bearer header that points to the protected resource metadata at https://mcp.impul.co/.well-known/oauth-protected-resource/mcp.
  • Authorization server: https://mcp.impul.co (metadata at https://mcp.impul.co/.well-known/oauth-authorization-server).
  • Authorization code grant with PKCE (S256), plus refresh tokens.
  • Dynamic client registration, and client ID metadata documents (CIMD).
  • Bearer tokens are sent in the request header.
  • Scopes: events:metadata:read-write, pages:read-write, custom-domains:read-write, email-templates:read-write, guests:read-only, guests:read-write, access:scan, texting-broadcast:read-write, pictures:read-write.

From the product page: "The connection uses OAuth with PKCE (S256) and dynamic client registration. Your Impulse password is never shared with the AI assistant."

When you add the server, your client should prompt you to sign in to Impulse and approve access. Access is limited to the features granted to the connection and to your Impulse permissions.

Requirements

  • An Impulse account. You can sign up. For plan availability, see the product page. It currently says MCP access is included on all Impulse plans, including Free.
  • An MCP client that supports remote HTTP servers with OAuth.

Setup

In your assistant's connector or MCP settings, add a remote server with the URL https://mcp.impul.co/mcp, then sign in to Impulse and approve access.

The snippets below follow each client's own documentation, with only the Impulse URL inserted. Client menus and config formats change over time, so check the linked client docs if something differs.

Packaged Impulse plugins for ChatGPT, Codex, and Claude are listed as coming soon on the product page. The steps below use each client's generic remote-MCP setup.

Signed-in users can also find connected-app setup for Codex, Claude, and Cursor on the AI Agent Setup page in the Impulse portal: https://portal.impul.co/mcp.

Claude (claude.ai and Claude Desktop)

Client docs: Get started with custom connectors using remote MCP, Add an unlisted connector

For personal accounts: Customize > Connectors > Add custom connector, paste https://mcp.impul.co/mcp, then sign in to Impulse when prompted.

Claude Code

Client docs: https://code.claude.com/docs/en/mcp

claude mcp add --transport http impulse https://mcp.impul.co/mcp

Then sign in, either from an interactive session with /mcp or from the shell:

claude mcp login impulse

If you write a JSON config by hand, include "type": "http" (or "streamable-http") along with "url". An entry with a url but no type is treated as a broken stdio entry. Do not add an Authorization header; that skips OAuth.

Cursor

Add to ~/.cursor/mcp.json (user) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "impulse": {
      "url": "https://mcp.impul.co/mcp"
    }
  }
}

Then complete the Impulse sign-in when Cursor prompts you.

Codex

Add to ~/.codex/config.toml:

[mcp_servers.impulse]
url = "https://mcp.impul.co/mcp"

Then sign in:

codex mcp login impulse

VS Code / GitHub Copilot

Client docs: https://code.visualstudio.com/docs/agents/reference/mcp-configuration

Use the portable mcpServers format in a workspace-root .mcp.json, or in your Copilot user mcp-config.json ($COPILOT_HOME/mcp-config.json or ~/.copilot/mcp-config.json):

{
  "mcpServers": {
    "impulse": {
      "type": "http",
      "url": "https://mcp.impul.co/mcp"
    }
  }
}

You can also use Chat: Open Customizations > MCP Servers > Add Server, then complete the OAuth prompt.

You do not need an OAuth client ID. Impulse supports dynamic client registration and CIMD.

Older editor-managed configs used .vscode/mcp.json with a top-level servers object and "type": "http". The VS Code docs now point new Copilot configs to the mcpServers format above.

ChatGPT

If your ChatGPT plan allows custom MCP connectors or apps, add https://mcp.impul.co/mcp as a remote MCP server and sign in to Impulse when prompted. A packaged Impulse plugin for ChatGPT is listed as coming soon on the product page.

Tools

The server exposed 100 tools when inspected live on 2026-11-11. Tools can change; treat this list as a snapshot. Descriptions are short paraphrases of each tool's own description.

Account and events (9)

ToolWhat it does
get_account_contextRead the current user, authorized organization, and organization capabilities.
get_skill_onboardingRead the first-event onboarding guide.
list_eventsList all accessible events in the organization, with their feature capabilities.
list_editor_eventsFind events with page or email-template access, with IDs and editor capabilities.
list_event_presetsList event presets, their required page/email slots, and automation tag definitions.
get_impulse_eventRead an accessible event's ID and attendee tags.
create_eventCreate an event with its starter pages, email templates, and the selected preset's registration flow.
search_event_mentionsFind accessible events for the ChatGPT mention picker.
open_events_dashboardOpen the organization's event dashboard inside ChatGPT. Does not change event data.

Pages, drafts, files, and fonts (35)

ToolWhat it does
get_skill_page_builderRead the page authoring guide before creating or editing pages.
get_starter_galleryLoad starter gallery data and preview URLs for the app.
show_starter_galleryShow up to four preset-compatible starter designs with stored screenshots.
search_page_startersSearch the published page starter library.
get_page_starterInspect a full published page starter before using it.
app_starter_previewOpen a page starter preview in the Impulse app picker.
search_page_examplesSearch the page example library.
get_page_exampleRead one complete example page document.
list_event_pagesList an event's pages with URLs, link expressions, types, and signup fields.
create_pageCreate a published page from a starter in an event.
duplicate_pageDuplicate a page to a new slug in the same event.
rename_pageChange a page's public URL slug.
delete_pageDelete a page and all its versions, including drafts.
create_page_draftCreate a private draft from a page version (defaults to live).
discard_page_draftDelete a page draft without changing live content.
publish_page_draftPublish a page draft and remove it.
get_page_documentRead a page's working draft, live document, or a saved version.
edit_page_documentStage an atomic batch of set/delete edits to a page.
replace_page_documentReplace and stage the whole page document. Does not publish.
list_page_versionsList saved page versions and the selected working draft.
save_page_versionSave a named checkpoint of a page. Does not publish.
restore_page_versionReplace a page draft's contents with a saved version. Does not publish.
screenshot_pageRender desktop and mobile PNG screenshots of a page.
show_page_previewShow an interactive page preview that follows saved changes.
list_page_filesList files saved on a page.
store_page_fileCopy an uploaded file into permanent page storage.
view_page_fileInspect a saved page file.
import_page_fileDownload a file from an HTTP(S) URL into a page's file library.
list_google_fontsList Google Fonts with filters.
search_google_fontsSearch Google Fonts by family name or design tags.
preview_google_fontsCompare one to six Google Fonts in a PNG specimen sheet.
preview_page_fontsRender a page's saved font files as a PNG specimen sheet.
import_google_fontSave selected Google Font files to a page's file library.
create_editor_uploadCreate an upload (up to 50 MiB) for use in a page or email.
finalize_editor_uploadValidate and finalize an uploaded file.

Email templates and broadcasts (35)

ToolWhat it does
get_skill_email_templateRead the email template authoring guide.
get_skill_broadcast_filtersRead the broadcast audience filter guide before writing filters.
search_email_examplesSearch the email starter example library.
get_email_exampleRead one complete email starter example.
get_email_componentsRead the email component catalog and allowed attributes.
list_email_templatesList email templates in an event or organization library.
create_email_templateCreate an email template from a starter. Does not send email.
duplicate_email_templateDuplicate an email template into a new template. Does not send email.
rename_email_templateRename an email template. Does not send email.
delete_email_templateDelete an email template and its versions and drafts.
create_email_draftCreate a private draft from an email version (defaults to live).
discard_email_draftDelete an email draft without changing live content.
publish_email_draftPublish an email draft and remove it. Does not send email.
get_email_documentRead an email's working draft, live source, or a saved version, with a preview URL.
edit_email_documentStage an atomic batch of set/delete edits to an email.
replace_email_documentValidate, compile, and stage a complete email document. Does not send email.
list_email_versionsList saved email versions and the selected working draft.
save_email_versionSave a named checkpoint of an email. Does not publish.
restore_email_versionReplace an email draft's contents with a saved version. Does not publish.
screenshot_emailScreenshot an email at desktop and mobile widths.
show_email_previewShow an email preview that follows saved changes.
store_email_imageSave an uploaded image to the email's permanent image storage.
view_email_imageInspect a stored email image.
import_email_imageCopy an image from a page file library or email image library into an email.
send_email_template_testSend one real test email to an address the user specifies.
send_email_broadcast_testSend a test of an email template to 1–10 selected event attendees.
list_email_broadcast_eventsFind sending events with email-template and guest-read access.
list_email_broadcastsList email broadcasts and test broadcasts for an event.
create_email_broadcastSend or schedule a live email template to eligible attendees, when requested.
update_email_broadcastUpdate a scheduled email broadcast before it starts.
delete_email_broadcastDelete an email broadcast and its schedule.
get_email_broadcastRead a broadcast's template, schedule, state, and delivery counts.
get_broadcast_audience_previewRead the status and results of an audience preview.
get_email_broadcast_previewRead the template document and HTML preview URL for a broadcast.
preview_broadcast_audienceStart a read-only audience preview. Does not send.

Guests and registration (16)

ToolWhat it does
create_attendeeRegister a guest in an event.
get_attendeeRead one event guest by ID.
update_attendeeUpdate an event registration's email, signup fields, or tags.
delete_attendeePermanently remove a guest from one event.
query_attendeesQuery an event's attendees with filters and search.
list_organization_attendeesSearch organization guest profiles across events.
get_organization_attendeeRead an organization guest profile.
update_organization_attendeeUpdate an organization guest's contact channels, opt-out status, or signup fields.
delete_organization_attendeePermanently delete an organization guest profile.
list_attendee_export_fieldsList the available CSV columns for an event's guest export.
export_attendeesExport all event guests to a private CSV with a short-lived download URL.
list_registration_linksList published registration pages and their public URLs.
download_registration_qrGenerate a PNG or SVG QR code for a published registration page.
create_attendee_uploadCreate a JPEG/PNG selfie upload for a guest.
finalize_attendee_uploadValidate and finalize a selfie upload.
attach_attendee_selfieAttach a finalized selfie to a guest who has no profile picture.

Check-in (2)

ToolWhat it does
preview_attendee_accessPreview a guest's access without recording entry or exit.
record_attendee_accessRecord a guest's entry or exit using the request from preview_attendee_access.

Template tags (2)

Covers email, message, and page tags, including the custom domain landing page assignment.

ToolWhat it does
list_template_tagsList an event's email, message, or page tags and their current assignments.
assign_template_tagAssign, move, or clear a tag on an eligible template or page.

App session (1)

ToolWhat it does
create_app_sessionAuthenticate the Impulse app's direct API requests using this connection's organization and granted scopes. This is not the user OAuth sign-in.

Links

License

The contents of this repository are licensed under the MIT License. Copyright 2026 Impulse Interactive Inc.

No installation packages available.

Remote