issue-collector
send_issue_email MCP
Envía el correo de contacto y la descripción del problema que deja el usuario al transferir a un agente humano, mediante SMTP, a un buzón de servicio fijo.
El agente solo ve una herramienta: send_issue_email(email, question).
Cuáles son los tres correos
Rol | Origen | Uso |
Remitente |
| La cuenta que inicia sesión en SMTP y envía realmente |
Destinatario |
| El buzón de servicio fijo donde recibís los problemas |
Correo del usuario | Parámetro de la herramienta | Se escribe en el asunto y el cuerpo, y se define como |
El .env es infraestructura y se despliega una sola vez. email / question cambian en cada conversación y los pasa el agente desde las variables de la conversación (como $邮箱, $问题).
Related MCP server: MCP Sendmail Server
Requisitos del entorno
Python 3.10+
Acceso al SMTP utilizado (para conectar directamente a Gmail desde la máquina local se necesita salida por los puertos 465/587)
Instalación
cd send_issue_email_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envCompletá el .env según las instrucciones siguientes. No subas el .env al repositorio.
Configuración del .env
Obligatorios: recepción y 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 | Descripción |
| Buzón de recepción de problemas, obligatorio |
| Servidor SMTP |
| Credenciales de acceso. En Gmail se debe usar una contraseña de aplicación, no la contraseña de la cuenta |
|
|
| Remitente; por defecto es igual a |
| Nombre visible del remitente |
Dos combinaciones equivalentes para Gmail:
Método |
|
|
SSL (recomendado) |
|
|
STARTTLS |
|
|
Las cuentas de Google de Workspace / ámbito educativo pueden tener el SMTP deshabilitado por el administrador; en ese caso no se puede conectar.
Transporte MCP (clientes remotos)
智齿 envía POST / a la raíz de la URL que completás, por lo que la configuración remota por defecto es la siguiente:
MCP_TRANSPORT=streamable-http
MCP_HOST=0.0.0.0
MCP_PORT=8765
MCP_PATH=/Variable | Descripción |
|
|
| Dirección de escucha; para remoto, |
| Puerto de escucha. En local, el |
| Ruta del endpoint HTTP. Con 智齿 debe ser |
Después de modificar el .env, si ya exportaste variables con el mismo nombre en la terminal, load_dotenv() no las sobrescribe. Abrí una terminal nueva o ejecutá primero unset MCP_TRANSPORT TARGET_EMAIL antes de iniciar.
Verificar primero el envío de correo (sin iniciar MCP)
source .venv/bin/activate
python test_email.pySi tiene éxito, imprime: 成功:问题已发送至服务邮箱 ...
El primer argumento del script es el correo de contacto simulado del usuario, no el remitente. Se recomienda cambiarlo por tu propio correo real para probar y evitar que example.com sea bloqueado por el destinatario y caiga en spam.
Que SMTP tenga éxito solo significa que el servidor de correo aceptó el mensaje. Si el destino es un buzón corporativo como Feishu, revisá también la carpeta «Enviados» del remitente, si hay rebotes y la carpeta de spam/cuarentena del destinatario.
Iniciar MCP (智齿 / remoto)
source .venv/bin/activate
python server.pyEn el registro debería aparecer algo similar a:
transport 'streamable-http' (stateless) on http://0.0.0.0:8765/No ejecutes dos instancias a la vez, de lo contrario dará address already in use. Si necesitás reiniciar, detené primero el proceso anterior y luego iniciá de nuevo.
URL que se completa en 智齿
Elegí el tipo de transporte Streamable HTTP / HTTP (no elijas SSE).
La URL no debe llevar /sse ni /mcp; completá la dirección raíz que llegue a esta máquina:
http://<这台机器的可达地址>:<MCP_PORT>/Por ejemplo, en red local: http://192.168.x.x:8765/
Si 智齿 es un SaaS en la nube, no podrá acceder a una IP de red interna. Se necesita una IP pública, un dominio o un túnel; la URL también es la ruta raíz, sin sufijos.
Guardá y volvé a conectar. En el registro del servicio debería aparecer POST / HTTP/1.1" 200, no 404.
Autocomprobación local
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"}}}'En una respuesta normal se obtiene un JSON con "jsonrpc":"2.0" y "serverInfo":{"name":"issue-collector"...}.
Iniciar MCP (stdio local)
Después de configurar MCP_TRANSPORT=stdio en el .env, un cliente local como Cursor lo levanta mediante un comando, por ejemplo:
{
"mcpServers": {
"issue-collector": {
"command": "/绝对路径/send_issue_email_mcp/.venv/bin/python",
"args": ["/绝对路径/send_issue_email_mcp/server.py"]
}
}
}En modo stdio no se deben escribir registros normales en stdout.
Convención de la herramienta
send_issue_email(email: str, question: str) -> str
email: correo de contacto del usuarioquestion: problema/solicitudDevuelve una cadena que comienza con
成功:o错误:, para que el agente pueda ramificar
Asunto del correo: [问题收集] 来自用户 {email} ({时间})
El cuerpo incluye el correo del usuario, la hora de envío y la descripción del problema; Reply-To es el correo del usuario.
Después de que send_message tiene éxito, devuelve inmediatamente el resultado de MCP; el QUIT de SMTP / cierre de la conexión se realiza en un hilo en segundo plano, para evitar que el cierre de SSL supere el tiempo de espera de 智齿.
Registros
Los registros de ejecución se escriben en log/ dentro del proyecto, un archivo por día; si se inicia varias veces el mismo día, se agrega al final:
log/2026-08-19.logIncluyen inicio y fin de las solicitudes HTTP, llamadas a herramientas, tiempos de conexión/inicio de sesión/envío de SMTP y el resultado del cierre en segundo plano. No incluyen la contraseña de SMTP.
Solución de problemas
Síntoma | Causa | Solución |
智齿 muestra «formato de respuesta del servicio anómalo»; en el registro | El cliente hace POST a la ruta raíz, pero el servicio está en |
|
| El puerto ya está ocupado por la instancia anterior de MCP | Detené el proceso anterior antes de iniciar; no ejecutes dos instancias a la vez |
En el registro | La URL tiene | Cambiala a la ruta raíz |
El script sigue enviando al | Ya hay variables de entorno antiguas en la terminal y | Ejecutá |
SMTP tiene éxito pero no llega a la bandeja de entrada | Cayó en spam/cuarentena, o se está mirando la cuenta de recepción equivocada | Revisá los enviados del remitente, rebotes y el spam del destinatario |
Gmail | Se usó la contraseña de la cuenta o no se activó la verificación en dos pasos | Usá una contraseña de aplicación |
load_dotenv() se ejecuta una sola vez al iniciar server.py. Si solo modificás el .env sin reiniciar el proceso, el servicio en ejecución no leerá los valores nuevos.
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