Odel
Easy Digital Downloads

Easy Digital Downloads

Local
@verygoodplugins4TypeScriptGPL-3.0Updated 1mo ago

MCP server for Easy Digital Downloads REST API - sales, customers, products, analytics

mcp-edd

MCP server for Easy Digital Downloads REST API - access sales data, customers, products, and analytics from your EDD store.

npm version License: GPL-3.0

Features

  • ๐Ÿ“Š Sales Analytics - Revenue, transaction counts, date ranges
  • ๐Ÿ‘ฅ Customer Data - Purchase history, lifetime value
  • ๐Ÿ›๏ธ Product Catalog - Pricing tiers, licensing info
  • ๐Ÿท๏ธ Discount Codes - Usage stats and configuration
  • ๐Ÿ“ฅ Download Logs - File download tracking
  • ๐Ÿ”’ Type Safety - Full Zod schema validation

Installation

Quick Install (Claude Desktop)

Download the Desktop Extension for one-click installation:

Release page (download .mcpb asset)

Double-click the downloaded file to install. You'll be prompted for your API credentials.

npm Install

npm install -g @verygoodplugins/mcp-edd

Or add to your Claude Desktop configuration directly (see below).

Configuration

Environment Variables

Set these environment variables before running the server:

export EDD_API_URL="https://your-store.com/edd-api/"
export EDD_API_KEY="your-api-public-key"
export EDD_API_TOKEN="your-api-token"

Or create a .env file in your working directory.

Getting API Credentials

  1. In WordPress admin, go to Downloads โ†’ Settings โ†’ API
  2. Generate a new API key for your user
  3. Copy the Public Key and Token
  4. Your API URL is https://your-site.com/edd-api/

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "edd": {
      "command": "npx",
      "args": ["-y", "@verygoodplugins/mcp-edd"],
      "env": {
        "EDD_API_URL": "https://your-store.com/edd-api/",
        "EDD_API_KEY": "your-api-public-key",
        "EDD_API_TOKEN": "your-api-token"
      }
    }
  }
}

Available Tools

Setup / Diagnostics

ToolDescription
edd_validate_connectionValidate your Store API URL and credentials

Products

ToolDescription
edd_list_productsList all products with pricing and stats
edd_get_productGet detailed product info by ID

Sales

ToolDescription
edd_list_salesList recent sales with filters
edd_get_saleGet sale by ID or purchase key

Customers

ToolDescription
edd_list_customersList customers with purchase stats
edd_get_customerGet customer by ID or email

Note: edd_list_customers returns the EDD customer ID as id (usable with edd_get_customer(customerId=...)) and includes userId when available.

Statistics

ToolDescription
edd_get_statsGet earnings/sales totals
edd_get_stats_by_dateGet daily stats for date range
edd_get_stats_by_productGet stats breakdown by product

Discounts

ToolDescription
edd_list_discountsList all discount codes
edd_get_discountGet discount details by ID

Downloads

ToolDescription
edd_get_download_logsGet file download history

Example Usage

Once configured, you can ask Claude:

  • "Show me this month's sales revenue"
  • "List the top 10 customers by lifetime value"
  • "How many licenses were sold for WP Fusion last month?"
  • "Show me all active discount codes"
  • "Get the purchase history for customer@example.com"

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test                    # Unit tests
npm run test:integration    # Integration tests (requires credentials)
npm run test:all           # All tests

# Lint
npm run lint

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Submit a pull request

API Reference

This server wraps the EDD REST API. See their documentation for detailed endpoint information.

License

GPL-3.0 - see LICENSE for details.

Support

For issues, questions, or suggestions:


Built with ๐Ÿงก by Very Good Plugins