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
Metadata
Release files for fastlane-mcp 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastlane_mcp-0.2.2.tar.gz | 134.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastlane_mcp-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 156.6 kB
Release files / fastlane_mcp-0.2.2.tar.gz
| Download URL | fastlane_mcp-0.2.2.tar.gz |
|---|---|
| Size | 134.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8cfc3ef218a92dd1fa1f4538f593dcdd943adc80e7c17d05cb80d6e1764bd1bb
|
|
BLAKE2b-256 checksum How to use checksums |
ea94f8df0cfd6294155b1ffb13b667b438e200270d23c6b1f637c6dda0305af1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Release files / fastlane_mcp-0.2.2-py3-none-any.whl
| Download URL | fastlane_mcp-0.2.2-py3-none-any.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b67a6a4d9748a3a36351067b550ed8fa1f5c9730f28c06aafd990355b7854e30
|
|
BLAKE2b-256 checksum How to use checksums |
6033ce0cd819d661bd5c2ae3df8cc6736acb268de6dfc755e3c8b42b858d8722
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|