The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Send Email listing page.
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.
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:
hal9 deploy or GitHub Actions to hal9.com| Agent | Description | Path |
|---|---|---|
| send-email | Send emails with Resend from natural language prompts (Groq tool use) | send-email/ |
Example prompt:
The agent:
input()send_email tool definitionprint()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
Deploy to Hal9
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.
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.
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.
Create a new folder at the repo root, e.g. my-tool/. Keep the name short, kebab-case.
Add app.py. Use input() / print() (or any stdin/stdout) so the agent stays
Hal9- and MCP-friendly. Prefer no hal9 package unless you need session state.
Add a requirements.txt if you need third-party packages.
Optionally add hal9.yaml with a welcome: message.
Add a GitHub Actions workflow, .github/workflows/my-tool.yaml, that deploys when
that folder changes:
Secret: HAL9_TOKEN (agent runtime keys like GROQ_API_KEY are configured on the
Hal9 side / local env — never committed).
Register the agent in docs/agents.json (include an id,
description, and docs_path pointing at its docs page) and mention it in the
table above.
Add a dedicated docs page at docs/<my-tool>/index.html so it shows up at
https://hal9ai.github.io/mcp.build/my-tool/ (or https://mcp.build/my-tool/).
Copy docs/send-email/index.html as 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.
Contributions are welcome. Individual agents may carry their own licenses; see each folder for details.