GitDiagram
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Send transactional email and manage domains, templates and webhooks in UniOne from AI agents.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/4 통과 · 내가 묻는 내용은 제작자 서버(mcp.unione.io)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 5분
UniOne 키가 필요해요 (제작자 사이트에서 만들기) · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
UniOnehttps://mcp.unione.io/mcpRequest headers에 이 이름과 값을 추가
AuthorizationBearer <여기에 키 붙여 넣기>키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
Claude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsUniOne
UniOne을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 UniOne을 쓰고 있다고 하거나 답에 UniOne 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 UniOne에 연결할 수 없어요
UniOne는 연결할 때 내 키가 필요한데, OpenAI 도움말은 OAuth 로그인만 설명하고 우리가 확인한 키 입력 방법이 없어요
A · UniOne에 연결되는 앱 쓰기
B · 개발자 도구에서 ChatGPT에 연결되는 다른 서버
같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요
Claude Code에 연결할 수 있어요 · 약 5분
UniOne 키가 필요해요 (제작자 사이트에서 만들기)
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user unione https://mcp.unione.io/mcp --header 'Authorization: Bearer your-value'Enter 전에 “your-value”를 내 키로 바꾸세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
UniOne이 목록에 있고 연결됨으로 보이면 돼요
UniOne을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 UniOne을 쓰고 있다고 하거나 답에 UniOne 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 5분
UniOne 키가 필요해요 (제작자 사이트에서 만들기)
UniOne 설정에서 Authorization가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
UniOne을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 UniOne을 쓰고 있다고 하거나 답에 UniOne 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 5분
UniOne 키가 필요해요 (제작자 사이트에서 만들기)
UniOne 설정에서 Authorization가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
UniOne을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 UniOne을 쓰고 있다고 하거나 답에 UniOne 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code
claude mcp add --transport http --scope user unione https://mcp.unione.io/mcp --header 'Authorization: Bearer your-value'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"unione": {
"url": "https://mcp.unione.io/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"unione": {
"type": "http",
"url": "https://mcp.unione.io/mcp",
"headers": {
"Authorization": "Bearer your-value"
}
}
}
}설명은 아직 영어 원문입니다.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 16일 점검
레지스트리 이름이 도메인 unione.io 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 10일 전
해당 없음: unione.io 소유자가 직접 운영하는 클라우드 서버라 저장소 코드를 실행하지 않아요
235ms 만에 응답(HTTP 401)
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: Authorization
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 10일 전 변경됐고, 최신 버전(1.0.2)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.
Deploy durable AI agents with Omnara, an open-source managed-agent platform.
Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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:
https://mcp.unione.io/mcp. Nothing to install: add the URL to your client and sign in to UniOne through OAuth.UNIONE_API_KEY.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 .
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.
Every tool has a class, sent to the client as MCP annotations:
readOnlyHint);destructiveHint: false);destructiveHint: true). Clients ask you before such a call.| Area | Tool | What it does | Class |
|---|---|---|---|
| Account | get_account | Get UniOne account | read |
| Domains | list_domains | List sender domains | read |
| Domains | get_dns_records | Add domain / get its DNS records | write |
| Domains | validate_domain | Check domain DNS records | read |
| Domains | delete_domain | Delete sender domain | dangerous |
| Domains | get_sandbox_domain | Get sandbox domain | write |
| Confirmed emails | list_confirmed_emails | List confirmed emails | read |
| Confirmed emails | add_confirmed_email | Add confirmed email | write |
| Confirmed emails | delete_confirmed_email | Delete confirmed email | dangerous |
| Sending | send_email | Send email (billed) | dangerous |
| Templates | list_templates | List templates | read |
| Templates | get_template | Get template | read |
| Templates | set_template | Create or overwrite template | dangerous |
| Templates | delete_template | Delete template | dangerous |
| Webhooks | list_webhooks | List webhooks | read |
| Webhooks | get_webhook | Get webhook | read |
| Webhooks | set_webhook | Create or overwrite webhook | dangerous |
| Webhooks | delete_webhook | Delete webhook | dangerous |
| Suppressions | get_suppression | Get suppression of an address | read |
| Suppressions | list_suppressions | List suppressions | read |
| Suppressions | set_suppression | Block an address | dangerous |
| Suppressions | delete_suppression | Unblock an address | dangerous |
| Validation | validate_email | Validate an email address (billed) | write |
| Event dumps | request_event_dump | Request event dump | write |
| Event dumps | get_event_dump | Get event dump | read |
| Event dumps | delete_event_dump | Delete event dump | dangerous |
| Tags | list_tags | List tags | read |
| Tags | delete_tag | Delete tag | dangerous |
| Projects | list_projects | List projects | read |
| Projects | create_project | Create project | write |
| Projects | update_project | Update project | dangerous |
| Projects | delete_project | Delete project | dangerous |
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.
Two switches narrow the tool list of a local server:
| Variable | Effect |
|---|---|
MCP_READ_ONLY=1 | only the read tools are listed: the assistant cannot change the account |
MCP_DISABLE_SEND=1 | send_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.
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.
| Variable | Purpose |
|---|---|
UNIONE_API_KEY | local mode: the API key every tool acts with |
UNIONE_API_URL | Web API base, default https://api.unione.io/en/transactional/api/v1 |
MCP_TRANSPORT | http (default) or stdio; unione-mcp stdio sets it too |
MCP_READ_ONLY, MCP_DISABLE_SEND | see above |
AUTH_MODE | self-hosted http mode: api_key (default) or oauth |
AUTHORIZATION_SERVER_URL, OAUTH_SCOPES, OAUTH_TOKEN_PREFIX, MCP_PUBLIC_URL | self-hosted oauth mode. OAUTH_TOKEN_PREFIX defaults to uoat_. |
LISTEN_HOST, PORT | self-hosted http mode listener (default: every interface, first free port from 3000) |
UPSTREAM_TIMEOUT, UPSTREAM_MAX_BODY_BYTES, MCP_MAX_REQUEST_BYTES | Web API call limits and the /mcp body cap |
LOG_LEVEL, LOG_FORMAT | debug, info, warn, error; text or json, always to stderr |
The API key, the Authorization header and Web API response bodies are never logged.
go build -o bin/unione-mcp ./cmd/unione-mcp
go test ./internal/... ./cmd/... # unit tests, no network
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/...