About
Send emails from natural language prompts.
Remote endpoints: streamable-http: https://next.hal9.ai/mcp/mcpbuild/send-email
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-hal9ai-send-email": {
"url": "https://next.hal9.ai/mcp/mcpbuild/send-email"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
mcp.build
mcp.build is a community to build open source MCPs (Model Context Protocol servers) that adopted the Hal9 open source agent structure for its ease of use for deployment and interoperability.
Website: hal9ai.github.io/mcp.build (GitHub Pages from /docs)
This repo is structured so coding agents (Claude Code, Grok Build, Cursor, Codex, …) can contribute with minimal guesswork. Start at AGENTS.md and docs/llms.txt.
Why Hal9 agents?
Hal9 agents are intentionally simple: read from stdin with input(), write to stdout with print(). No framework lock-in. That shape maps cleanly to how MCPs expose tools to models, and makes agents easy to:
- Develop — plain Python, any library
- Deploy —
hal9 deployor GitHub Actions to hal9.com - Interoperate — same agent can run as a chatbot, an API, or an MCP tool
Agents
| Agent | Description | Path |
|---|---|---|
| send-email | Send emails with Resend from natural language prompts (Groq tool use) | send-email/ |
send-email
Example prompt:
send email to javier@hal9.ai with text hello!
The agent:
- Reads the prompt via
input() - Calls a Groq model with a
send_emailtool definition - Maps the tool call to the Resend API
- Prints the result via
print()
Environment variables
| Variable | Required | Description |
|---|---|---|
GROQ_API_KEY | Yes | API key from console.groq.com |
RESEND_API_KEY | Yes | API key from resend.com |
RESEND_FROM | No | Sender address (default: mcp.build <onboarding@resend.dev>) |
GROQ_MODEL | No | Model id (default: qwen/qwen3.6-27b) |
Local run
cd send-email
pip install -r requirements.txt
export GROQ_API_KEY=...
export RESEND_API_KEY=...
echo "send email to you@example.com with text hello!" | python app.py
Deploy to Hal9
export HAL9_TOKEN=... # from https://hal9.com/devs
hal9 deploy send-email --name send-email --access public \
--title "Send Email" \
--description "Send emails via Resend using natural language prompts"
On push to main, if files under send-email/ change, .github/workflows/send-email.yaml deploys a new version to Hal9 (same pattern as hal9ai/hal9 app deploy workflows). Set the HAL9_TOKEN repository secret in GitHub Actions.
Publish to the MCP Registry
The hosted send-email MCP is published as a remote-only server to the official MCP Registry under io.github.hal9ai/send-email. Metadata lives in send-email/server.json. On push to main (when send-email/ changes), .github/workflows/publish-send-email.yaml publishes it using GitHub OIDC — no extra GitHub secrets. The registry version is version in that file. If it is already published, the job skips. Bump version there to ship a new registry entry.
Website (GitHub Pages)
Static site lives in docs/ — no build step.
| Path | Role |
|---|---|
docs/index.html | Landing page — what mcp.build is + list of available MCPs |
docs/send-email/index.html | Dedicated page per MCP (usage, "Add to Claude", etc.) — template for new MCPs |
docs/css/styles.css | Styles |
docs/agents.json | Machine-readable agent catalog |
docs/llms.txt | Short instructions for LLMs / agents |
AGENTS.md | Full rules for coding agents |
Enable Pages: repo Settings → Pages → Build and deployment → Source: Deploy from a branch → Branch: main → Folder: /docs.
Contributing an agent (MCP)
This repo is designed so coding agents (Claude Code, Grok Build, Cursor, Codex, …)
and humans can contribute a new MCP with minimal guesswork. Full checklist:
AGENTS.md. Use send-email/ as the reference
implementation and .github/workflows/send-email.yaml
as the deploy pattern.
Expected layout
# minimum
my-tool/
app.py # input() → work → print()
requirements.txt # optional
hal9.yaml # optional welcome
# also update
.github/workflows/my-tool.yaml
docs/agents.json
docs/my-tool/index.html # dedicated docs page for the MCP
README.md
Minimal agent
# my-tool/app.py
prompt = input()
# … call APIs, tools, models …
print(result)
Steps
-
Create a new folder at the repo root, e.g.
my-tool/. Keep the name short, kebab-case. -
Add
app.py. Useinput()/print()(or any stdin/stdout) so the agent stays Hal9- and MCP-friendly. Prefer nohal9package unless you need session state. -
Add a
requirements.txtif you need third-party packages. -
Optionally add
hal9.yamlwith awelcome:message. -
Add a GitHub Actions workflow,
.github/workflows/my-tool.yaml, that deploys when that folder changes:on: push: branches: [main] paths: - my-tool/** - .github/workflows/my-tool.yaml # job: pip install hal9 → checkout → if my-tool/ changed: hal9 deploy my-tool --name my-tool --access public \ --title "My Tool" --description "…"Secret:
HAL9_TOKEN(agent runtime keys likeGROQ_API_KEYare configured on the Hal9 side / local env — never committed). -
Register the agent in
docs/agents.json(include anid,description, anddocs_pathpointing at its docs page) and mention it in the table above. -
Add a dedicated docs page at
docs/<my-tool>/index.htmlso it shows up athttps://hal9ai.github.io/mcp.build/my-tool/(orhttps://mcp.build/my-tool/). Copydocs/send-email/index.htmlas a template — it covers what the MCP does, how agents use it, and how to add it to Claude and other MCP clients. -
Do not commit secrets; document required env vars in this README.
License
Contributions are welcome. Individual agents may carry their own licenses; see each folder for details.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
