issue-collector
send_issue_email MCP
사용자가 상담원 연결(수동 전환) 시 남긴 연락 이메일과 문제 설명을 SMTP를 통해 고정 서비스 메일함으로 발송합니다.
Agent는 send_issue_email(email, question)이라는 도구 하나만 볼 수 있습니다.
세 개의 이메일은 각각 무엇인가
역할 | 출처 | 용도 |
발신자 |
| SMTP에 로그인하여 실제로 발송하는 계정 |
수신자 |
| 문제를 수신하는 고정 서비스 메일함 |
사용자 이메일 | 도구 파라미터 | 제목·본문에 기록하고 |
.env는 인프라로, 한 번만 배포하면 됩니다. email / question은 대화마다 다르며, Agent가 대화 변수(예: $邮箱, $问题)에서 전달합니다.
Related MCP server: MCP Sendmail Server
환경 요구 사항
Python 3.10+
사용할 SMTP에 접근 가능해야 함(로컬에서 Gmail 직결 시 465/587 아웃바운드 필요)
설치
cd send_issue_email_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env아래 안내에 따라 .env를 작성하되, .env를 저장소에 커밋하지 마세요.
.env 구성
필수: 수신 및 SMTP
TARGET_EMAIL=issues@example.com
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
SMTP_USERNAME=your_account@gmail.com
SMTP_PASSWORD=xxxx xxxx xxxx xxxx
SMTP_USE_SSL=true
SENDER_EMAIL=your_account@gmail.com
SENDER_NAME=问题收集机器人변수 | 설명 |
| 문제 수신 메일함, 필수 |
| SMTP 서버 |
| 로그인 자격 증명. Gmail은 앱 전용 비밀번호를 사용해야 하며, 로그인 비밀번호가 아님 |
|
|
| 발신자, 기본값은 |
| 발신자 표시 이름 |
Gmail의 두 가지 동등한 조합:
방식 |
|
|
SSL(권장) |
|
|
STARTTLS |
|
|
Workspace / 학교 Google 계정은 관리자가 SMTP를 차단했을 수 있으며, 그 경우 연동할 수 없습니다.
MCP 전송(원격 클라이언트)
지취(智齿)는 사용자가 입력한 URL 루트 경로에 POST /를 보내므로, 원격 기본값은 다음과 같습니다:
MCP_TRANSPORT=streamable-http
MCP_HOST=0.0.0.0
MCP_PORT=8765
MCP_PATH=/변수 | 설명 |
|
|
| 수신 주소, 원격은 |
| 수신 포트. 로컬 |
| HTTP 엔드포인트 경로. 지취는 반드시 |
.env를 수정한 후, 터미널에 이미 동일한 이름의 변수가 export되어 있다면 load_dotenv()는 덮어쓰지 않습니다. 새 터미널을 열거나, 먼저 unset MCP_TRANSPORT TARGET_EMAIL을 실행한 후 시작하세요.
먼저 발신 검증(MCP 시작 없이)
source .venv/bin/activate
python test_email.py성공 시 출력: 成功:问题已发送至服务邮箱 ...
스크립트의 첫 번째 인자는 시뮬레이션용 사용자 연락 이메일이며, 발신자가 아닙니다. example.com이 수신 측에서 스팸함으로 차단되지 않도록, 테스트 시 자신의 실제 이메일로 변경하는 것을 권장합니다.
SMTP 성공은 우체국이 메일을 수신했음을 의미할 뿐입니다. 대상이 기업 Feishu 등 메일함인 경우, 발신함의 '보낸 메일', 반송 여부, 상대방 스팸함/격리함을 추가로 확인하세요.
MCP 시작(지취 / 원격)
source .venv/bin/activate
python server.py로그에 다음과 유사한 내용이 나타나야 합니다:
transport 'streamable-http' (stateless) on http://0.0.0.0:8765/두 개를 동시에 실행하지 마세요. 그렇지 않으면 address already in use가 발생합니다. 재시작이 필요하면 이전 프로세스를 먼저 중지한 후 시작하세요.
지취에 입력하는 URL
전송 유형은 Streamable HTTP / HTTP를 선택하세요(SSE 선택 금지).
URL에 /sse나 /mcp를 붙이지 말고, 이 머신에 도달할 수 있는 루트 주소를 입력하세요:
http://<这台机器的可达地址>:<MCP_PORT>/예: LAN: http://192.168.x.x:8765/
지취가 클라우드 SaaS라면 내부 IP에 접근할 수 없습니다. 공인 IP, 도메인 또는 터널이 필요하며, URL 역시 루트 경로로 하고 접미사를 붙이지 마세요.
저장 후 다시 연결하세요. 서비스 로그는 404가 아닌 POST / HTTP/1.1" 200이어야 합니다.
로컬 자체 점검
curl -sS -X POST http://127.0.0.1:8765/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"check","version":"0.0.1"}}}'정상이면 "jsonrpc":"2.0"과 "serverInfo":{"name":"issue-collector"...}가 포함된 JSON이 반환됩니다.
MCP 시작(로컬 stdio)
.env에서 MCP_TRANSPORT=stdio로 설정한 후, Cursor 등 로컬 클라이언트가 명령으로 실행합니다. 예:
{
"mcpServers": {
"issue-collector": {
"command": "/绝对路径/send_issue_email_mcp/.venv/bin/python",
"args": ["/绝对路径/send_issue_email_mcp/server.py"]
}
}
}stdio 모드에서는 일반 로그를 stdout으로 출력하지 마세요.
도구 규약
send_issue_email(email: str, question: str) -> str
email: 사용자 연락 이메일question: 문제/요청 사항成功:또는错误:로 시작하는 문자열을 반환하며, Agent가 분기 처리에 사용
메일 제목: [问题收集] 来自用户 {email} ({时间})
본문에는 사용자 이메일, 제출 시간, 문제 설명이 포함되며, Reply-To는 사용자 이메일로 설정됩니다.
send_message 성공 후 즉시 MCP 결과를 반환하고, SMTP QUIT/연결 종료는 백그라운드 스레드에서 수행하여 SSL 종료로 인해 지취 타임아웃이 지연되지 않도록 합니다.
로그
실행 로그는 프로젝트 아래 log/에 날짜별로 하나의 파일로 기록되며, 당일 여러 번 시작하면 추가됩니다:
log/2026-08-19.logHTTP 요청 시작/종료, 도구 호출, SMTP 연결/로그인/발송 소요 시간, 백그라운드 종료 결과가 포함됩니다. SMTP 비밀번호는 포함되지 않습니다.
문제 해결
현상 | 원인 | 처리 |
지취 '서비스 응답 형식 이상'; 로그 | 클라이언트가 루트 경로에 POST를 보내는데 서비스가 |
|
| 포트가 이전 MCP 인스턴스에 점유됨 | 이전 프로세스를 중지한 후 시작, 두 개를 동시에 실행하지 않음 |
로그 | URL에 | 루트 경로 |
스크립트가 여전히 이전 | 터미널에 이전 환경 변수가 있어 |
|
SMTP 성공인데 수신함에 없음 | 스팸함/격리함에 들어갔거나 수신 계정을 잘못 확인 | 발신함 보낸 메일, 반송, 상대방 스팸함 확인 |
Gmail | 로그인 비밀번호를 사용했거나 2단계 인증을 켜지 않음 | 앱 전용 비밀번호로 변경 |
load_dotenv()는 server.py 시작 시 한 번 실행됩니다. .env만 수정하고 프로세스를 재시작하지 않으면 실행 중인 서비스는 새 값을 읽지 못합니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables sending emails via SMTP with template management, supporting multiple SMTP configurations, template creation with variable substitution, and bulk email sending with rate limiting.643419MIT
- FlicenseNot gradedqualityDmaintenanceEnables sending emails via SMTP with support for HTML content, attachments, bulk sending, and template-based emails. Features session management and full MCP Streamable HTTP transport compliance.
- AlicenseNot gradedqualityDmaintenanceEnables sending emails through SMTP using nodemailer, allowing AI assistants to send plain text and HTML emails with configurable SMTP credentials.1072ISC
- AlicenseNot gradedqualityCmaintenanceEnables sending and receiving emails through SMTP, IMAP, and POP3 protocols with support for attachments, HTML content, and email validation.MIT
Related MCP Connectors
Send transactional email over a verified domain — templates, attachments, custom headers.
Fully-managed email as MCP tools - register domains, real mailboxes, send and receive mail.
Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luleigreat/send_issue_email_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server