Skip to main content
Glama

Mergewell Mail Merge

Server Details

Mail merge from Excel or CSV to PDF, right in the chat.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

2 tools
generate_merged_documentsGenerate merged documents
Read-onlyIdempotent
Inspect

Use this when the user wants to mail merge from Excel or CSV to PDF: personalized letters from a spreadsheet (thank-you letters for each donor, the same letter to 200 people with their names), certificates in bulk from a name list (award, completion, participation), or envelopes from a contact list (#10 with return address). Fills {{Field}} placeholders with defaults, formats and {{#if}} conditions for each row and returns ONE combined PDF (one document per record, up to 2,000 per batch) plus a per-record merge report CSV. Does not send email, mail, or print anything, and does not make mailing labels. Do not use for Outlook or Gmail bulk email.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate printed on letters and certificates and used for {{today}}, as YYYY-MM-DD, e.g. 2026-10-03. Defaults to today (US Eastern time); pass the user's local date when known.
fileNoThe spreadsheet with one row per recipient: Excel .xlsx, CSV or TSV, first row = column headers, e.g. donors.xlsx.
namesNoShortcut for a plain list of names (one column called Name), e.g. ["Ana Lopez", "Ben Okafor"]. Handy for certificates.
sheetNoFor an .xlsx file: the sheet (tab) name to use, e.g. Donors. Defaults to the first sheet that has data.
styleNoCertificates: design style: classic (navy double border), gold (cream with gold seal), modern (teal geometric), deco (burgundy art deco). Default classic.
senderNoLetters: your name/organization and address at the top. Envelopes: the return address. One line per entry, e.g. ["Riverbend Animal Shelter", "120 Elm St", "Springfield, IL 62701"].
closingNoLetters: closing line, e.g. "With gratitude,". Defaults to "Sincerely," unless the template already ends with a closing. Use "" for none.
recordsNoAlternative to a file: the recipients typed as objects with the same keys, e.g. [{"First Name": "Ana", "Last Name": "Lopez", "Amount": 250}].
signersNoCertificates: up to 3 signature lines, e.g. [{"name": "Alan Brooks", "title": "Principal"}].
subjectNoLetters: optional subject line printed as "Re: ...", may contain fields, e.g. "Your {{Year}} giving statement".
csv_textNoAlternative to a file: the list pasted as CSV or tab-separated text with a header row, e.g. "First Name,Last Name,City\nAna,Lopez,Austin".
templateNoLetters: the letter text from the salutation to the last paragraph, with merge fields, e.g. "Dear {{First Name|Friend}},\n\nThank you for your gift of {{Amount:currency}} on {{Gift Date:date}}.{{#if Company}} Please thank everyone at {{Company}}.{{/if}}". Syntax: {{Field}}, {{Field|default}}, {{Field:format}} with formats currency, number, integer, ordinal, date, short_date, iso_date, upper, lower, title, first_word, last_word; {{#if Field}}...{{else}}...{{/if}}, {{#if Field = value}}, {{#if Gift > 0}} (also !=, <, >=, <=; numbers or dates), {{#unless Field}}...{{/unless}}; {{today}} is the document date.
field_mapNoOptional explicit links from template fields to column names when names differ, e.g. {"Gift": "Donation Amount (USD)"}.
has_headerNoSet false if the first row of the file is data, not column names (columns are then called Column A, Column B, ...). Default true.
usps_styleNoEnvelopes: print the delivery address in USPS style (uppercase, no periods or commas). Default false.
organizationNoCertificates: issuing organization printed at the top, e.g. Lincoln Elementary School.
start_recordNoFor lists over 2,000 records: first record of this batch, e.g. 2001 for the second batch. Default 1.
body_templateNoCertificates: the line under the name, may contain fields, e.g. "for completing {{Course}} ({{Hours}} hours) on {{Completed:date}}".
document_typeYesWhat to merge into: letter (US business letter, one per row), certificate (landscape award/completion/participation certificate, one per row), or envelope (#10 envelope with recipient and return address). Example: letter.
envelope_sizeNoEnvelopes: "10" for a #10 business envelope 4-1/8 x 9-1/2 in (default) or "a7" for a 5-1/4 x 7-1/4 in invitation envelope.
max_documentsNoHow many records to put in this PDF (1-2000), e.g. 500. Default all, up to 2,000 per PDF.
missing_valuesNoWhat to do when a record has an empty value for a field with no default: leave_blank (default), skip_record (leave that record out), or placeholder (print [Field Name] for proofreading).
presented_lineNoCertificates: the line above the name. Default "This certificate is proudly presented to" ("This certifies that" for completion).
signature_nameNoLetters: name printed under the closing, e.g. Maria Chen.
include_addressNoLetters: print the recipient address block above the salutation. Default true when the sheet has address columns.
signature_titleNoLetters: title under the signature name, e.g. Executive Director.
address_templateNoOptional recipient address block (letters: inside address; envelopes: delivery address), one line per row, e.g. "{{First Name}} {{Last Name}}\n{{Street}}\n{{City}}, {{State}} {{ZIP}}". Defaults to one built from the name, company and address columns.
certificate_kindNoCertificates: sets the default title and wording, e.g. completion -> "Certificate of Completion". Default achievement.
certificate_titleNoCertificates: custom title, e.g. "Certificate of Appreciation" or "Volunteer of the Year".
recipient_templateNoCertificates: the name line, e.g. "{{First Name}} {{Last Name}}". Defaults to the Name column (or First + Last).

Output Schema

ParametersJSON Schema
NameRequiredDescription
batchYes
paperYes
styleYes
countsYes
fieldsYes
sourceYes
missingYes
previewYes
summaryYes
warningsYes
downloadsYes
document_typeYes
missing_totalYes
unmatched_fieldsYes
needs_confirmationYes
preview_mail_mergePreview mail merge
Read-onlyIdempotent
Inspect

Use this when the user wants to check a mail merge before printing: see how their spreadsheet (CSV or Excel) or list fills a letter, certificate or envelope template, which template fields like {{First Name}} have no matching column, which columns were matched by a similar name (first_name for First Name), and which records have empty values. Returns the first 3 merged records (or from preview_from) and a missing-field report; no files. Does not send email, print, or make labels. Do not use for Outlook or Gmail email merges.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate printed on letters and certificates and used for {{today}}, as YYYY-MM-DD, e.g. 2026-10-03. Defaults to today (US Eastern time); pass the user's local date when known.
fileNoThe spreadsheet with one row per recipient: Excel .xlsx, CSV or TSV, first row = column headers, e.g. donors.xlsx.
namesNoShortcut for a plain list of names (one column called Name), e.g. ["Ana Lopez", "Ben Okafor"]. Handy for certificates.
sheetNoFor an .xlsx file: the sheet (tab) name to use, e.g. Donors. Defaults to the first sheet that has data.
styleNoCertificates: design style: classic (navy double border), gold (cream with gold seal), modern (teal geometric), deco (burgundy art deco). Default classic.
senderNoLetters: your name/organization and address at the top. Envelopes: the return address. One line per entry, e.g. ["Riverbend Animal Shelter", "120 Elm St", "Springfield, IL 62701"].
closingNoLetters: closing line, e.g. "With gratitude,". Defaults to "Sincerely," unless the template already ends with a closing. Use "" for none.
recordsNoAlternative to a file: the recipients typed as objects with the same keys, e.g. [{"First Name": "Ana", "Last Name": "Lopez", "Amount": 250}].
signersNoCertificates: up to 3 signature lines, e.g. [{"name": "Alan Brooks", "title": "Principal"}].
subjectNoLetters: optional subject line printed as "Re: ...", may contain fields, e.g. "Your {{Year}} giving statement".
csv_textNoAlternative to a file: the list pasted as CSV or tab-separated text with a header row, e.g. "First Name,Last Name,City\nAna,Lopez,Austin".
templateNoLetters: the letter text from the salutation to the last paragraph, with merge fields, e.g. "Dear {{First Name|Friend}},\n\nThank you for your gift of {{Amount:currency}} on {{Gift Date:date}}.{{#if Company}} Please thank everyone at {{Company}}.{{/if}}". Syntax: {{Field}}, {{Field|default}}, {{Field:format}} with formats currency, number, integer, ordinal, date, short_date, iso_date, upper, lower, title, first_word, last_word; {{#if Field}}...{{else}}...{{/if}}, {{#if Field = value}}, {{#if Gift > 0}} (also !=, <, >=, <=; numbers or dates), {{#unless Field}}...{{/unless}}; {{today}} is the document date.
field_mapNoOptional explicit links from template fields to column names when names differ, e.g. {"Gift": "Donation Amount (USD)"}.
has_headerNoSet false if the first row of the file is data, not column names (columns are then called Column A, Column B, ...). Default true.
usps_styleNoEnvelopes: print the delivery address in USPS style (uppercase, no periods or commas). Default false.
organizationNoCertificates: issuing organization printed at the top, e.g. Lincoln Elementary School.
preview_fromNoRecord number to start the preview at, e.g. 1 (default) or 25 to check later rows.
body_templateNoCertificates: the line under the name, may contain fields, e.g. "for completing {{Course}} ({{Hours}} hours) on {{Completed:date}}".
document_typeYesWhat to merge into: letter (US business letter, one per row), certificate (landscape award/completion/participation certificate, one per row), or envelope (#10 envelope with recipient and return address). Example: letter.
envelope_sizeNoEnvelopes: "10" for a #10 business envelope 4-1/8 x 9-1/2 in (default) or "a7" for a 5-1/4 x 7-1/4 in invitation envelope.
missing_valuesNoWhat to do when a record has an empty value for a field with no default: leave_blank (default), skip_record (leave that record out), or placeholder (print [Field Name] for proofreading).
presented_lineNoCertificates: the line above the name. Default "This certificate is proudly presented to" ("This certifies that" for completion).
signature_nameNoLetters: name printed under the closing, e.g. Maria Chen.
include_addressNoLetters: print the recipient address block above the salutation. Default true when the sheet has address columns.
signature_titleNoLetters: title under the signature name, e.g. Executive Director.
address_templateNoOptional recipient address block (letters: inside address; envelopes: delivery address), one line per row, e.g. "{{First Name}} {{Last Name}}\n{{Street}}\n{{City}}, {{State}} {{ZIP}}". Defaults to one built from the name, company and address columns.
certificate_kindNoCertificates: sets the default title and wording, e.g. completion -> "Certificate of Completion". Default achievement.
certificate_titleNoCertificates: custom title, e.g. "Certificate of Appreciation" or "Volunteer of the Year".
recipient_templateNoCertificates: the name line, e.g. "{{First Name}} {{Last Name}}". Defaults to the Name column (or First + Last).

Output Schema

ParametersJSON Schema
NameRequiredDescription
batchYes
paperYes
styleYes
countsYes
fieldsYes
sourceYes
missingYes
previewYes
summaryYes
warningsYes
downloadsYes
document_typeYes
missing_totalYes
unmatched_fieldsYes
needs_confirmationYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedgenerate_merged_documents
    • First observedpreview_mail_merge

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources