resend
by JoeCardoso13
README.md
# Resend MCP Server
An MCP (Model Context Protocol) server that provides access to the Resend API, allowing AI assistants to interact with Resend data.
## Features
- List and retrieve items from the Resend API
- Async HTTP client with error handling
- Typed responses with Pydantic models
## Installation
### Using mpak (Recommended)
```bash
# Configure your API key
mpak config set @joecardoso13/resend api_key=your_api_key_here
# Run the server
mpak run @joecardoso13/resend
```
### Manual Installation
```bash
# Clone the repository
git clone https://github.com/JoeCardoso13/mcp-resend.git
cd mcp-resend
# Install dependencies with uv
uv sync
# Set your API key
export RESEND_API_KEY=your_api_key_here
# Run the server
uv run python -m mcp_resend.server
```
## Configuration
### Getting Your API Key
1. Go to https://resend.com/settings/api
2. Create a new API key
3. Copy the key
### Claude Desktop Configuration
Add to your `~/.claude/settings.json`:
```json
{
"mcpServers": {
"resend": {
"command": "mpak",
"args": ["run", "@joecardoso13/resend"]
}
}
}
```
## Available Tools
| Tool | Description |
|------|-------------|
| `list_items` | List items from the API with optional limit |
| `get_item` | Get a single item by its ID |
## Development
```bash
# Install dev dependencies
uv sync --dev
# Run tests
uv run pytest tests/ -v
# Format code
uv run ruff format src/ tests/
# Lint
uv run ruff check src/ tests/
# Type check
uv run ty check src/
# Run all checks
make check
```
## License
MIT
TDQS
A3.5/5.0
Scored across 9 tools
Disambiguation5/5
Each tool targets a distinct resource and action: contacts have CRUD operations, emails have send/get/list, and segments have list. No ambiguity exists between tools.
Naming Consistency5/5
All tools use a consistent verb_noun pattern in snake_case (e.g., create_contact, send_email, list_contacts), making actions clear and predictable.
Tool Count5/5
9 tools is ideal for the server's purpose, covering email sending and contact management without unnecessary bloat or missing core functionality.
Completeness4/5
Contacts have full CRUD, emails support send and retrieval, and segments are listable. The only gap is lack of segment management (create/update/delete), which is a minor workaround for most use cases.
Maintenance
ActivityInactive
ResponsivenessNo issues