原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

UniOne

作者:unione-repo版本 1.0.2i★ –i在云端运行
注册名称io.unione/mcp

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在云端运行
  • 传输方式: Streamable HTTP
  • 分类: 开发者工具
  • 你需要填写:Authorization

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

在终端中运行这条命令

claude mcp add --transport http unione https://mcp.unione.io/mcp --header 'Authorization: your-value'

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "unione": {
      "url": "https://mcp.unione.io/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "unione": {
      "type": "http",
      "url": "https://mcp.unione.io/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • Authorization 机密 HTTP header
    Optional. Bearer instead of signing in with OAuth.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

服务器要求先登录,才会列出它的工具。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 unione.io 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 537 毫秒内响应(HTTP 401)

  • ✓ 通过

    使用 OAuth 登录

    声明支持 OAuth 登录,你的 AI 应用可以带你去登录

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 4934 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 4934 个服务器的 95% 更新
  • 基础检查结果等于或优于此分类中其他 4934 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

UniOne 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:Authorization

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.2)于前天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github广泛使用★ 3.4万5天前更新

电脑或云端

Desktop Commander

MCP server for terminal commands, file operations, and process management

作者:wonderwhy-er广泛使用↓ 71万/周★ 1万17天前更新

在你的电脑上运行

Cloudflare MCP

Cloudflare MCP servers

作者:cloudflare正在增长★ 444614个月前更新

在云端运行✓ mcp.cloudflare.com

作者的 README

打开 README

按原文从作者的仓库复制。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