ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

SendGrid Transactional

โดย Neschadinรุ่น 3.0.3i★ –iรันบนเครื่อง
ชื่อใน registryio.github.Neschadin/sendgrid-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

SendGrid transactional email: preflight send, templates, and delivery diagnostics.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: แชตและอีเมล
  • ต้องใส่ค่าเหล่านี้: SENDGRID_API_KEY, SENDGRID_FROM_EMAIL

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: SENDGRID_API_KEY, SENDGRID_FROM_EMAIL, SENDGRID_FROM_NAME, SENDGRID_REGION, READ_ONLY

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "sendgrid": {
      "command": "npx",
      "args": [
        "-y",
        "@neschadin/sendgrid-mcp"
      ],
      "env": {
        "SENDGRID_API_KEY": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_EMAIL": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_NAME": "ใส่ค่าของคุณ",
        "SENDGRID_REGION": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add sendgrid --env SENDGRID_API_KEY='ใส่ค่าของคุณ' --env SENDGRID_FROM_EMAIL='ใส่ค่าของคุณ' --env SENDGRID_FROM_NAME='ใส่ค่าของคุณ' --env SENDGRID_REGION='ใส่ค่าของคุณ' --env READ_ONLY='ใส่ค่าของคุณ' -- npx -y @neschadin/sendgrid-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "sendgrid": {
      "command": "npx",
      "args": [
        "-y",
        "@neschadin/sendgrid-mcp"
      ],
      "env": {
        "SENDGRID_API_KEY": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_EMAIL": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_NAME": "ใส่ค่าของคุณ",
        "SENDGRID_REGION": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "sendgrid": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@neschadin/sendgrid-mcp"
      ],
      "env": {
        "SENDGRID_API_KEY": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_EMAIL": "ใส่ค่าของคุณ",
        "SENDGRID_FROM_NAME": "ใส่ค่าของคุณ",
        "SENDGRID_REGION": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • SENDGRID_API_KEY ความลับ จำเป็น env
    SendGrid API key (SG....)
  • SENDGRID_FROM_EMAIL จำเป็น env
    Default From address. Must be a verified sender.
  • SENDGRID_FROM_NAME env
    Default From display name
  • SENDGRID_REGION env
    global (default) or eu
  • READ_ONLY env
    When true, send and mutating tools return an error before any SendGrid request

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub Neschadin ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด แชตและอีเมลi

  • ดาวมากกว่า 0% ของอีก 1771 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 51% ของอีก 1771 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1771 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

SendGrid Transactional ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: SENDGRID_API_KEY, SENDGRID_FROM_EMAIL

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.0.3) เข้า registry 25 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Vexa

โดย Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

รันบนคลาวด์★ 2,949Apache-2.0อัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

emailmd

โดย anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

บนเครื่องหรือคลาวด์★ 1,385MITอัปเดต 31 วันที่ผ่านมา
ติดตั้ง

MCP WhatsApp Cloud

โดย codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

รันบนเครื่อง★ 277MITอัปเดต 5 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

SendGrid MCP Server

This server is for transactional send and delivery, not a map of the whole SendGrid API.

A thin SendGrid MCP treats POST /v3/mail/send as one call and spends the rest of its tools on contacts, lists, and campaigns. Those marketing APIs are out of scope here. The tools follow the checks SendGrid's own delivery troubleshooting expects:

  1. Before send. sendgrid_validate_send_request checks the /v3/mail/send payload, that the dynamic template version is active, sender identity (domain authentication or a verified sender), link branding, recipient suppressions including the ASM group on the send, the DMARC warn list (GET /v3/verified_senders/domains), and that send_at is in the future and inside 72 hours. sendgrid_send_with_preflight posts only when that report has no blockers. Sandbox mode accepts the payload and does not deliver.
  2. After accept. The x-message-id response header is not a msg_id. Pass it as xMessageId; search compiles msg_id LIKE ' %', then sendgrid_get_message_activity reads the event chain (reason, bounce_type, asm_group_id, outbound_ip). Email Activity has no real offset. If Activity returns 403/404, or the region is eu and Activity is empty, use Email Logs (POST /v3/logs) with to_email equality. Logs rejects msg_id, from_email, and LIKE.
  3. When it did not arrive. sendgrid_check_suppression and sendgrid_triage_delivery_issue cover bounce, block, spam, invalid, global unsubscribe, and ASM groups. sendgrid_delete_suppression lifts one entry. sendgrid_classify_sendgrid_error and sendgrid_get_scopes explain a 403. Paused or canceled scheduled batches are listed; a batch that was only given send_at is not in that list until you pause or cancel it.
  4. The pipe around the send. Dynamic templates (including bulk rename and pruning inactive versions), Event Webhook create/update/test plus an optional local receiver, and the console settings that change delivery: domains, link branding, enforced TLS, mail and tracking settings, alerts, inbound parse.

Install: bunx --no-env-file x @neschadin/sendgrid-mcp.

Full catalog and runbooks: MCP_TOOLS.md.

This project is community-maintained and is not affiliated with, endorsed by, or sponsored by Twilio SendGrid.

Requirements

  • Bun ≥ 1.4.3
  • A SendGrid API key with scopes for the tools you call. Keys normally start with SG.; any other prefix only logs a warning
  • A verified sender address in SENDGRID_FROM_EMAIL
  • An MCP client (Cursor, Claude Desktop, VS Code, etc.)

One process, one API key. Do not share a hosted instance across tenants.

Configuration

Required
VariableDescription
SENDGRID_API_KEYSendGrid API key
SENDGRID_FROM_EMAILDefault From address (verified sender)
SendGrid
VariableDefaultDescription
SENDGRID_FROM_NAMESendGrid MCPDefault From display name
SENDGRID_REGIONglobalglobal or eu (case-insensitive). eu uses https://api.eu.sendgrid.com/v3 and falls back to Email Logs when Activity is empty
SENDGRID_API_BASE_URLfrom regionOverride the API host. https:// or http://
SENDGRID_ON_BEHALF_OF—Default on-behalf-of header: a subuser username, or account-id
READ_ONLYfalsetrue blocks send and mutating tools before any request
SENDGRID_MCP_LOG_LEVELinfodebug, info, warn, or error

Every tool also accepts onBehalfOf. The value "parent" skips SENDGRID_ON_BEHALF_OF for that call. List subusers with sendgrid_list_subusers (the parent key needs that scope; this key may 403).

Handshake instructions repeat the region, API base, from address, and the workflow above. A tool call with more than 10000 combined array elements and object members is rejected. Results replace oauth_client_secret and api_key values with a length marker.

Remote HTTP

Leave MCP_TRANSPORT unset for stdio. Set MCP_TRANSPORT=http to serve Streamable HTTP on /mcp (/health is unauthenticated).

VariableDefaultDescription
MCP_HTTP_HOST127.0.0.1Bind address
MCP_HTTP_PORT3000Port
MCP_AUTH_MODEtokentoken or none. none is refused when the bind address is not loopback
MCP_AUTH_TOKEN—Bearer token. Required for token mode
MCP_ALLOWED_HOSTSloopback namesComma-separated Host allowlist. Required off loopback
MCP_ALLOWED_ORIGINSloopback namesComma-separated Origin allowlist. A missing Origin is allowed
MCP_TLS_KEY_FILE—TLS key. Set together with MCP_TLS_CERT_FILE
MCP_TLS_CERT_FILE—TLS certificate
MCP_TRUST_PROXYfalseAllow plaintext HTTP off loopback only behind your own TLS proxy
Local Event Webhook receiver

Off until SENDGRID_EVENT_WEBHOOK_PORT is set. The buffer is in-memory (default 5000 events) and is dropped when the process exits.

VariableDefault
SENDGRID_EVENT_WEBHOOK_HOST0.0.0.0
SENDGRID_EVENT_WEBHOOK_PATH/sendgrid/events
SENDGRID_EVENT_WEBHOOK_HEALTH_PATH/sendgrid/events/health
SENDGRID_EVENT_WEBHOOK_MAX_EVENTS5000
SENDGRID_EVENT_WEBHOOK_VERBOSEfalse
SENDGRID_EVENT_WEBHOOK_REQUIRE_SIGNATUREfalse
SENDGRID_EVENT_WEBHOOK_PUBLIC_KEYrequired when signature is required

Point the SendGrid Event Webhook URL at the tunnel, for example https:// /sendgrid/events. Read what arrived with sendgrid_get_received_webhook_events and sendgrid_get_webhook_receiver_status. Create or test the SendGrid-side webhook with sendgrid_manage_event_webhook.

MCP client setup

Cursor

mcp.json.example. --no-env-file stops Bun from also reading a .env in the client cwd. In ~/.cursor/mcp.json, envFile must be an absolute path.

{

"mcpServers": { "sendgrid": { "command": "bunx", "args": ["--no-env-file", "x", "@neschadin/sendgrid-mcp"], "envFile": "${workspaceFolder}/.env" } } }

Remote HTTP, after the server process is started with MCP_TRANSPORT=http:

{

"mcpServers": { "sendgrid": { "url": "https://mcp.example.com/mcp", "headers": { "Authorization": "Bearer " } } } }

Claude Desktop

No envFile. The desktop cwd is not your repo, so pass an absolute --env-file:

{

"mcpServers": { "sendgrid": { "command": "bunx", "args": [ "--no-env-file", "--env-file=/absolute/path/.env", "x", "@neschadin/sendgrid-mcp" ] } } }

Restart the client after changing MCP config.

Safety

  • Send tools can enqueue real mail. They do not ask for confirmToken. Use sendgrid_send_with_preflight, or set READ_ONLY=true.
  • Tools that change SendGrid (templates, suppressions, webhooks, domains, settings, scheduled-send pause/cancel) require confirmToken "CONFIRM".
  • READ_ONLY=true blocks both sends and those mutations before the HTTP call.
  • Email Activity (/v3/messages) may require the Email Activity add-on.

Development

A git tag vX.Y.Z must match version in package.json and both version fields in server.json. That tag runs tests, opens the GitHub Release, publishes @neschadin/sendgrid-mcp to npm, then publishes io.github.Neschadin/sendgrid-mcp to the MCP registry. The release has no binary assets. A prerelease tag (vX.Y.Z-...) publishes to npm with the next dist-tag, skips the MCP registry, and is marked prerelease on GitHub.

git clone https://github.com/Neschadin/sendgrid-mcp.git

cd sendgrid-mcp bun install bun run dev # stdio MCP; loads .env bun run lint bun run typecheck bun run smoke bun test

bun run inspect

Docs

License

MIT — see LICENSE.

ถาม PopNx