Intelligent MCP server for iOS/Android builds with fastlane
Project description
Fastlane MCP Server
A FastMCP server that provides integration with Fastlane for building, testing, and deploying iOS and Android applications.
Features
- Build Management: Build iOS and Android apps with different configurations
- AppCenter Deployment: Deploy apps directly to AppCenter for distribution
- Firebase Integration: Support for Firebase App Distribution
- Testing: Run automated tests on various devices and simulators
- Certificate Management: Handle iOS code signing certificates and provisioning profiles
- Version Management: Bump version numbers and build numbers
- Metadata Management: Upload app store metadata and screenshots
- Lane Discovery: List available Fastlane lanes in your project
Prerequisites
- Python 3.11+
- Fastlane installed and configured for your projects
- For iOS: Xcode and valid Apple Developer account
- For Android: Android SDK and Java
- Firebase CLI (for Firebase features)
- AppCenter CLI (for AppCenter deployment)
Installation
# Clone the repository
git clone <repository-url>
cd fastlane-mcp-server
# Install dependencies with uv
uv sync
Running the Server
# Run the server
uv run python -m fastlane_mcp.server
# Or use fastmcp directly
uv run fastmcp run src/fastlane_mcp/server.py
Development
# Install dev dependencies
uv sync --group dev
# Run tests
uv run pytest
# Run tests with coverage
uv run pytest -v
MCP Client Configuration
Claude Desktop
Edit the configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"fastlane": {
"command": "uv",
"args": ["run", "python", "-m", "fastlane_mcp.server"],
"cwd": "/path/to/fastlane-mcp-server",
"env": {
"FASTLANE_USER": "your-apple-id@example.com",
"FASTLANE_PASSWORD": "your-app-specific-password",
"APPCENTER_API_TOKEN": "your-appcenter-token",
"FIREBASE_TOKEN": "your-firebase-token"
}
}
}
}
Cursor
For Cursor editor, add to your settings:
{
"mcp": {
"servers": {
"fastlane": {
"command": "uv",
"args": ["run", "python", "-m", "fastlane_mcp.server"],
"cwd": "/path/to/fastlane-mcp-server",
"env": {
"FASTLANE_USER": "your-apple-id@example.com",
"APPCENTER_API_TOKEN": "your-appcenter-token"
}
}
}
}
}
Available Tools
1. fastlane_build
Build iOS or Android applications.
Parameters:
platform: "ios" or "android"project_path: Path to your project directorylane: (optional) Specific Fastlane lane to runconfiguration: (optional) Build configuration
2. fastlane_test
Run automated tests on your applications.
Parameters:
platform: "ios" or "android"project_path: Path to your project directoryscheme: (optional) Test scheme to run
3. fastlane_deploy
Deploy built applications.
Parameters:
platform: "ios" or "android"project_path: Path to your project directorydestination: Deployment destination (appcenter, firebase, testflight)
4. fastlane_list_lanes
Discover available Fastlane lanes in your project.
Parameters:
project_path: Path to your project directoryplatform: (optional) Filter by platform
5. fastlane_match
Handle iOS code signing with match.
Parameters:
project_path: Path to your project directorytype: Match type (development, appstore, adhoc)
6. fastlane_version
Manage app versions and build numbers.
Parameters:
platform: "ios" or "android"project_path: Path to your project directoryaction: "get", "bump", or "set"version: (optional) Version to set
Project Structure
src/fastlane_mcp/
├── __init__.py # Package initialization
├── server.py # FastMCP server entry point
├── tools/ # MCP tool implementations
│ ├── __init__.py
│ ├── build.py
│ ├── deploy.py
│ ├── lanes.py
│ ├── match.py
│ ├── test.py
│ └── version.py
├── discovery/ # Lane discovery utilities
├── validators/ # Input validation
├── errors/ # Error handling and diagnosis
├── utils/ # Utility functions
└── plugins/ # Plugin system
Configuration
The server supports configuration through environment variables:
FASTLANE_USER: Apple ID for iOS buildsFASTLANE_PASSWORD: App-specific passwordAPPCENTER_API_TOKEN: AppCenter API tokenFIREBASE_TOKEN: Firebase CI tokenMATCH_PASSWORD: Password for match certificates
Troubleshooting
Common Issues
-
Fastlane not found: Ensure Fastlane is installed
gem install fastlane
-
Certificate issues on iOS: Configure Match for certificate management
-
Firebase authentication: Log in to Firebase CLI
firebase login -
AppCenter authentication: Set the
APPCENTER_API_TOKENenvironment variable
Security Notes
- Store sensitive credentials in environment variables
- Never commit API tokens or passwords to version control
- Use app-specific passwords for Apple ID authentication
- Consider using Fastlane Match for iOS certificate management
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastlane_mcp-0.2.2.tar.gz.
File metadata
- Download URL: fastlane_mcp-0.2.2.tar.gz
- Upload date:
- Size: 134.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cfc3ef218a92dd1fa1f4538f593dcdd943adc80e7c17d05cb80d6e1764bd1bb
|
|
| MD5 |
c69dd1fe252120f1ba4d779a473dd509
|
|
| BLAKE2b-256 |
ea94f8df0cfd6294155b1ffb13b667b438e200270d23c6b1f637c6dda0305af1
|
File details
Details for the file fastlane_mcp-0.2.2-py3-none-any.whl.
File metadata
- Download URL: fastlane_mcp-0.2.2-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67a6a4d9748a3a36351067b550ed8fa1f5c9730f28c06aafd990355b7854e30
|
|
| MD5 |
18a429efea2af3f04c667ba80f52c7aa
|
|
| BLAKE2b-256 |
6033ce0cd819d661bd5c2ae3df8cc6736acb268de6dfc755e3c8b42b858d8722
|