Skip to main content
Glama
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