AI와 MCP
메일 번역, 작성, 요약, AI 클라이언트와 메일함 연결, MCP 도구 호출, 문서에 질문하기.
AI 명령
| 명령 | 하는 일 | 로그인 |
|---|---|---|
| ai translate | 아무것도 보내지 않고 제목과 본문 번역 | 어느 쪽이든 가능. emails:send 필요 |
| ai languages | 번역이 지원하는 모든 언어 나열 | 무엇이든, 또는 없어도 됨: 로그아웃 상태에서는 CLI에 내장된 표를 출력 |
| ai compose "<prompt>" | 본인 문체로 이메일 본문 작성 | 브라우저 로그인 |
| ai summarize <thread-id> | OpenEmail이 스레드에 대해 보관하는 요약 출력 | 브라우저 로그인 |
translate와 compose는 각각 워크스페이스의 하루 할당량에서 AI 작업 하나를 쓰며, 할당량을 다 쓰면 종료 코드 8로 멈춥니다. compose와 summarize는 MCP 도구 composeEmail과 getThreadSummary를 거치므로 브라우저 로그인이 필요합니다. API 키로는 MCP 서버에 닿을 수 없습니다.
번역
openemail ai translate --to de --subject "Your invoice" --text "The invoice is attached."openemail ai translate --to Japanese --body-file reply.html --no-originalcat notes.txt | openemail ai translate --to fropenemail ai languages --search port번역 보내기가 수행할 번역을 실행하고 결과를 출력하므로, 무엇이든 나가기 전에 읽어 볼 수 있습니다. 아무것도 저장하거나 보내지 않습니다. --to에는 코드, 영어 이름, 그 언어 자체의 이름을 쓸 수 있습니다. 본문은 --text, --html, --body-file, stdin에서 가져오며, --text와 --html은 @path로 파일도 읽습니다.
--no-original을 주지 않으면 원문이 번역 아래에 남습니다.- 감지된 원본 언어는 stderr에 출력되며,
--json은 번역 전체를 출력합니다. - 보내면서 번역하려면
openemail send --translate de를 쓰세요.
작성과 요약
openemail ai compose "thank Ada for the invoice and ask for a PDF copy" --to [email protected]openemail ai compose "say yes to Tuesday at 3pm" --thread CAHk7pQ2x9LmZ4 --tone friendlyopenemail ai compose "decline politely" --thread CAHk7pQ2x9LmZ4 | openemail send --to [email protected] --subject "Re: Proposal"openemail ai summarize CAHk7pQ2x9LmZ4compose는 본인 문체로 쓴 본문을 출력하고 아무것도 보내지 않으므로, 마음에 들면openemail send로 넘기세요.--thread를 주면 스레드의 최신 메시지를 먼저 읽고 답장을 씁니다.--tone은formal,friendly,casual,concise,direct,warm중 하나입니다.summarize는 제목, 보낸 사람, 날짜와 함께 요약을 출력합니다. 요약은 메일이 도착할 때 작성되며, 암호화된 메시지가 있는 스레드에는 요약이 없어 종료 코드5로 끝납니다.
AI 클라이언트 연결
OpenEmail MCP 서버는 앱의 어시스턴트가 쓰는 도구를 AI 클라이언트에 제공합니다. 승인한 범위 안에서 메일을 읽고 보내고, 연락처, 템플릿, 도메인 등을 관리할 수 있습니다. 클라이언트는 두 가지 방식 중 하나로 연결되며, openemail mcp config는 사용하는 클라이언트에 맞춰 둘 다 출력합니다:
- 원격 서버. 클라이언트가 자체 브라우저 로그인을 실행하고, OpenEmail 동의 페이지에서 승인하면 계정 → 연결된 앱에 나타납니다. 클라이언트가 지원한다면 이쪽이 더 간단합니다.
- 로컬 브리지
openemail mcp serve. 클라이언트가npx로 시작합니다. 이 CLI의 로그인을 쓰므로 먼저openemail login을 실행하세요. 로컬 서버만 시작하는 클라이언트에 알맞습니다.
openemail mcp configopenemail mcp config --client claude-codeopenemail mcp config --client cursor --profile workopenemail mcp config --client vscode --jsonclaude mcp add --transport http openemail https://api.openemail.uk/mcpclaude mcp add openemail -- npx -y @openemail/cli mcp serve원격 서버를 추가한 뒤 Claude Code는 /mcp에서, Codex는 codex mcp login openemail로 로그인합니다. Claude Desktop은 Settings → Connectors → Add custom connector에서 추가합니다. openemail mcp config --client <name>은 각 클라이언트가 읽는 파일도 알려 줍니다.
로컬 브리지
openemail mcp serve는 stdin에서 줄 단위 JSON-RPC를 읽고, 저장된 브라우저 로그인으로 각 메시지를 MCP 서버에 전달하며, 각 응답을 stdout에 한 줄로 씁니다. 만료된 액세스 토큰을 클라이언트가 모르게 갱신하고, 배치에는 배열 하나로 응답하며, stdin이 닫히면 멈춥니다. stdout에는 프로토콜만 나가고, --debug를 주지 않으면 stderr는 조용합니다.
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | openemail mcp serveopenemail mcp serve --profile workopenemail mcp serve --debug 2> mcp.log브리지는 stdio로 인증 코드를 물을 수 없습니다. 코드가 필요한 도구는 거부로 클라이언트에 전달되고, 브리지는 stderr에 힌트 하나를 출력합니다. 같은 프로필로 터미널에서 openemail verify를 실행하면 그 도구들이 이후 60분 동안 실행됩니다.
도구 직접 호출
openemail mcp toolsopenemail mcp tools composeEmailopenemail mcp call whoAmIopenemail mcp call listThreads --arg folder=inbox --arg maxResults=5openemail mcp call getThread --args '{"threadId":"CAHk7pQ2x9LmZ4"}'mcp tools는 이 로그인이 쓸 수 있는 도구를 나열하며, 역할이나 승인에서 허용하지 않는 것은 이미 빠져 있습니다. 도구 이름을 주면 설명과 인수를 보여 줍니다.mcp call은 인수를--args에 JSON 객체 하나로 받고(인라인,@file,-),--arg key=value는 하나씩 설정합니다. 값은 해석할 수 있으면 JSON으로 읽으므로, 텍스트로 쓰려는 숫자는 따옴표로 묶으세요.- MCP 서버는 확인을 요청하지 않으므로, 보내거나 삭제하는 도구는 즉시 실행됩니다.
Refused (로 시작하는 결과는 종료 코드4로 끝납니다. 알 수 없는 도구는5, 잘못된 인수는7, 다 쓴 AI 할당량은8입니다.
도구 6개는 REST API가 인증 코드로 보호하는 변경을 하며, 같은 코드를 요구합니다: createRule, setRuleEnabled, removeDomain, removeDomainAddress, 직접 만든 오디언스에 대한 deleteAudience, 그리고 직접 만들었고 아직 연락처가 남아 있는 오디언스에 대한 emptyAudience입니다. 터미널에서는 mcp call이 코드를 묻고 도구를 다시 호출합니다. 무인 실행에서는 종료 코드 4로 끝나므로 먼저 openemail verify를 실행하세요.
문서에 질문하기
openemail docs ask "how do I verify a domain?"openemail docs open cli/authenticationopenemail docs read cli/commandsopenemail docs readdocs ask는 문서 어시스턴트에게 질문하고 답이 작성되는 대로 출력한 뒤, 근거가 된 페이지를 보여 줍니다. 이 문서만을 바탕으로 답하며, 로그인이 필요 없고 자격 증명을 보내지 않습니다. 질문은 최대 600자이며, 네트워크마다 하루에 할 수 있는 질문 수가 제한됩니다.docs open은 브라우저에서 페이지를 열며,--print는 대신 링크를 출력합니다.docs read는 페이지를 Markdown으로 출력합니다. 페이지를 주지 않으면 모든 페이지의 목차를 출력합니다.