Skip to main content
Glama
refgrow
by refgrow
README.md
# @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

TDQS

A3.7/5.0

Scored across 18 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (affiliate, conversion, coupon, referral) and action (create, delete, get, list, update), making it easy for an agent to select the correct one. For example, create_affiliate and update_affiliate are clearly differentiated by their actions on the same resource.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as create_affiliate, list_conversions, and update_coupon. All tools use snake_case with clear verbs (create, delete, get, list, update) and nouns (affiliate, conversion, coupon, referral), making the set predictable and readable.

Tool Count5/5

With 18 tools, the count is well-scoped for an affiliate management domain, covering CRUD operations for four core resources (affiliate, conversion, coupon, referral). Each tool earns its place by providing necessary functionality without redundancy, such as detailed get operations alongside list views.

Completeness5/5

The tool surface offers complete CRUD/lifecycle coverage for the affiliate management domain, with no obvious gaps. All four resources have create, get, list, update, and delete operations (except referrals, which lack update and delete, but this is reasonable as referrals are typically immutable records). This ensures agents can handle full workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues