RevenueCat to Adapty Migration MCP

RevenueCat to Adapty Migration MCP

A Model Context Protocol server that helps users migrate subscription businesses from RevenueCat to Adapty through natural language interactions with LLMs like Claude Desktop.

Category
Visit Server

README

RevenueCat to Adapty Migration MCP

A Model Context Protocol (MCP) server that helps users migrate their subscription business from RevenueCat to Adapty. This MCP provides tools for data export, analysis, and automated migration through natural language interactions with LLMs like Claude Desktop.

Features

  • RevenueCat Data Export: Hierarchical export of projects, offerings, packages, products, and entitlements
  • Migration Analysis: Assess migration complexity and generate recommendations
  • Automated Migration: Create Adapty apps, access levels, and products from RevenueCat data
  • Validation: Verify migration success and data integrity
  • LLM Integration: Natural language interface for migration tasks

Installation

Prerequisites

  • Python 3.8 or higher
  • RevenueCat API key (v2)
  • Adapty account (email/password for authentication)

Local Installation

  1. Clone the repository:

    git clone <repository-url>
    cd rc-adapty-migration-mcp
    
  2. Create a virtual environment:

    python3 -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. Install the package:

    pip install -e .
    
  4. Set up environment variables:

    export REVENUECAT_API_KEY="your_revenuecat_api_key"
    

Configuration

Environment Variables

  • REVENUECAT_API_KEY: Your RevenueCat secret API key (required)
  • REVENUECAT_PROJECT_ID: Optional RevenueCat project ID
  • LOG_LEVEL: Optional logging level (INFO, DEBUG, etc.)

Adapty Authentication

Important: Adapty uses username/password authentication, not API keys. Your Adapty credentials are provided at runtime when calling migration tools and are not stored permanently.

MCP Configuration

Create an MCP configuration file (e.g., mcp-config.json):

{
  "mcpServers": {
    "rc-adapty-migration": {
      "command": "rc-adapty-migration-mcp",
      "env": {
        "REVENUECAT_API_KEY": "your_revenuecat_api_key"
      }
    }
  }
}

Usage

With Claude Desktop

  1. Configure Claude Desktop to use this MCP server
  2. Ask natural language questions like:
    • "Export my RevenueCat data and analyze the structure"
    • "Migrate my RevenueCat setup to Adapty using my email and password"
    • "Validate that my migration was successful"

Available Tools

1. Export RevenueCat Data

{
  "name": "export_revenuecat_data",
  "arguments": {
    "output_format": "summary"
  }
}

2. Analyze RevenueCat Structure

{
  "name": "analyze_revenuecat_structure",
  "arguments": {
    "analysis_depth": "detailed"
  }
}

3. Migrate to Adapty

{
  "name": "migrate_to_adapty",
  "arguments": {
    "adapty_email": "user@example.com",
    "adapty_password": "your_password",
    "migration_scope": "full"
  }
}

Security Note: When using the migration tool, your Adapty credentials are only used for the specific migration operation and are not stored or logged.

Deployment Options

Option 1: Local Installation (Recommended for Testing)

Users install the MCP locally on their machine:

  1. Install the package using pip
  2. Configure environment variables (RevenueCat API key only)
  3. Point their LLM to the local installation
  4. Provide Adapty credentials at runtime when needed

Pros:

  • Full control over data and credentials
  • No network dependencies
  • Easy to debug and customize
  • No hosting costs
  • Adapty credentials never stored

Cons:

  • Requires technical setup
  • Users must manage their own environment

Option 2: Hosted Service

Deploy the MCP as a hosted service:

  1. Deploy to cloud platform (AWS, GCP, Azure)
  2. Set up authentication for users
  3. Provide web interface or API endpoints

Pros:

  • No local setup required
  • Centralized management
  • Easy updates and monitoring

Cons:

  • Requires hosting infrastructure
  • Security considerations for user credentials
  • Network dependencies

Development

Project Structure

rc-adapty-migration-mcp/
├── src/rc_adapty_migration/
│   ├── api/
│   │   ├── revenuecat.py      # RevenueCat API client
│   │   └── adapty.py          # Adapty API client
│   ├── auth/
│   │   └── credentials.py     # Credential management
│   ├── models/
│   │   └── revenuecat.py      # Data models
│   ├── tools/                 # Migration tools
│   ├── utils/
│   │   └── logging.py         # Logging utilities
│   └── server.py              # MCP server implementation
├── tests/                     # Test files
├── pyproject.toml            # Project configuration
└── README.md                 # This file

Running Tests

# Run all tests
pytest

# Run specific test
pytest tests/test_revenuecat_export.py

# Run with coverage
pytest --cov=src/rc_adapty_migration

Testing the MCP

  1. Test RevenueCat export:

    python test_revenuecat_full_chain.py
    
  2. Test Adapty migration:

    python test_adapty_full_chain.py
    

Security Considerations

  • RevenueCat API Key: Stored in environment variables
  • Adapty Credentials: Provided at runtime, never stored
  • Network: Use HTTPS for all API communications
  • Validation: Validate all user inputs and API responses
  • Logging: No sensitive credentials are logged

Troubleshooting

Common Issues

  1. "API key not found"

    • Ensure REVENUECAT_API_KEY environment variable is set
    • Verify the API key is valid and has proper permissions
  2. "Login failed"

    • Check Adapty credentials
    • Ensure the account has proper permissions
  3. "No projects found"

    • Verify RevenueCat account has projects
    • Check API key permissions

Debug Mode

Enable debug logging:

export LOG_LEVEL=DEBUG
rc-adapty-migration-mcp

Contributing

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

License

MIT License - see LICENSE file for details

Support

For issues and questions:

  • Create an issue on GitHub
  • Check the troubleshooting section
  • Review the test files for examples

Roadmap

  • [ ] Enhanced validation tools
  • [ ] Migration rollback functionality
  • [ ] Advanced analytics and reporting
  • [ ] Multi-project migration support
  • [ ] Custom field mapping
  • [ ] Migration templates

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured