Channels MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Channels MCPsend Max a work email that his task is taking longer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Channels MCP
Channels MCP is a remote Model Context Protocol server that lets agents send structured notifications without learning delivery credentials or recipient addresses. It runs independently in Docker and is designed primarily for OpenCode.
The initial provider is SMTP. Multiple configured channels can use the same SMTP provider, allowing separate outgoing accounts such as work and private email.
MCP Tools
list_recipientsreturns public recipient IDs, names, and available channel IDs.list_channelsreturns configured channel instances and can filter them by recipient.send_notificationaccepts a recipient, concrete channel, and structured message.
The server never returns delivery addresses, SMTP settings, credential names, or credentials through MCP.
Related MCP server: SMTP MCP Server
Message Format
Agents send structured content rather than raw HTML:
{
"recipientId": "max",
"channelId": "work-email",
"message": {
"title": "Task is taking longer",
"summary": "The analysis is still running.",
"details": ["Current step: test execution", "No errors have occurred"],
"actions": [
{
"label": "Open logs",
"url": "https://example.org/logs/123"
}
],
"attachments": [
{
"filename": "report.txt",
"contentType": "text/plain",
"contentBase64": "cmVwb3J0IGNvbnRlbnRz"
}
]
}
}The server escapes all content and renders both HTML and plain text. Action URLs are restricted to
HTTP and HTTPS. Attachments contain raw file bytes encoded as Base64, without a data: URL prefix.
Filenames must not contain paths or control characters. A message may contain up to 5 attachments,
with a maximum decoded size of 5 MiB per file and 10 MiB in total.
Configuration
Every .yaml or .yml file directly inside config/ is loaded at startup. Files are classified by
kind. Missing or unknown kinds, invalid schemas, missing credentials, duplicate IDs, and invalid
channel references stop startup with an error.
Channels
Each channel declares its stable id in YAML. Filenames are used only for discovery and error
messages, so files may be renamed without changing recipient mappings. Provider type and channel ID
are deliberately different concepts: any number of channel files can use type: smtp.
config/work-email.yaml:
kind: channel
id: work-email
type: smtp
displayName: Work Email
from: "Agent Work <agent@company.example>"
host: smtp.company.example
port: 587
secure: false
auth:
userEnv: WORK_SMTP_USER
passEnv: WORK_SMTP_PASSCredentials stay in environment variables. userEnv and passEnv contain variable names, not
credential values.
Recipients
Recipient delivery details are keyed by concrete channel ID:
config/max.yaml:
kind: recipient
id: max
displayName: Max Mustermann
channels:
work-email:
email: max@company.example
private-email:
email: max@example.orgRestart the container after changing configuration. Hot reload is not implemented.
Docker Deployment
Copy the environment template and replace every placeholder:
cp .env.example .envReplace the example YAML files in
config/with your channel and recipient definitions.Start the long-running service:
docker compose up -d --buildCheck its health:
curl http://127.0.0.1:3000/health
The Compose service publishes port 3000 by default. Set CHANNELS_PORT to change the host-side
port. CHANNELS_ALLOWED_HOSTS should list every hostname or IP address clients use to reach the
server, plus localhost and 127.0.0.1 for local health checks.
OpenCode
Set CHANNELS_MCP_TOKEN in the environment that starts OpenCode. It must equal the server token.
Then add the remote server to the appropriate opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"channels": {
"type": "remote",
"url": "http://192.168.1.50:3000/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:CHANNELS_MCP_TOKEN}"
}
}
}
}Use the actual hostname or LAN IP of the Docker host. Do not put the token directly in
opencode.json. Quit and restart OpenCode after changing its configuration because OpenCode does
not hot-reload MCP settings.
Bearer authentication does not encrypt traffic. Plain HTTP is appropriate only on a trusted network. Use HTTPS through a reverse proxy when traffic can cross an untrusted network.
Development
Requires Node.js 20 or newer.
npm ci
npm run verifyTests use injected transports and never contact a real SMTP server.
Endpoints
POST /mcpserves MCP Streamable HTTP. Legacy stateless requests used by current OpenCode releases are supported by the SDK.GET /mcpandDELETE /mcpare handled according to the negotiated MCP protocol and require authentication.GET /healthreturns public process health for Docker and operators.
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
Flicense-quality-maintenanceEnables AI agents to interact with Novu's notification system, facilitating operations like sending notifications, managing subscribers, and organizing topics.Last updated4- FlicenseAqualityDmaintenanceEnables sending emails via SMTP with template management, supporting multiple SMTP configurations, template creation with variable substitution, and bulk email sending with rate limiting.Last updated1117
- Alicense-qualityCmaintenanceUnified notification MCP server with 36 tools to send messages across 23 channels — Email, SMS, Slack, Telegram, Discord, Teams, WhatsApp, Firebase Push, and more.Last updated1MIT

FastAlert MCP Serverofficial
Alicense-qualityDmaintenanceEnables AI agents to list FastAlert channels and send rich notifications via the FastAlert API.Last updated683MIT
Related MCP Connectors
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
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/vnknov/de.scenaryo.channels'
If you have feedback or need assistance with the MCP directory API, please join our Discord server