MCP App Store
by KeenEthics

Overview

ClientGen Reach helps financial advisors create real outreach inside your Claude. Prepare branded postcard and handwritten-note drafts, connect postcards to matching landing pages with QR codes, and review the responses people submit. Start with a client conversation, an event or a reason to say thank you. Describe what you have in mind, and Reach guides you through the details. Use your firm's approved brand and designs, see real proofs and ask for changes in the same conversation. Start with something you need to get done: • Invite clients to an event with a postcard and matching RSVP page. • Follow up on a retirement-planning conversation with a postcard and reply page. • Make a thank-you personal with a handwritten-note draft. Review the postcard's front and back, your message, the matching page and the quoted price before taking the next step. When a page is published, review submitted replies, RSVPs and booking requests, with recipient attribution where available. See what people actually submit so you can plan your follow-up. Built to work with your firm's review process. Route drafts to your firm's compliance reviewer and retrieve review records. Automated content checks help flag issues; they do not replace firm approval or guarantee compliance. Start with one draft. Reach guides you through any missing brand or sender details, one step at a time. A ClientGen Reach account and your firm's permission to connect are required. Available actions depend on your account and firm permissions. Printing and mailing are switched on firm by firm. Until your firm is switched on, Reach prepares drafts, proofs and exact prices only. Once it is on, nothing is charged, mailed or published from chat: an order goes out only after the advisor confirms it on ClientGen's site through an emailed link. Reach supports marketing preparation, not investment advice.

Tools

add_recipients

ChatGPT
Adds people to this advisor's mailing list from names and addresses the advisor supplies, up to 500 per call. Rows that match an existing name and zip, or a suppressed household, are skipped and reported with the reason. source (where this list came from) and attestation (the advisor's statement that they have permission to mail these people) apply to the whole batch and are recorded on the archive of any order that mails them. Returns the new recipient ids for the draft tools.

apply_shared_style

ChatGPT
Keeps a postcard and the page its code opens (its page_kit_id) in one style: direction card_to_page matches the page to the card, page_to_card matches the card to the page, both applies the given style to both. The style carries typeface (one of the three approved pairings; the page's tone follows it), headline_size, spacing, colors ("brand" for the firm colors in use, {use:"brief"}, or hex) and photo_focus, anchored on the firm's confirmed brand brief. Each piece keeps its own medium's rules: what one cannot take is capped and named. Both drafts are revised with their earlier versions kept, and both previews come back (the card proof, and the page at desktop and phone width). Colors that differ from the firm colors in use are refused unless confirm_off_brand is true. It does not approve or send anything.

approve_kit

ChatGPT
Stages a draft the advisor approved and emails them a confirmation link. This tool does not purchase, charge, mail or publish anything; the advisor confirms on ClientGen's website, outside this chat. One link covers the whole kit and its pieces, which stage as pending_confirmation. Requires the preview_token from plan_kit, draft_page or revise_page (single use, valid 24 hours) and the advisor's approval in their own words, recorded verbatim. Refused when review is required or a piece was flagged and no approved review ticket covers the kit, when a page's hero crop cuts off a face (design_grade fix), or when the kit would exceed the monthly budget cap. Returns status pending_confirmation, the total price, charged, purchased and mailed all false, and the web desk link where pending confirmations are listed.

approve_order

ChatGPT
Stages a draft the advisor approved and emails them a confirmation link. This tool does not purchase, charge, mail or publish anything; the advisor confirms on ClientGen's website, outside this chat. Requires the preview_token from the draft (single use, valid 24 hours) and the advisor's approval in their own words, which is recorded verbatim. Refused when the firm requires compliance review or the pre-check flagged the draft and no approved review ticket covers this exact text, when the piece, recipients or price changed since the draft, or when the order would exceed the monthly budget cap. Returns status pending_confirmation, the price, charged, purchased and mailed all false, and the web desk link where pending confirmations are listed.

cancel_kit

ChatGPT
Cancels a draft kit or one waiting on its confirmation click, with every unsent piece, and closes its personal page. Any gift-cap room the kit reserved is released.

cancel_order

ChatGPT
Cancels an order that has not been sent: a draft, an order waiting on its confirmation click, or an approved order whose pieces have not gone out. The budget it reserved is released. Sent orders cannot be cancelled.

complete_setup

ChatGPT
Records that this advisor finished the setup walkthrough (sets setup_completed_at on their account) and returns the confirmation message. Changes nothing else.

confirm_brand_brief

ChatGPT
Confirms the current brand brief draft as the firm's standing brief. firm_admin only; for other roles it returns a prefill_url a firm admin can open and saves nothing. Refused (confirmed: false, blocked: true) when the draft's site did not look like the firm's own and firm.confirmed_own_firm is unset (needs_own_firm_confirmation), or when a brand kit check fails (firm name, both hex colors, contact phone, contact email), listed in failing_checks. A logo is optional; logo_present is informational. On success the values, including a cleared logo and approved disclosure_text, go through the same automated brand kit check as a save at /app/brand, so the kit lands at pending_qa or rejected, not approved. Refused when there is no draft, while a website draft's identity conflict (the site names a firm or advisor that does not match this account) is unresolved (needs_identity_resolution), and for a draft resolved as not_ours; the message names both identities and the identity_resolution values.

create_brand_brief_draft

ChatGPT
Creates and saves a new six-section brand brief draft from facts the advisor stated, with no website read: who the firm is (firm), what it says (say), how it sounds (sound), how it looks (look), and how people reach it (response), in the same section and field shape update_brand_brief_draft accepts. Every fact is recorded as told by the firm (source tag "You told us"); fields not supplied stay empty and come back as open_questions. Unknown fields are reported in ignored. Overwriting a different advisor's still-open draft needs replace: true (reported as needs_replace_confirmation otherwise). A firm admin confirms the draft through confirm_brand_brief; nothing here is confirmed or written to the brand kit.

draft_brand_brief_from_website

ChatGPT
Reads a firm's public website and saves a draft six-section brand brief (the firm, what to say, how to sound, how to look, response and required text, open questions), used as standing guidance for postcards, notes and pages. Any advisor at the firm can start one; replacing a different advisor's open draft requires replace: true, otherwise the result reports needs_replace_confirmation. A site read that fails saves nothing and leaves any existing brief as it was. Returns the brief, brief_url, open_questions, looks_like_own_firm, own_firm_note, identity_conflict and site_read. looks_like_own_firm is false when the site reads as a vendor selling to advisors, or when the site's firm or advisor identity does not match this account (identity_conflict, with own_firm_note saying which). Does not change the brand kit or its approval. Only confirm_brand_brief (firm_admin) makes the brief standing; a vendor-site draft is refused there until firm.confirmed_own_firm is set with update_brand_brief_draft, and an identity conflict until identity_resolution is recorded there.

draft_handwritten_note

ChatGPT
Creates a DRAFT handwritten note order (pen on card stock, written by the note service) to up to 50 recipients. Returns the preview, price, compliance pre-check flags and a preview_token. Nothing is charged or sent: approve_order stages the draft and the advisor confirms by email, outside this chat. replaces_order_id cancels the earlier draft this one revises.

draft_page

ChatGPT
Creates a DRAFT hosted personal page for this advisor on ClientGen: book-a-call, RSVP or reply forms on the firm's brand, with its disclosures and an opt-out footer. The rsvp and book forms collect an optional email (book also an optional phone), visible only to the advisor through list_page_responses. recipient_ids give each person their own link and QR code (get_kit returns them); without them the page has one shareable link. Returns preview_url, the future live link, a design_grade and a preview_token. The page goes live when the advisor confirms the emailed link that approve_kit sends, and closes after 60 days, at the event, or when a firm_admin closes it. Price $0. With a photo, page.hero_preview has desktop and phone crops of the hero. design_grade review means the photo link reads like a group picture and needs design.photo_shows_advisor; fix means the crop cuts off a face, which approve_kit refuses until design.hero_focus or the photo changes. On a book or reply page, split-hero and photo-top with no image_url use the advisor's uploaded headshot.

draft_postcard

ChatGPT
Creates a DRAFT postcard order from an approved postcard template to up to 500 recipients, with the advisor's personal message on the back. Returns the proof links, price, compliance pre-check flags, a preview_token, and the hosted page each recipient's QR code and short link open (page). Nothing is charged or mailed: approve_order stages the draft and the advisor confirms by email, outside this chat. Every card prints the recipient's own QR code to a hosted page; page_kit_id points the codes at an existing page, otherwise a page is created from the card (for an invitation, with its event details). Optional design sets the card's front and back (layout within the template's family, headline, kicker, headline size, spacing, typeface, colors, photo, signature, QR label); get_postcard_design lists what fits, and revise_postcard changes a drafted card. card_design, brand_colors and action_check (the card's words against the page's job) are also on get_order. replaces_order_id marks the earlier draft this one revises as replaced. qr.on_card false means the design's copy refers to a code that will not print.

get_archive_record

ChatGPT
Returns the write-once books-and-records entry for an approved order or kit: the piece as produced, recipients, template version, pre-check flags, review decisions, approver and confirmation words, timestamps, and the event trail. An advisor reads their own records; a firm_admin reads any record at the firm.

get_brand_brief

ChatGPT
Returns this firm's brand brief: the current draft if any, the confirmed brief if any, the open questions, identity_conflict, looks_like_own_firm and own_firm_note (false and the reason while a draft's identity conflict is unresolved or its site reads as a vendor), the brief links and the brand kit status. Also returns a compact review_summary, action_examples, visual_style_examples, color_palette_examples and an authenticated review_url with a sample postcard. Read only.

get_brand_profile

ChatGPT
Returns the signed-in advisor and firm: name, plan, disclosure block, return address, tone rules, review policy, gift cap and approval method, the firm and advisor brand kit (name, logo, colors, contact, approval status), headshot status, and the brand brief (voice, main message, avoid list) when one is drafted or confirmed.

get_campaign_calendar

ChatGPT
Returns this advisor's planned and in-progress orders, kits and pages between two dates, each with its campaign name. Defaults to today through the next 30 days; the window is at most 366 days.

get_kit

ChatGPT
Returns a kit: each piece's preview, price and status, the kit total and the recipient list. For a kit with a personal page, also page.urls (each recipient's own link), page.recipient_count, page.closes_at and, once closed, page.closed_at. page_qr_recipient_id adds that one recipient's QR code as inline SVG; one QR per call keeps the response small.

get_order

ChatGPT
Returns one order in full: preview text and proof links, recipients, price, status, compliance pre-check flags, and the hosted page its QR codes open. For a postcard also card_design (version, what changed), brand_colors (which colors print and where they came from, shared with its pages) and action_check (whether the card's words match the page's job).

get_page_design

ChatGPT
For one kit's personal page: the colors cards and pages use and where they came from (approved kit, confirmed brief, or neutral; shared by the page and its postcards) and this page's own colors beside them, the logo, this page's current design brief, every design control with its choices (headline size, spacing, typeface, sections, columns, hero layout, phone layout, form fields, button behavior), what the main button does and whether its label says so, the rules no request can break, its versions (every earlier version kept with its own preview link), the preview links (preview_url, desktop_url, phone_url), and whether the kit is still a draft. Pass version to see an earlier version.

get_postcard_design

ChatGPT
For one postcard draft: what its front and back look like now (layout, headline, kicker, headline size, spacing, typeface, photo, signature, QR label), the colors it prints in and where they came from (this card, the approved kit, the confirmed brief or the neutral look, shared with its pages), every control with the choices that fit this card, the rules no request can break, its versions (every earlier draft is kept), the page its code opens, and an action_check when the card's words promise something that page does not do.

get_recipient

ChatGPT
Returns one recipient in full: contact details, status, source, tags, recent activity notes, recorded facts with their source and date, and up to 10 recent orders.

get_review_status

ChatGPT
Returns one compliance review ticket: open, approved or changes_requested, with the reviewer's name and notes, the content hash the decision covers, and blocks_approval, whether an open ticket stops approve_order or approve_kit at this firm (true when the firm requires review or the pre-check flagged the content), computed by the same rule approval uses.

get_setup_status

ChatGPT
Returns the account's setup checklist from live state: advisor and firm details, mail sender readiness, brand kit and brand brief status, page address, compliance contacts and review policy, email and fulfillment connections, approved design and recipient counts, and whether setup was marked finished. Each checklist item is green, yellow or red with where it is fixed, and walk carries the topics in order, the skills map and a plain summary of each topic. Read only.

get_template

ChatGPT
Returns one approved postcard or note template in full: fixed copy, personal message character cap, disclosures and price.

list_archive

ChatGPT
Lists archive records in a date window, newest first, with unjournaled_count (records not yet sent to the firm's archive address; 0 when none is configured). An advisor sees their own records; a firm_admin or reviewer sees the whole firm, each with advisor_email, and can narrow to one advisor. Paginated: default 20 rows, max 50.

list_gifts

ChatGPT
Lists the physical gifts available for a gift_note kit, from our gift partner: each with name, contents description, retail price, whether it is perishable, tags and whether photos are on file. With recipient_ids (up to 25), also returns each recipient's remaining room under your firm's gift cap over the trailing 365 days. vendor_sku is an internal catalog code. Returns one page at a time with a next_cursor.

list_kits

ChatGPT
Lists this advisor's kits (for example seminar thank-you, personal page) newest first as { items, next_cursor, scope }, each with kit_id, name, kit_type, status, created_at and, for a kit with a personal page, page_slug, page_url and page_preview_url. query matches part of the kit's name (not recipients or copy); status narrows further. Paginated: default 25 rows, max 100.

list_orders

ChatGPT
Lists orders newest first with status, kind, price and campaign, filterable by status and kind. Statuses: draft, pending_confirmation, approved (confirmed, not yet handed to delivery, or on hold), queued (handed to the delivery queue), sent, failed (get_order's delivery block says why), cancelled. An advisor sees their own orders; a firm_admin or reviewer sees every order at the firm, each with advisor_email, and can narrow to one advisor. Paginated: default 20 rows, max 50.

list_page_responses

ChatGPT
Lists the responses (book, rsvp, reply) recorded on a kit's personal page, newest first, up to 200 (truncated is true when there are more), with the recipient each was attributed to when the visitor's link identified one, and the email (rsvp, book) or phone (book) the visitor gave, or null. This advisor's own kits only.

list_reviews

ChatGPT
Lists compliance review tickets newest first, filterable by status. An advisor sees their own tickets; a firm_admin sees every ticket at the firm. Paginated: default 20 rows, max 50.

list_templates

ChatGPT
Lists the approved, unexpired postcard designs and handwritten note styles this firm can order: name, a short description, audience, front kind, layout, tags, price and personal message character cap. The first tag (purpose:...) names what the design is for. Filter by kind or tag. get_template returns a design's full fixed copy and disclosures. Paginated: default 20 rows, max 50.

log_activity

ChatGPT
Records a short note against a recipient (for example "called, left voicemail") and optionally changes their status. Setting do_not_contact also suppresses the household for the whole firm; this tool cannot lift that suppression.

plan_kit

ChatGPT
Creates a DRAFT kit: related pieces that are previewed, reviewed, confirmed and archived together. kit_type seminar_thanks: one postcard to every attendee (postcard_template_id, postcard_message, attendee_recipient_ids up to 500) plus an optional handwritten note to up to 3 of them (top_recipient_ids, note_template_id, message). page: a hosted personal page on its own (the page block plus optional recipient_ids; draft_page is the simpler form). The optional page block adds a hosted personal page that every physical piece links to by QR code. Returns each piece's preview and price, the kit total and one preview_token. Nothing is charged, sent or published: approve_kit stages the kit and the advisor confirms by email, outside this chat. Gift cards, charitable donations and household ads are not available in this connector.

propose_brand_from_website

ChatGPT
Reads a firm's public website (pages, stylesheets and fonts) and suggests brand values: firm name, two colors, fonts, up to two logo candidates, page copy in the site's voice, and a page_design_hint usable as a page's design with color_scope page_only. Also returns looks_like_own_firm and site_read. Suggestions are not the approved brand. Writes nothing to the account; the suggestion is held for 24 hours behind prefill_url, where a firm admin can review and save it at /app/brand (a save lands the brand kit at pending_qa, not approved).

remove_recipients

ChatGPT
Soft-deletes recipients from this advisor's list by id. Removed recipients drop out of search_recipients and get_recipient and cannot be added to new drafts; past orders and archive records are unchanged. do_not_contact records cannot be removed.

revise_page

ChatGPT
Changes a DRAFT page: any design field (variant, tone, headline_size, spacing, typeface, sections, columns, hero_layout, mobile, form_fields, cta_action with cta_label, cta_url or cta_target, eyebrow, trust_line, about_text, faq, page-only colors, notes) and/or the title, body, jobs, scheduler_url and event_details. The page as it stood is kept as the previous version (restore_version brings any earlier version back as a new one); the result says what_changed in one line and carries preview_url, desktop_url and phone_url. A request that would remove the form or the note, hide a field a job needs, put a misleading label on a button, or link to an unsafe page is refused or capped with a plain reason. Fields left out keep their current values, including design.colors. event_details stores event_date (YYYY-MM-DD), event_time, location and capacity only. Returns a new preview_url and a new preview_token; the previous token stops working and the page needs approve_kit again. Page colors that differ from an approved brand kit are refused unless design.color_scope is page_only. A live page cannot be revised; draft_page creates a new one. With a photo, page.hero_preview has desktop and phone crops and hero_focus.

revise_postcard

ChatGPT
Changes a DRAFT postcard's front and/or back (design.front: layout within its family, headline, kicker, headline_size, spacing, photo, photo_focus; design.back: signature, signature_title, qr_label; design.typeface and design.colors for the whole card), and/or its message or event_details. Fields left out keep their value. It redrafts the card for the same people with the same page (the earlier draft is kept as the previous version, not deleted) and returns the new visual_preview, a one-line what_changed, the version, and a new preview_token. A request that would break a print rule (the address block, the safe margins, the message fit, the disclosures, contrast) is refused or capped with a plain reason. It does not approve or send anything; approval is a separate step.

search_recipients

ChatGPT
Searches this advisor's mailing list (leads, prospects and clients) by name, source, tag, kind or status. Suppressed and do_not_contact records are excluded. Paginated: default 20 rows, max 50.

submit_for_review

ChatGPT
Sends a draft order (order_id), a draft kit (kit_id), or free-standing copy (content) to the firm's compliance review queue and notifies the firm's reviewer. Exactly one of the three. Returns a ticket id and blocks_approval, whether this open ticket stops approve_order or approve_kit at this firm (true when the firm requires review or the pre-check flagged the content; the same rule get_review_status reports). The ticket covers the exact content submitted; a changed order or a re-planned kit needs a new ticket. A review decision does not approve, charge or send anything.

update_brand_brief_draft

ChatGPT
Applies a patch to the current brand brief draft. Accepted sections are firm, say, sound, look and response; unknown fields are returned in ignored. response.default_action takes the advisor's chosen response; look.visual_style takes classic, modern or bold; look.primary_hex and look.secondary_hex take six-digit hex codes (the firm's official colors or a chosen palette). Clearing a choice leaves it unresolved. Returns review_url for the short brief and sample before confirmation. An invalid hex color (look.primary_hex, look.secondary_hex) refuses the whole patch. response.disclosure_text is the firm's approved disclosure wording (up to 1200 characters, oversized text is refused, not truncated); response.disclosure_note is an instruction, not wording; response.disclosure_not_required records that no disclosure applies. Patching say.main_message sets say.main_message_reviewed, which can also be set directly. who_they_serve belongs under firm. An empty or null look.logo_url clears the logo. firm.confirmed_own_firm records the firm admin's statement that a site flagged by looks_like_own_firm is their own. A fact not found on the site is recorded as "Not found on the pages read". With no draft but a confirmed brief, starts a revision draft from it (revision_started: true) while the confirmed brief stays in force. Refused when there is no brief at all (draft_brand_brief_from_website or create_brand_brief_draft starts one). identity_resolution records a firm admin's decision on a stored identity conflict (a website draft whose firm or advisor does not match this account): ours_dba, parent_firm, our_advisor or not_ours; a non-admin's value is reported in ignored, and a draft resolved as not_ours cannot be confirmed.

update_recipient

ChatGPT
Changes one recipient's name, address, email, phone, kind or tags; at least one field is required. A name or address change is logged with the previous value. Status is changed with log_activity. do_not_contact records cannot be edited. A recipient flagged unverified_page_reply (typed by an anonymous page visitor) can be drafted into an order, but this tool cannot clear the flag: the advisor confirms permission to mail them with a required checkbox on ClientGen's confirmation page when they confirm the order. Permission cannot be supplied as a tool argument.

add_recipients

Claude

apply_shared_style

Claude

approve_kit

Claude

approve_order

Claude

cancel_kit

Claude

cancel_order

Claude

complete_setup

Claude

confirm_brand_brief

Claude

create_brand_brief_draft

Claude

draft_brand_brief_from_website

Claude

draft_handwritten_note

Claude

draft_page

Claude

draft_postcard

Claude

get_archive_record

Claude

get_brand_brief

Claude

get_brand_profile

Claude

get_campaign_calendar

Claude

get_kit

Claude

get_order

Claude

get_page_design

Claude

get_postcard_design

Claude

get_recipient

Claude

get_review_status

Claude

get_setup_status

Claude

get_template

Claude

list_archive

Claude

list_gifts

Claude

list_kits

Claude

list_orders

Claude

list_page_responses

Claude

list_reviews

Claude

list_templates

Claude

log_activity

Claude

plan_kit

Claude

propose_brand_from_website

Claude

remove_recipients

Claude

request_review_changes

Claude

revise_page

Claude

revise_postcard

Claude

search_recipients

Claude

submit_for_review

Claude

update_brand_brief_draft

Claude

update_recipient

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps