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

UniOne

โดย unione-repoรุ่น 1.0.2i★ –iรันบนคลาวด์
ชื่อใน registryio.unione/mcp

ติดตั้ง

ภาพรวม

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

Send transactional email and manage domains, templates and webhooks in UniOne from AI agents.

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: แชตและอีเมล
  • ต้องใส่ค่าเหล่านี้: Authorization

ติดตั้ง

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

ก่อนติดตั้ง

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

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

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

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

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

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

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

claude mcp add --transport http unione https://mcp.unione.io/mcp --header 'Authorization: ใส่ค่าของคุณ'

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "unione": {
      "url": "https://mcp.unione.io/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "unione": {
      "type": "http",
      "url": "https://mcp.unione.io/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

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

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

  • Authorization ความลับ HTTP header
    Optional. Bearer instead of signing in with OAuth.

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

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

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

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

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

  • ✓ ผ่าน

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

    ชื่อใน registry ยืนยันโดเมน unione.io แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

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

    ยังมีคนดูแล

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

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

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

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

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 537 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

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

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

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

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

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

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

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

UniOne ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: Authorization

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry เมื่อวาน

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

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

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

ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

unione-mcp

The official Model Context Protocol server for UniOne (https://docs.unione.io). It lets AI assistants — Claude, ChatGPT, Cursor, Windsurf, VS Code, Cline and any other MCP client — work with your UniOne account: send email, manage sender domains, templates, webhooks, suppressions, event dumps, tags and projects. 32 tools, each one a call of the public UniOne Web API.

Two ways to use it:

  • Remote — the hosted server at https://mcp.unione.io/mcp. Nothing to install: add the URL to your client and sign in to UniOne through OAuth.
  • Local — the server runs on your machine over stdio (npx, Docker or a binary) and acts with the API key you put into UNIONE_API_KEY.

Remote server (OAuth)

URL: `https://mcp.unione.io/mcp`

The client opens the UniOne sign-in page on first use; you approve the access and the client keeps the token. Revoke it at any time in your UniOne account.

Claude Code

claude mcp add --transport http unione https://mcp.unione.io/mcp

Claude Desktop / claude.ai — Settings → Connectors → Add custom connector, URL https://mcp.unione.io/mcp.

Cursor, Windsurf, Cline, VS Code and other clients with an mcpServers config:

{

"mcpServers": { "unione": { "type": "http", "url": "https://mcp.unione.io/mcp" } } }

A client that cannot do OAuth can send an API key instead: add the header Authorization: Bearer .

Local server (API key)

Get an API key in your UniOne account: an account key reaches the whole account, a project key only its project. The server reads it from UNIONE_API_KEY.

npx (Node.js 18+; downloads the binary for your platform on first run):

{

"mcpServers": { "unione": { "command": "npx", "args": ["-y", "unione-mcp"], "env": { "UNIONE_API_KEY": " " } } } }

Docker:

{

"mcpServers": { "unione": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "UNIONE_API_KEY", "ghcr.io/unione-repo/unione-mcp", "stdio"], "env": { "UNIONE_API_KEY": " " } } } }

Binary — download unione-mcp- - from Releases, make it executable and put it on your PATH (or go install github.com/unione-repo/unione-mcp/cmd/unione-mcp@latest):

{

"mcpServers": { "unione": { "command": "unione-mcp", "args": ["stdio"], "env": { "UNIONE_API_KEY": " " } } } }

Claude Code, in one line:

claude mcp add unione --env UNIONE_API_KEY=<your API key> -- npx -y unione-mcp

Check the connection by asking *"show my UniOne account"*: the assistant calls get_account.

Tools

Every tool has a class, sent to the client as MCP annotations:

  • read — reads only (readOnlyHint);
  • write — creates or changes something, nothing is lost (destructiveHint: false);
  • dangerous — deletes or overwrites for good, or cannot be taken back (destructiveHint: true). Clients ask you before such a call.
AreaToolWhat it doesClass
Accountget_accountGet UniOne accountread
Domainslist_domainsList sender domainsread
Domainsget_dns_recordsAdd domain / get its DNS recordswrite
Domainsvalidate_domainCheck domain DNS recordsread
Domainsdelete_domainDelete sender domaindangerous
Domainsget_sandbox_domainGet sandbox domainwrite
Confirmed emailslist_confirmed_emailsList confirmed emailsread
Confirmed emailsadd_confirmed_emailAdd confirmed emailwrite
Confirmed emailsdelete_confirmed_emailDelete confirmed emaildangerous
Sendingsend_emailSend email (billed)dangerous
Templateslist_templatesList templatesread
Templatesget_templateGet templateread
Templatesset_templateCreate or overwrite templatedangerous
Templatesdelete_templateDelete templatedangerous
Webhookslist_webhooksList webhooksread
Webhooksget_webhookGet webhookread
Webhooksset_webhookCreate or overwrite webhookdangerous
Webhooksdelete_webhookDelete webhookdangerous
Suppressionsget_suppressionGet suppression of an addressread
Suppressionslist_suppressionsList suppressionsread
Suppressionsset_suppressionBlock an addressdangerous
Suppressionsdelete_suppressionUnblock an addressdangerous
Validationvalidate_emailValidate an email address (billed)write
Event dumpsrequest_event_dumpRequest event dumpwrite
Event dumpsget_event_dumpGet event dumpread
Event dumpsdelete_event_dumpDelete event dumpdangerous
Tagslist_tagsList tagsread
Tagsdelete_tagDelete tagdangerous
Projectslist_projectsList projectsread
Projectscreate_projectCreate projectwrite
Projectsupdate_projectUpdate projectdangerous
Projectsdelete_projectDelete projectdangerous

send_email sends real mail and cannot be recalled. validate_email is billed per address. The tools that reach beyond your account — send_email and add_confirmed_email mail an address, set_webhook points UniOne at a URL, validate_email probes a mailbox — say so with openWorldHint: true.

Read-only and no-send modes

Two switches narrow the tool list of a local server:

VariableEffect
MCP_READ_ONLY=1only the read tools are listed: the assistant cannot change the account
MCP_DISABLE_SEND=1send_email is not listed: the assistant cannot send mail
"env": { "UNIONE_API_KEY": "<your API key>", "MCP_READ_ONLY": "1" }

With Docker, env reaches only the docker process: pass the switch into the container with its own -e, before the image name.

"args": ["run", "-i", "--rm", "-e", "UNIONE_API_KEY", "-e", "MCP_READ_ONLY", "ghcr.io/unione-repo/unione-mcp", "stdio"],

"env": { "UNIONE_API_KEY": " ", "MCP_READ_ONLY": "1" }

They guard against mistakes of the model, not against the key's owner: the same key works in the Web API directly. For a hard limit use a project API key.

Configuration

Everything is an environment variable; a .env file in the working directory is read too. .env.example lists them all. Every value is validated at start-up.

VariablePurpose
UNIONE_API_KEYlocal mode: the API key every tool acts with
UNIONE_API_URLWeb API base, default https://api.unione.io/en/transactional/api/v1
MCP_TRANSPORThttp (default) or stdio; unione-mcp stdio sets it too
MCP_READ_ONLY, MCP_DISABLE_SENDsee above
AUTH_MODEself-hosted http mode: api_key (default) or oauth
AUTHORIZATION_SERVER_URL, OAUTH_SCOPES, OAUTH_TOKEN_PREFIX, MCP_PUBLIC_URLself-hosted oauth mode. OAUTH_TOKEN_PREFIX defaults to uoat_.
LISTEN_HOST, PORTself-hosted http mode listener (default: every interface, first free port from 3000)
UPSTREAM_TIMEOUT, UPSTREAM_MAX_BODY_BYTES, MCP_MAX_REQUEST_BYTESWeb API call limits and the /mcp body cap
LOG_LEVEL, LOG_FORMATdebug, info, warn, error; text or json, always to stderr

The API key, the Authorization header and Web API response bodies are never logged.

Documentation

  • UniOne API: https://docs.unione.io
  • Installing with an AI agent: llms-install.md
  • Reporting a vulnerability: SECURITY.md
  • Issues and pull requests: CONTRIBUTING.md

Development

go build -o bin/unione-mcp ./cmd/unione-mcp

go test ./internal/... ./cmd/... # unit tests, no network

acceptance: the real binary over HTTP and stdio against a WireMock stand-in of the API

docker run -d --rm -p 8081:8081 wiremock/wiremock:3.4.1 --local-response-templating --port 8081 E2E_WIREMOCK_URL=http://localhost:8081 go test -tags=integration ./tests/...

License

MIT

ถาม PopNx