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.
README Documentation
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
-
Clone the repository:
git clone <repository-url> cd rc-adapty-migration-mcp
-
Create a virtual environment:
python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install the package:
pip install -e .
-
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 IDLOG_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
- Configure Claude Desktop to use this MCP server
- 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:
- Install the package using pip
- Configure environment variables (RevenueCat API key only)
- Point their LLM to the local installation
- 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:
- Deploy to cloud platform (AWS, GCP, Azure)
- Set up authentication for users
- 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
-
Test RevenueCat export:
python test_revenuecat_full_chain.py
-
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
-
"API key not found"
- Ensure
REVENUECAT_API_KEY
environment variable is set - Verify the API key is valid and has proper permissions
- Ensure
-
"Login failed"
- Check Adapty credentials
- Ensure the account has proper permissions
-
"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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- 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