issue-collector
send_issue_email MCP
Sendet die Kontakt-E-Mail und Problembeschreibung, die der Benutzer bei der Übergabe an einen menschlichen Agenten hinterlassen hat, per SMTP an ein festes Service-Postfach.
Der Agent sieht nur ein Tool: send_issue_email(email, question).
Welche drei E-Mail-Adressen gibt es?
Rolle | Quelle | Zweck |
Absender |
| Das Konto, das sich bei SMTP anmeldet und tatsächlich versendet |
Empfänger |
| Euer festes Service-Postfach für eingehende Probleme |
Benutzer-E-Mail | Tool-Parameter | Wird in Betreff und Text geschrieben und als |
.env ist die Infrastruktur und wird einmal bereitgestellt. email / question unterscheiden sich bei jedem Gespräch und werden vom Agenten aus Gesprächsvariablen (z. B. $邮箱, $问题) übergeben.
Related MCP server: MCP Sendmail Server
Systemanforderungen
Python 3.10+
Zugriff auf den verwendeten SMTP-Server (bei direktem Gmail-Zugriff vom Rechner sind ausgehende Verbindungen auf 465/587 erforderlich)
Installation
cd send_issue_email_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envFülle .env gemäß den folgenden Anweisungen aus und committe .env nicht in das Repository.
.env konfigurieren
Pflichtfelder: Empfang und 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=问题收集机器人Variable | Beschreibung |
| Postfach für Probleme, Pflichtfeld |
| SMTP-Server |
| Anmeldedaten. Bei Gmail muss ein App-spezifisches Passwort verwendet werden, nicht das Anmeldekennwort |
|
|
| Absender, standardmäßig gleich |
| Anzeigename des Absenders |
Zwei äquivalente Kombinationen für Gmail:
Methode |
|
|
SSL (empfohlen) |
|
|
STARTTLS |
|
|
Bei Workspace-/Schul-Google-Konten kann SMTP vom Administrator deaktiviert sein; in diesem Fall ist keine Verbindung möglich.
MCP-Transport (Remote-Clients)
智齿 sendet einen POST / an die von dir angegebene URL-Wurzel. Daher gilt für Remote standardmäßig Folgendes:
MCP_TRANSPORT=streamable-http
MCP_HOST=0.0.0.0
MCP_PORT=8765
MCP_PATH=/Variable | Beschreibung |
|
|
| Listen-Adresse, für Remote |
| Listen-Port. Lokal ist |
| HTTP-Endpunkt-Pfad. Bei 智齿 muss dies |
Wenn nach dem Ändern von .env im Terminal bereits gleichnamige Variablen per export gesetzt wurden, überschreibt load_dotenv() diese nicht. Öffne ein neues Terminal oder führe zuerst unset MCP_TRANSPORT TARGET_EMAIL aus, bevor du startest.
Zuerst den Versand testen (ohne MCP zu starten)
source .venv/bin/activate
python test_email.pyBei Erfolg wird ausgegeben: 成功:问题已发送至服务邮箱 ...
Das erste Argument im Skript ist die simulierte Benutzer-Kontakt-E-Mail, nicht der Absender. Es wird empfohlen, sie für den Test durch deine eigene echte E-Mail zu ersetzen, um zu vermeiden, dass example.com vom Empfänger in den Spam-Ordner verschoben wird.
SMTP-Erfolg bedeutet nur, dass das Postamt die Nachricht angenommen hat. Wenn das Ziel z. B. ein Feishu-Unternehmenspostfach ist, prüfe zusätzlich den Ordner „Gesendet" des Absenders, auf Unzustellbarkeitsmeldungen und den Spam-/Quarantäne-Ordner des Empfängers.
MCP starten (智齿 / Remote)
source .venv/bin/activate
python server.pyIm Log sollte Ähnliches erscheinen:
transport 'streamable-http' (stateless) on http://0.0.0.0:8765/Starte nicht zwei Instanzen gleichzeitig, sonst kommt address already in use. Stoppe vor einem Neustart zuerst den alten Prozess.
URL, die in 智齿 eingetragen wird
Wähle als Übertragungstyp Streamable HTTP / HTTP (nicht SSE).
Die URL darf kein /sse oder /mcp enthalten. Trage die Wurzel-Adresse ein, die diese Maschine erreicht:
http://<这台机器的可达地址>:<MCP_PORT>/Z. B. im LAN: http://192.168.x.x:8765/
Wenn 智齿 eine Cloud-SaaS-Lösung ist, kann die interne IP nicht erreicht werden. Es wird eine öffentliche IP, eine Domain oder ein Tunnel benötigt. Die URL ist ebenfalls die Wurzel, ohne Suffix.
Nach dem Speichern erneut verbinden. Im Service-Log sollte POST / HTTP/1.1" 200 stehen, nicht 404.
Lokaler Selbsttest
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"}}}'Bei Erfolg wird ein JSON mit "jsonrpc":"2.0" und "serverInfo":{"name":"issue-collector"...} zurückgegeben.
MCP starten (lokales stdio)
Nachdem in .env MCP_TRANSPORT=stdio gesetzt wurde, wird der Prozess von einem lokalen Client wie Cursor per Befehl gestartet, z. B.:
{
"mcpServers": {
"issue-collector": {
"command": "/绝对路径/send_issue_email_mcp/.venv/bin/python",
"args": ["/绝对路径/send_issue_email_mcp/server.py"]
}
}
}Im stdio-Modus dürfen normale Logs nicht auf stdout ausgegeben werden.
Tool-Konventionen
send_issue_email(email: str, question: str) -> str
email: Kontakt-E-Mail des Benutzersquestion: Problem/AnliegenGibt eine Zeichenkette zurück, die mit
成功:oder错误:beginnt, damit der Agent verzweigen kann
E-Mail-Betreff: [问题收集] 来自用户 {email} ({时间})
Der Text enthält die Benutzer-E-Mail, den Zeitpunkt der Übermittlung und die Problembeschreibung; Reply-To ist die Benutzer-E-Mail.
Nach erfolgreichem send_message wird das MCP-Ergebnis sofort zurückgegeben. SMTP QUIT/Verbindungsschluss erfolgt in einem Hintergrund-Thread, um zu vermeiden, dass das Schließen von SSL das 智齿-Timeout überschreitet.
Logs
Ausführungslogs werden unter log/ im Projektverzeichnis geschrieben, eine Datei pro Tag. Bei mehreren Starts am selben Tag wird angehängt:
log/2026-08-19.logEnthält Beginn/Ende von HTTP-Anfragen, Tool-Aufrufe, SMTP-Verbindungs-/Anmelde-/Sendezeiten und das Ergebnis des Hintergrund-Schließens. Kein SMTP-Passwort.
Fehlerbehebung
Symptom | Ursache | Behandlung |
智齿 „Service-Antwortformat ungewöhnlich"; Log | Client sendet POST an die Wurzel, der Dienst läuft jedoch auf |
|
| Port ist bereits von der vorherigen MCP-Instanz belegt | Alten Prozess stoppen, dann starten; nicht zwei Instanzen gleichzeitig ausführen |
Log | URL enthält zusätzlich | Auf Wurzel |
Skript sendet weiterhin an alte | Im Terminal existieren bereits alte Umgebungsvariablen, |
|
SMTP erfolgreich, aber Postfach leer | Im Spam-/Quarantäne-Ordner gelandet oder falsches Empfängerkonto geprüft | Ordner „Gesendet" des Absenders, Unzustellbarkeitsmeldungen und Spam-Ordner des Empfängers prüfen |
Gmail | Anmeldekennwort verwendet oder Zwei-Faktor-Authentifizierung nicht aktiviert | App-spezifisches Passwort verwenden |
load_dotenv() wird beim Start von server.py einmal ausgeführt. Wenn nur .env geändert wird, ohne den Prozess neu zu starten, liest der laufende Dienst die neuen Werte nicht.
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