1. Conduid
  2. Developer Tools
  3. Refref
MCP server ยท Developer Tools

Refref

๐ŸŒŸ Open Source Referral and Affiliate Marketing Platform - Launch your referral program in minutes!

74Good

Scored 7 days ago ยท breakdown

About Refref

Refref is an MCP server published by amicalhq in the Developer Tools category: ๐ŸŒŸ Open Source Referral and Affiliate Marketing Platform - Launch your referral program in minutes!.

The repository has 235 stars and 57 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/amicalhq/refref

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Refref

Powered by Claude · Grounded in docs

I know everything about Refref. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 11 hours ago. Heuristics on the source, not an audit.

  • โœ“README presentThe repository ships documentation.
  • โœ“License declaredUsable under a stated license.
  • โœ“Tests presentA test suite exists in the repository.
  • โœ“Dependencies pinnedA lockfile pins dependency versions.
  • โœ“No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Table of Contents

[!CAUTION] RefRef is still in alpha, expect bugs and breaking changes.

๐Ÿ”ฎ Overview

Build powerful referral programs for your products with RefRef's open source referral management platform.

๐Ÿš€ Getting Started

Quick Start with Docker (Recommended)

Get RefRef running in under a minute:

# Clone the repository
git clone https://github.com/refrefhq/refref.git
cd refref

# Start everything with Docker Compose
docker-compose up

That's it! ๐ŸŽ‰ The webapp portal will be available at http://localhost:3000.

Docker Compose automatically handles:

  • PostgreSQL database setup
  • Database migrations
  • Initial data seeding
  • Webapp portal configuration

To configure optional services (Google OAuth, email), pass environment variables:

GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=xxx RESEND_API_KEY=xxx docker-compose up

Local Development Setup

If you prefer running RefRef locally without Docker:

Prerequisites

  • Node.js 20+
  • pnpm 10.23.0
  • PostgreSQL database
  • portless (npm install -g portless)

Installation

# Install dependencies
pnpm install

# Set up environment variables
cp apps/webapp/.env.example apps/webapp/.env

# Edit .env and add your database URL and auth secret
# Generate auth secret with: openssl rand -base64 32

# Export DATABASE_URL for database commands
export DATABASE_URL="postgresql://postgres:postgres@localhost:5432/refref"

# Push database schema
pnpm -F @refref/coredb db:push

# (Optional) Seed with template data
pnpm -F @refref/coredb db:seed

# Start development server
pnpm dev

Each app gets a stable .localhost URL via portless:

App URL
Webapp http://refref-webapp.localhost:1355
WWW http://refref-www.localhost:1355
API http://refref-api.localhost:1355
Refer http://refref-refer.localhost:1355
Acme http://refref-acme.localhost:1355

Portless is a global CLI tool (npm install -g portless). The proxy auto-starts when you run pnpm dev. To bypass portless, set PORTLESS=0 pnpm dev.

Environment Variables

Required

  • DATABASE_URL - PostgreSQL connection string (e.g., postgresql://user:password@localhost:5432/refref)
  • BETTER_AUTH_SECRET - Authentication secret key (generate with openssl rand -base64 32)

Optional

  • GOOGLE_CLIENT_ID & GOOGLE_CLIENT_SECRET - For Google OAuth authentication
  • RESEND_API_KEY - For sending emails via Resend
  • BETTER_AUTH_URL - Authentication URL (defaults to http://refref-webapp.localhost:1355)

Development Commands

# Start development server
pnpm dev

# Build for production
pnpm build

# Run linting
pnpm lint

# Format code
pnpm format

# Type checking
pnpm type:check

# Database commands
pnpm -F @refref/coredb db:push     # Push schema changes
pnpm -F @refref/coredb db:migrate  # Run migrations
pnpm -F @refref/coredb db:studio   # Open Drizzle Studio GUI
pnpm -F @refref/coredb db:seed     # Seed with templates

โœจ Features

  • Referral Attribution: JS snippet for tracking referrals, enabling accurate attribution of referrals to referrers

  • Customizable Rewards: Flexible reward system for different referral programs

  • Referrer Portal: UI components for referrers to refer and track rewards

  • Partner Portal: Dedicated interface for affiliates

  • Personalized Pages: Automatic personalization of referral landing pages

  • Nudges: Automated reminders to boost referral engagement

  • Fraud Monitoring: Detect and prevent fraudulent referral activity

  • Manual Reward Approval: Review and approve rewards manually

  • Automatic Reward Approval: Set rules for automatic reward validation

  • Manual Reward Dispersal: Control when rewards are sent out

  • Automatic Reward Dispersal: Schedule automated reward payments

  • Engagement Analytics: Track referral program performance metrics

  • Testing Environment: Sandbox for testing referral programs

๐Ÿ”ฐ Tech Stack

๐Ÿค— Contributing

Contributions are welcome! Please read the Contributing Guide to get started.

๐ŸŽ— License

Released under AGPLv3.

README fetched from the repository 11 hours ago. The original is authoritative.

Questions

About Refref

How do I install Refref?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Refref safe to use with an AI agent?

Its trust score is 74 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Refref still maintained?

The last commit was 7 months ago and 7 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.