Email sending MCP ð
ããŒã«ã«Email sending MCP ð ã«ã€ããŠ
Resend ã® MCP ãµãŒããŒã¯ãAI ãšãŒãžã§ã³ããã Resend ã®ã¡ãŒã«ãã©ãããã©ãŒã ãå©çšããããã®ãµãŒããŒã§ããã¡ãŒã«ã®éåä¿¡ããã³ã³ã¿ã¯ãããããŒããã£ã¹ãããã¡ã€ã³ã®ç®¡çã«å¯Ÿå¿ããŸããResend ããã¹ããããªã¢ãŒããµãŒããŒãšãããŒã«ã«ã§å®è¡ã§ãããªãŒãã³ãœãŒã¹ã® resend-mcp ããã±ãŒãžã®äž¡æ¹ãæäŸãããŠããŸãã
äž»ãªæ©èœ
- 01OAuth ãŸã㯠API ããŒã«ãããªã¢ãŒããµãŒããŒæ¥ç¶
- 02stdio ãš HTTP ã®2ã€ã®ãã©ã³ã¹ããŒãæ¹åŒ
- 03ã¡ãŒã«ã®éä¿¡ãšåä¿¡
- 04ã³ã³ã¿ã¯ãããããŒããã£ã¹ãããã¡ã€ã³ã®ç®¡ç
- 05--allowed-file-dirs ã«ãããã¡ã€ã«èªã¿åãã®å¶é
掻çšã·ãŒã³
- 01éçºäžã«ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ããããã¹ãã¡ãŒã«ãéä¿¡ãã
- 02èªç¶èšèªã§ã¡ãŒã«ã®ã³ã³ã¿ã¯ãããããŒããã£ã¹ãã管çãã
- 03ãã©ãŠã¶ã䜿ããªãç°å¢ã§ API ããŒã䜿ã£ãŠæ¥ç¶ãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
Resend MCP ãµãŒããŒ
AI ãšãŒãžã§ã³ãã Resend ãã©ãããã©ãŒã ã«æ¥ç¶ããŸããClaudeãCursorãClaude Code ãªã©ããããã MCP ã¯ã©ã€ã¢ã³ãããçŽæ¥ãã¡ãŒã«ã®éåä¿¡ããé£çµ¡å ããããŒããã£ã¹ãããã¡ã€ã³ãªã©ã®ç®¡çãè¡ããŸãã
Resend ããã¹ããããªã¢ãŒã MCP ãµãŒããŒãšãããŒã«ã« MCP ãµãŒããŒïŒãã®ããã±ãŒãžïŒã®äž¡æ¹ãæäŸããŠããŸãã
ãªã¢ãŒã MCP ãµãŒããŒ
Resend ã¯æ¬¡ã®å Žæã§ MCP ãµãŒããŒããã¹ãããŠããŸãã
https://mcp.resend.com/mcp
ãªã¢ãŒããµãŒããŒïŒStreamable HTTPïŒã«å¯Ÿå¿ãã MCP ã¯ã©ã€ã¢ã³ããªããã©ãã§ãæ¥ç¶ã§ããŸããã€ã³ã¹ããŒã«ãããŒã«ã«ããã»ã¹ã®èµ·åã¯äžèŠãªãããClaude ãªã©ã®ãŠã§ãããŒã¹ã®ã¯ã©ã€ã¢ã³ããããã¹ãåãšãŒãžã§ã³ããã©ãããã©ãŒã ã«æé©ã§ãã
æ¥ç¶ãããšãã¯ã©ã€ã¢ã³ãã§ãã©ãŠã¶ãŒãŠã£ã³ããŠãéããResend ã«ãã°ã€ã³ã㊠OAuth ã䜿ã£ãã¢ã¯ã»ã¹ãæ¿èªããŸãã
Claude Code
claude mcp add --transport http resend https://mcp.resend.com/mcp
次ã«ãClaude Code ã§ /mcp ãå®è¡ããresend ãéžæã㊠OAuth ãã°ã€ã³ãå®äºããŸãã
Claude
ClaudeïŒãŠã§ãçãŸãã¯ãã¹ã¯ãããçïŒã§ãSettings > Connectors > Add custom connector ãéããæ¬¡ã®å€ãå ¥åããŸãã
https://mcp.resend.com/mcp
Cursor
ã³ãã³ããã¬ãããéãããCursor Settingsã > ãMCPã > ãAdd new global MCP serverããéžæããŸãã
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp"
}
}
}
Codex
codex mcp add resend --url https://mcp.resend.com/mcp
Copilot
VS Code ã§ GitHub Copilot ã䜿çšããã«ã¯ã次ã®å
容ã settings.json ã«è¿œå ããŸãã
{
"mcp": {
"servers": {
"resend": {
"type": "http",
"url": "https://mcp.resend.com/mcp"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
}
Warp
Warp ã®èšå®ã§ Agents > MCP servers ã«ç§»åãã+Add ãã¯ãªãã¯ããŠæ°ãããµãŒããŒã远å ããŸãã
{
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
API ããŒã䜿ã£ãèªèšŒ
ã¯ã©ã€ã¢ã³ãããã©ãŠã¶ãŒã§ã®ãã°ã€ã³ãã§ããªãç°å¢ïŒãµãŒããŒãCIããããã¬ã¹ãšãŒãžã§ã³ããªã©ïŒã§åäœããå Žåã¯ãOAuth ã®ä»£ããã« Resend API ããŒã Bearer ããŒã¯ã³ãšããŠæž¡ããŸãã
Claude CodeïŒ
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"
JSON èšå®ïŒCursorãWindsurf ãªã©ïŒã§ã¯ãAuthorization ããããŒã远å ããŸãã
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
ããŒã«ã« MCP ãµãŒããŒ
ãã¹ãåãµãŒããŒã§ã¯ãNPM ã§ resend-mcp ãšããŠå
¬éãããŠãããã®ãšåããªãŒãã³ãœãŒã¹ã³ãŒããå®è¡ãããŠããŸããèªåã§ãµãŒããŒãå®è¡ããå Žåã¯ãnpx ã䜿ã£ãŠã察å¿ããä»»æã® MCP ã¯ã©ã€ã¢ã³ãã«çµ±åã§ããŸããæ¬¡ã®æºåãå¿
èŠã§ãã
ããŒã«ã«ãµãŒããŒã§ã¯ãstdioïŒããã©ã«ãïŒãš HTTP ã® 2 ã€ã®ãã©ã³ã¹ããŒãã¢ãŒãã«å¯Ÿå¿ããŠããŸãã
以äžãã䜿çšããã¢ãŒããšã¯ã©ã€ã¢ã³ããéžãã§å§ããŠãã ãããre_xxxxxxxxx ã¯å®éã® API ããŒã«çœ®ãæããŠãã ããã
Stdio ãã©ã³ã¹ããŒãïŒããã©ã«ãïŒ
ã¯ã€ãã¯ã»ããã¢ãã
æ€åºãŸãã¯éžæããããã¹ãŠã®ãšãŒãžã§ã³ããšãšãã£ã¿ãŒã«ã€ã³ã¹ããŒã«ããŸãã
npx add-mcp resend-mcp --name resend --env "RESEND_API_KEY=re_xxxxxxxxx"
Claude Code
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp
Codex
codex mcp add resend \
--env RESEND_API_KEY=re_xxxxxxxxx \
-- npx -y resend-mcp
Cursor
ã³ãã³ããã¬ãããéãããCursor Settingsã > ãMCPã > ãAdd new global MCP serverããéžæããŸãã
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Claude Desktop
Claude Desktop ã®èšå® > ãDeveloperãã¿ã > ãEdit ConfigããéããŸãã
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Copilot
VS Code ã§ GitHub Copilot ã䜿çšããã«ã¯ã次ã®å
容ã settings.json ã«è¿œå ããŸãã
{
"mcp": {
"servers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
}
Gemini CLI
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
OpenCode
opencode.json ã®èšå®ã«è¿œå ããŸãã
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"resend": {
"type": "local",
"command": ["npx", "-y", "resend-mcp"],
"enabled": true,
"environment": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Devin
Devin ã§ Settings > Connections > MCP Servers ãéããAdd a custom MCP ãã¯ãªãã¯ããŸãã詳ããæé ã«ã€ããŠã¯ãDevin ã¬ã€ããåç §ããŠãã ããã
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx",
"SENDER_EMAIL_ADDRESS": "[email protected]"
}
}
}
}
HTTP ãã©ã³ã¹ããŒã
Resend ã®ãã¹ãåãªã¢ãŒã MCP ãµãŒããŒã䜿ã代ããã«ãç¬èªã®ãã³ãã«ããªããŒã¹ãããã·ã®èåŸãªã©ããªã¢ãŒããŸãã¯ãŠã§ãããŒã¹ã®é£æºåãã« HTTP çµç±ã§ãµãŒããŒãå®è¡ããŸããHTTP ã¢ãŒãã§ã¯ãåã¯ã©ã€ã¢ã³ã㯠Authorization ããããŒã§ Resend API ããŒã Bearer ããŒã¯ã³ãšããŠæž¡ããŠèªèšŒããŸãã
ãµãŒããŒãèµ·åããŸãã
npx -y resend-mcp --http --port 3000
ãµãŒããŒã¯ http://127.0.0.1:3000 ã§ãªãã¹ã³ããStreamable HTTP ã䜿ã£ãŠ /mcp ã« MCP ãšã³ããã€ã³ããå
¬éããŸãã
Claude Code
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor
ã³ãã³ããã¬ãããéãããCursor Settingsã > ãMCPã > ãAdd new global MCP serverããéžæããŸãã
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
ããŒã㯠MCP_PORT ç°å¢å€æ°ã§ãèšå®ã§ããŸãã
MCP_PORT=3000 npx -y resend-mcp --http
ã©ã€ãã©ãªãšããŠäœ¿çšãã
HTTP ãã©ã³ã¹ããŒãããšã¯ã¹ããŒããããŠãããããCLI çµç±ã§å®è¡ãã代ããã«ãå¥ã®ãµãŒãã¹ã«çµã¿èŸŒãããšãã§ããŸããæ¥ç¶ããåã¯ã©ã€ã¢ã³ãã¯ãBearer ããŒã¯ã³ãšããŠæž¡ãç¬èªã® Resend API ããŒã§èªèšŒããŸãã
import { runHttp } from 'resend-mcp/http';
// Options are optional â pass `senderEmailAddress` / `replierEmailAddresses`
// to set defaults. Binds the port and returns the Node http.Server, exposing
// the MCP endpoint at POST/GET/DELETE /mcp and a GET /health check.
const server = await runHttp({}, 3000);
ããã©ã«ãã§ã¯ããµãŒããŒã¯ localhost ã®ã¿ã察象ãšãã Host æ€èšŒïŒDNS ãªãã€ã³ãã£ã³ã°å¯ŸçïŒãé©çšããŸãããµãŒããŒããªã¯ãšã¹ãããšã® Bearer API ããŒã§ä¿è·ãããŠãããªããŒã¹ãããã·ãŸãã¯ããŒããã©ã³ãµãŒã®èåŸã«ãããã€ããå Žåã¯ããããã·ãã転éããã Host ãããŒããã©ã³ãµãŒã®ãã«ã¹ãã§ãã¯ã 403 Invalid Host ã§æåŠãããªãããã«ãhost ã 0.0.0.0 ã«èšå®ããŠãã ããã
const server = await runHttp({}, 3000, { host: '0.0.0.0' });
// or pin specific hostnames instead of disabling validation:
const server = await runHttp({}, 3000, { allowedHosts: ['mcp.example.com'] });
CLI ã§ã¯ããã㯠--host / --allowed-hostsïŒãŸã㯠MCP_HOST / MCP_ALLOWED_HOSTSïŒã«å¯Ÿå¿ããŸãã
ãªãã·ã§ã³
ããŒã«ã«ãµãŒããŒãèšå®ããããã«ã远å ã®åŒæ°ãæž¡ãããšãã§ããŸãã
--keyïŒResend API ããŒïŒstdio ã¢ãŒãã®ã¿ãHTTP ã¢ãŒãã§ã¯ã¯ã©ã€ã¢ã³ããã Bearer ããŒã¯ã³ãšããŠæž¡ãããŸãïŒ--senderïŒæ€èšŒæžã¿ãã¡ã€ã³ã®ããã©ã«ãã®éä¿¡å ã¡ãŒã«ã¢ãã¬ã¹--reply-toïŒããã©ã«ãã®è¿ä¿¡å ã¡ãŒã«ã¢ãã¬ã¹ïŒè€æ°åæå®ã§ããŸãïŒ--httpïŒstdio ã®ä»£ããã« HTTP ãã©ã³ã¹ããŒãã䜿çšããŸãïŒããã©ã«ãïŒstdioïŒ--portïŒ--httpäœ¿çšæã® HTTP ããŒãïŒããã©ã«ãïŒ3000ããŸãã¯MCP_PORTç°å¢å€æ°ïŒ--hostïŒ--httpäœ¿çšæã® DNS ãªãã€ã³ãã£ã³ã°å¯Ÿççšãã¹ãïŒããã©ã«ãïŒ127.0.0.1ããŸãã¯MCP_HOSTïŒããããã·ïŒããŒããã©ã³ãµãŒã®èåŸã§Hostæ€èšŒãç¡å¹ã«ããã«ã¯ã0.0.0.0ã«èšå®ããŸãã--allowed-hostsïŒ--httpäœ¿çšæã®ã«ã³ãåºåãã®Hostèš±å¯ãªã¹ãïŒãŸãã¯MCP_ALLOWED_HOSTSïŒ--allowed-file-dirsïŒããŒã«ã«ãã¡ã€ã«ã®æ·»ä»ãš CSV ã®ã€ã³ããŒãã§èªã¿åããèš±å¯ãããã£ã¬ã¯ããªïŒã«ã³ãåºåãïŒïŒãŸãã¯MCP_ALLOWED_FILE_DIRSïŒãæªèšå®ã®å Žåãstdio ã§ã¯å¶éãããŸããã--httpã§ã¯ãèšå®ãããŠããªãéãåžžã«ç¡å¹ã§ãã
ç°å¢å€æ°ïŒ
RESEND_API_KEYïŒResend API ããŒïŒstdio ã§ã¯å¿ é ãHTTP ã§ã¯ã¯ã©ã€ã¢ã³ããã Bearer ããŒã¯ã³ãšããŠæž¡ãããããçç¥å¯èœïŒSENDER_EMAIL_ADDRESSïŒæ€èšŒæžã¿ãã¡ã€ã³ã®ããã©ã«ãã®éä¿¡å ã¡ãŒã«ã¢ãã¬ã¹ïŒçç¥å¯èœïŒREPLY_TO_EMAIL_ADDRESSESïŒè¿ä¿¡å ã¡ãŒã«ã¢ãã¬ã¹ïŒã«ã³ãåºåããçç¥å¯èœïŒMCP_PORTïŒ--httpäœ¿çšæã® HTTP ããŒãïŒçç¥å¯èœïŒMCP_HOSTïŒ--httpäœ¿çšæã® DNS ãªãã€ã³ãã£ã³ã°å¯Ÿççšãã¹ãïŒçç¥å¯èœïŒMCP_ALLOWED_HOSTSïŒ--httpäœ¿çšæã®Hostèš±å¯ãªã¹ãïŒã«ã³ãåºåããçç¥å¯èœïŒMCP_ALLOWED_FILE_DIRSïŒããŒã«ã«ãã¡ã€ã«ã®èªã¿åããèš±å¯ãããã£ã¬ã¯ããªïŒã«ã³ãåºåããçç¥å¯èœïŒ
ã¡ã¢
éä¿¡å ã¡ãŒã«ã¢ãã¬ã¹ãæå®ããªãå ŽåãMCP ãµãŒããŒã¯ããŒã«ãåŒã³åºããã³ã«ããã®ã¢ãã¬ã¹ãæå®ããããæ±ããŸãã
èŠå
send-emailïŒattachments[].filePathïŒãšcreate-contact-importïŒfilePathïŒã¯ããŒã«ã«ãã¡ã€ã«ãèªã¿åããŸãã--httpã§ã¯ãªã¢ãŒãã¯ã©ã€ã¢ã³ãããµãŒããŒã®ãã£ã¹ã¯ãèªã¿åããªããããããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸããç¹å®ã®ãã£ã¬ã¯ããªãèš±å¯ããã«ã¯ã--allowed-file-dirsã䜿çšããŠãã ãããstdio ã§ã¯ãããã³ããã€ã³ãžã§ã¯ã·ã§ã³ãåãããšãŒãžã§ã³ããéžæãããã©ã«ããŒä»¥å€ã®ãã¡ã€ã«ãæ·»ä»ã§ããªãããã«ããã«ã¯ã--allowed-file-dirsãèšå®ããŸãã
MCP ãµãŒããŒã®ããŒã«
Resend ã® MCP ãµãŒããŒã䜿çšãããšãåäžã®é£æºãéããŠãAI ãšãŒãžã§ã³ãã Resend ãã©ãããã©ãŒã å šäœã«ãã€ãã£ãã«ã¢ã¯ã»ã¹ã§ããŸããèªç¶èšèªã䜿ã£ãŠãã¡ãŒã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããããåŽé¢ã管çã§ããŸãã
- ã¡ãŒã«ïŒã¡ãŒã«ã®éä¿¡ãäžèŠ§è¡šç€ºãååŸããã£ã³ã»ã«ãæŽæ°ãå ±æãäžæ¬éä¿¡ãè¡ããŸããé ä¿¡ããã³ãšã³ã²ãŒãžã¡ã³ãææšãååŸã§ããŸããHTMLããã¬ãŒã³ããã¹ããæ·»ä»ãã¡ã€ã«ïŒããŒã«ã«ãã¡ã€ã«ãURLããŸã㯠base64ïŒãCC/BCCãè¿ä¿¡å ãã¹ã±ãžã¥ãŒã«èšå®ãã¿ã°ãã«ã¹ã¿ã ããããŒããããã¯ããŒã¹ã®éä¿¡ãåªçæ§ããŒã«å¯Ÿå¿ããŠããŸãã
- åä¿¡ã¡ãŒã«ïŒåä¿¡ã¡ãŒã«ãäžèŠ§è¡šç€ºããŠèªã¿åããŸããåä¿¡ã¡ãŒã«ã®æ·»ä»ãã¡ã€ã«ãäžèŠ§è¡šç€ºããŠããŠã³ããŒãã§ããŸãã
- åä¿¡ãã¬ã€ïŒåä¿¡ãã¬ã€ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸããåä¿¡ãã¬ã€ã®ãšãŒãžã§ã³ãèšå®ãèªã¿åããæŽæ°ã§ããŸããã¹ã¬ããã®äžèŠ§è¡šç€ºãæ€çŽ¢ãååŸãæŽæ°ãåé€ããã©ãã«ã®è¿œå ãèšå®ãåé€ãè¡ããŸããã¹ã¬ããå ã®ã¡ãŒã«ãäžèŠ§è¡šç€ºãååŸããæ·»ä»ãã¡ã€ã«ãã«ã¹ã¿ã ããããŒãä»ããŠè¿ä¿¡ãŸãã¯è»¢éã§ããŸããã©ãã«ã®äœæãäžèŠ§è¡šç€ºãæŽæ°ãåé€ãè¡ããŸããæ·»ä»ãã¡ã€ã«ä»ãã®äžæžãã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãéä¿¡ãè¡ããŸããåä¿¡ãã¬ã€ããæ°ããã¡ãŒã«ãéä¿¡ããŠã¹ã¬ãããéå§ã§ããŸããè¿ä¿¡ã転éãäžæžãã®äœæãšéä¿¡ãæ°ããã¡ãŒã«ã®éä¿¡æã«åªçæ§ããŒã䜿çšã§ããŸãã
- ãã³ãã¬ãŒãïŒã¡ãŒã«ãã³ãã¬ãŒãã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãå
¬éãè€è£œãåé€ãè¡ããŸãããã³ãã¬ãŒãã³ã³ãã³ãã®äœæãš
{{{VARIABLE}}}ãã¬ãŒã¹ãã«ããŒã«å¯Ÿå¿ããŠããŸãã - é£çµ¡å ïŒé£çµ¡å ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸããã»ã°ã¡ã³ããžã®æå±ããããã¯ã®è³ŒèªãCSV ã«ããé£çµ¡å ã®ã€ã³ããŒãã管çã§ããŸããã«ã¹ã¿ã é£çµ¡å ããããã£ã«å¯Ÿå¿ããŠããŸãã
- ãããŒããã£ã¹ãïŒãããŒããã£ã¹ããã£ã³ããŒã³ã®äœæãéä¿¡ããã£ã³ã»ã«ãè€è£œãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸãããããŒããã£ã¹ãã®ã¯ãªãã¯ããããªã³ã¯ãšãã€ãã³ãçš®å¥ïŒéä¿¡ãé ä¿¡ãéå°ãã¯ãªãã¯ãããŠã³ã¹ãèŠæ ã賌èªè§£é€ãæå¶ïŒããšã®åä¿¡è ãäžèŠ§è¡šç€ºã§ããŸããã¹ã±ãžã¥ãŒã«èšå®ãããŒãœãã©ã€ãºçšãã¬ãŒã¹ãã«ããŒããã¬ãã¥ãŒããã¹ãã«å¯Ÿå¿ããŠããŸãã
- èªååïŒèªååã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãè€è£œãåé€ãè¡ããŸããèªååã®å®è¡å±¥æŽã確èªã§ããŸãã
- ã€ãã³ãïŒé£çµ¡å ã®èªååãããªã¬ãŒããã€ãã³ããéä¿¡ã§ããŸããã€ãã³ãå®çŸ©ã®äœæãæŽæ°ãåé€ãè¡ããŸãã
- ãã¡ã€ã³ïŒéä¿¡è ãã¡ã€ã³ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãæ€èšŒãè¡ããŸãããã©ããã³ã°ãTLSãéåä¿¡æ©èœãèšå®ã§ããŸãããã¡ã€ã³ã®ã¯ã¬ãŒã ãäœæããŠæ€èšŒã§ããŸãã
- ã»ã°ã¡ã³ãïŒãªãŒãã£ãšã³ã¹ã»ã°ã¡ã³ãã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸãã
- æå¶ãªã¹ãïŒæå¶ãªã¹ãã®ãšã³ããªãåå¥ãŸãã¯äžæ¬ã§äžèŠ§è¡šç€ºãååŸã远å ãåé€ã§ããŸããããŒãããŠã³ã¹ãšã¹ãã ã®èŠæ ã¯èªåçã«æå¶ãããŸããé£çµ¡ãåžæããªããšããèŠæã«å¿ãããããã¢ãã¬ã¹ãæåã§è¿œå ã§ããŸãã
- ãããã¯ïŒè³Œèªãããã¯ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸãã
- é£çµ¡å ããããã£ïŒã«ã¹ã¿ã é£çµ¡å 屿§ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸãã
- API ããŒïŒAPI ããŒã®äœæãäžèŠ§è¡šç€ºãæŽæ°ãåé€ãè¡ããŸãã
- WebhookïŒã€ãã³ãéç¥çšã® Webhook ã®äœæãäžèŠ§è¡šç€ºãååŸãæŽæ°ãåé€ãè¡ããŸãããŸããé ä¿¡å±¥æŽïŒWebhook ã«éä¿¡ãããã€ãã³ããåå¥ã€ãã³ãã®ãã€ããŒããé ä¿¡ã®è©Šè¡ïŒã確èªã§ããŸããã€ãã³ããåéä¿¡ãã¥ãŒã«è¿œå ããå¥ã®é ä¿¡ãè¡ã£ãããWebhook ã®çœ²åã·ãŒã¯ã¬ãããããŒããŒã·ã§ã³ãããã§ããŸãã
- ãã°ïŒå®å šãªãªã¯ãšã¹ãæ¬æãšã¬ã¹ãã³ã¹æ¬æãå«ã API ãªã¯ãšã¹ããã°ãäžèŠ§è¡šç€ºããŠç¢ºèªã§ããŸãã
- 䜿çšç¶æ³ïŒã¢ã«ãŠã³ãã¬ãã«ã®äœ¿çšç¶æ³ãšã¯ã©ãŒã¿æ å ±ãååŸã§ããŸãã察象ã¯ã¡ãŒã«ãé£çµ¡å ãã»ã°ã¡ã³ãããããŒããã£ã¹ããAI ã¯ã¬ãžãããèªååã®å®è¡ããã¡ã€ã³ãAPI ã¬ãŒãå¶éã§ãã
- ãšãã£ã¿ãŒïŒResend ããã·ã¥ããŒãã®ããžã¥ã¢ã«ãšãã£ã¿ãŒã«æ¥ç¶ïŒããã³åæïŒã§ããŸãããŸãããããŒããã£ã¹ãããã³ãã¬ãŒãã§å ±åäœæ¥ããªãããäžæžãã®å 容ãèªã¿åããŸãã
ããŒã«ã«éçº
- ãã®ãããžã§ã¯ããã¯ããŒã³ããŠãã«ãããŸãã
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
- ããŒã«ã«ãã«ãã䜿çšããã«ã¯ã
npxã³ãã³ããããŒã«ã«ãã«ããžã®ãã¹ã«çœ®ãæããŸãã
Claude CodeïŒstdioïŒïŒ
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- node ABSOLUTE_PATH_TO_PROJECT/dist/index.js
Claude CodeïŒHTTPïŒïŒ
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor / Claude DesktopïŒstdioïŒïŒ
{
"mcpServers": {
"resend": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
CursorïŒHTTPïŒïŒ
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
MCP ã¯ã©ã€ã¢ã³ãã䜿ã£ãã©ã€ããã¹ã
éçºäžã¯ãå¥ã®å Žæã§ã³ãŒããç·šéããªãããå®éã® MCP ã¯ã©ã€ã¢ã³ãã®ã»ãã·ã§ã³ã§å€æŽããã¹ãã§ããŸãã
èãæ¹ã¯æ¬¡ã®ãšããã§ããtsc --watch ãå®è¡ã㊠dist/ ãç¶ç¶çã«åãã«ãããå¥ã®ãã£ã¬ã¯ããªãããã«ãæžã¿ã® dist/index.js ãå¥ã® MCP ã¯ã©ã€ã¢ã³ãã«æå®ããŸããã³ãŒãã®å€æŽãåæ ããã«ã¯ãMCP ã¯ã©ã€ã¢ã³ãã®ã»ãã·ã§ã³ãåèµ·åããŸãïŒMCP ãµãŒããŒã¯ããããªããŒãã«å¯Ÿå¿ããŠããªããé·æéå®è¡ããã stdio ããã»ã¹ã§ãïŒã
Claude Code ã®äŸïŒ
-
TypeScript ãŠã©ããã£ãŒãå®è¡ããä¿åæã«èªåã§åãã«ãããŸãã
pnpm tsc --watch -
å¥ã®ãã£ã¬ã¯ããªã«ããã«ãåºåãæå®ãã
.mcp.jsonãäœæããŸããmkdir -p /tmp/mcp-test// /tmp/mcp-test/.mcp.json { "mcpServers": { "resend-dev": { "command": "node", "args": ["/absolute/path/to/resend-mcp/dist/index.js"], "env": { "RESEND_API_KEY": "re_xxxxxxxxx" } } } } -
ãã®ãã£ã¬ã¯ããªãã Claude Code ãèµ·åããMCP ããŒã«ã䜿çšããŸããã³ãŒãã倿ŽããåŸãæ°ãããã«ããåæ ããã«ã¯ãæ°ãã Claude Code ã»ãã·ã§ã³ãéå§ããŸãã
åãååã¯ãã©ã® MCP ã¯ã©ã€ã¢ã³ãã«ãåœãŠã¯ãŸããŸãããã¹ãç°å¢ãšéçºç°å¢ãåããdist/index.js ã«ã¯çµ¶å¯Ÿãã¹ã䜿çšããåãã«ãåŸã« MCP ãµãŒããŒãžåæ¥ç¶ããŠãã ããã
MCP Inspector ã䜿ã£ããã¹ã
泚èšïŒ å ã«ãããžã§ã¯ãããã«ãããŠãã ããïŒäžèšã®ããŒã«ã«éçºã»ã¯ã·ã§ã³ãåç §ïŒã
Stdio ãã©ã³ã¹ããŒãã䜿ã
-
API ããŒãèšå®ããŸãã
export RESEND_API_KEY=re_your_key_here -
Inspector ãèµ·åããŸãã
pnpm inspector -
ãã©ãŠã¶ãŒïŒInspector UIïŒã§ãæ¬¡ã®æäœãè¡ããŸãã
- stdioïŒããã»ã¹ãèµ·åïŒãéžæããŸãã
- ã³ãã³ãïŒ
node - åŒæ°ïŒ
dist/index.jsïŒãŸãã¯dist/index.jsã®ãã«ãã¹ïŒ - ç°å¢å€æ°ïŒ
RESEND_API_KEY=re_your_key_hereïŒåãã¿ãŒããã«ã§ãã§ã«ãšã¯ã¹ããŒãããŠããå Žåã¯ã空æ¬ã®ãŸãŸã«ããŸãïŒã - æ¥ç¶ãã¯ãªãã¯ãããããŒã«äžèЧãã䜿ã£ãŠãµãŒããŒãåäœããŠããããšã確èªããŸãã
HTTP ãã©ã³ã¹ããŒãã䜿ã
-
1ã€ç®ã®ã¿ãŒããã«ã§ HTTP ãµãŒããŒãèµ·åããŸãã
node dist/index.js --http --port 3000 -
å¥ã®ã¿ãŒããã«ã§ Inspector ãèµ·åããŸãã
pnpm inspector -
ãã©ãŠã¶ãŒïŒInspector UIïŒã§ãæ¬¡ã®æäœãè¡ããŸãã
- Streamable HTTPïŒURL ã«æ¥ç¶ïŒãéžæããŸãã
- URLïŒ
http://127.0.0.1:3000/mcp - ã«ã¹ã¿ã ããããŒ
Authorization: Bearer re_your_key_hereã远å ããåãæ¿ãã¹ã€ãããæå¹ã«ããŸãã - æ¥ç¶ãã¯ãªãã¯ãããããŒã«äžèЧãã䜿ã£ãŠãµãŒããŒãåäœããŠããããšã確èªããŸãã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã