npm package: @refgrow/mcp
Description: Model Context Protocol server for Refgrow affiliate program management API
Author: Alex Belogubov
Latest version: 1.0.3

# @refgrow/mcp

A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that wraps the Refgrow REST API. This allows AI agents -- Claude Desktop, Cursor, ChatGPT, and other MCP-compatible clients -- to manage your affiliate program directly.

## Prerequisites

- Node.js 18+
- A Refgrow account with an API key (generated in project settings)
- API keys start with `rgk_`

## Installation

```bash
npm install @refgrow/mcp
```

Or clone and build from source:

```bash
git clone https://github.com/refgrow/refgrow-mcp.git
cd refgrow-mcp
npm install
npm run build
```

## Configuration

The server requires two environment variables:

| Variable | Required | Default | Description |
|---|---|---|---|
| `REFGROW_API_KEY` | Yes | -- | Your Refgrow API key (starts with `rgk_`) |
| `REFGROW_API_URL` | No | `https://refgrow.com` | Base URL of your Refgrow instance |

### Getting an API Key

1. Log in to [Refgrow](https://refgrow.com)
2. Go to your project settings
3. Scroll to the **API Keys** section
4. Click **Generate API Key**
5. Copy the key (it starts with `rgk_` and is shown only once)

## Usage with Claude Desktop

Add this to your Claude Desktop config file:

**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "refgrow": {
      "command": "npx",
      "args": ["-y", "@refgrow/mcp"],
      "env": {
        "REFGROW_API_KEY": "rgk_your_api_key_here"
      }
    }
  }
}
```

Or if installed globally / from source:

```json
{
  "mcpServers": {
    "refgrow": {
      "command": "node",
      "args": ["/path/to/packages/mcp-server/dist/index.js"],
      "env": {
        "REFGROW_API_KEY": "rgk_your_api_key_here"
      }
    }
  }
}
```

## Usage with Cursor

In Cursor settings, add an MCP server with:

- **Name:** refgrow
- **Command:** `npx -y @refgrow/mcp`
- **Environment:** `REFGROW_API_KEY=rgk_your_api_key_here`

Or add to `.cursor/mcp.json` in your project root:

```json
{
  "mcpServers": {
    "refgrow": {
      "command": "npx",
      "args": ["-y", "@refgrow/mcp"],
      "env": {
        "REFGROW_API_KEY": "rgk_your_api_key_here"
      }
    }
  }
}
```

## Usage with Claude Code

Add to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "refgrow": {
      "command": "npx",
      "args": ["-y", "@refgrow/mcp"],
      "env": {
        "REFGROW_API_KEY": "rgk_your_api_key_here"
      }
    }
  }
}
```

## Available Tools

### Affiliates

| Tool | Description |
|---|---|
| `list_affiliates` | List all affiliates with stats (clicks, signups, purchases, earnings) |
| `get_affiliate_details` | Get details for a specific affiliate by email |
| `create_affiliate` | Create a new affiliate with optional custom referral code |
| `update_affiliate` | Update affiliate email, referral code, status, or partner slug |
| `delete_affiliate` | Remove an affiliate from the project |

### Referrals

| Tool | Description |
|---|---|
| `list_referrals` | List referred users, filterable by affiliate or status |
| `get_referral_details` | Get details for a specific referred user by email |
| `create_referral` | Manually create a referred user record |

### Conversions

| Tool | Description |
|---|---|
| `list_conversions` | List conversions with filters for type, affiliate, date range, paid status |
| `get_conversion` | Get a specific conversion by ID |
| `create_conversion` | Create a conversion (signup/purchase) with auto-commission calculation |
| `update_conversion` | Update conversion details or mark as paid |
| `delete_conversion` | Delete a conversion record |

### Coupons

| Tool | Description |
|---|---|
| `list_coupons` | List coupon codes with affiliate info |
| `get_coupon` | Get a specific coupon by ID |
| `create_coupon` | Create a coupon linked to an affiliate (with optional Stripe/LemonSqueezy IDs) |
| `update_coupon` | Update coupon details |
| `delete_coupon` | Delete a coupon (also removes from Stripe if linked) |

## Example Conversations

Once connected, you can ask your AI agent things like:

- "Show me all active affiliates and their earnings"
- "Create a new affiliate for partner@example.com with referral code PARTNER2025"
- "List all unpaid conversions from the last 30 days"
- "How many signups did we get through affiliate referrals this month?"
- "Create a coupon code SAVE20 linked to affiliate ID 42"
- "Mark conversion #123 as paid"
- "Deactivate the affiliate with email old-partner@example.com"

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Watch mode for development
npm run dev

# Run the server (requires REFGROW_API_KEY env var)
REFGROW_API_KEY=rgk_your_key npm start
```

## Documentation

Full setup guide with examples and troubleshooting:
https://refgrow.com/docs/mcp-server

REST API reference (for direct HTTP integration):
https://refgrow.com/docs/api-reference

## License

MIT