Skip to main content

AppFactory

Let your coding agent ship an iOS subscription app, from idea to TestFlight.

An open-source MCP server for Claude Code, Codex CLI, Gemini CLI and Cursor. It validates the idea with real App Store data, builds the SwiftUI app, sets up the backend and the store, and stops at every step that matters so you stay in control.

PyPI CI License: MIT Python 3.12+ MCP

claude mcp add appfactory -s user -- uvx appfactory@latest

A real, sped-up agent session: AppFactory scores water-tracking niches with live App Store data

A real session, sped up. That first step needs no accounts. From there, the same agent can take the idea all the way to a TestFlight build.

What it does

flowchart LR
    A[💡 Idea<br/>real App Store data] --> B[🎨 Design<br/>competitor research]
    B --> C[📱 SwiftUI app<br/>from a tested template]
    C --> D[☁️ Backend<br/>Supabase]
    D --> E[💳 Store<br/>IAPs + RevenueCat]
    E --> F[🌍 Localize<br/>+ ASO + screenshots]
    F --> G[🚀 TestFlight]
    G -.you submit.-> H[App Store]
Stage What the agent does with AppFactory
Idea Harvests rising and chart-proven apps, scores niches by search demand, competition and staleness, estimates competitor revenue, checks the name is free
Design Downloads category leaders' screenshots and icons, writes a differentiated design brief, designs every screen
App Scaffolds a SwiftUI app (iOS 17.5+, iPhone) with onboarding, paywalls, settings, analytics hooks and tests
Backend Supabase project, auth, edge functions, server-side usage limits, optional AI proxy (keys never ship in the app)
Store App Store Connect app, subscriptions with trials and local prices, RevenueCat offerings, StoreKit config kept in sync
Launch assets Localized metadata, ASO keywords, legal pages, branded screenshots, preview videos, custom product pages
Ship Signing, archive, TestFlight upload. You press "Submit for Review".

Every stage has a gate: the agent can't mark it done until checks pass (the build compiles, the store matches the spec, screenshots follow the rules...). When something needs you, the run stops with a clear NEEDS_HUMAN.md.

Quickstart

Requirements: a Mac and uv (brew install uv). Xcode and the other tools are only needed for the services you turn on.

1. Add it to your agent

Agent Command
Claude Code claude mcp add appfactory -s user -- uvx appfactory@latest
Codex CLI codex mcp add appfactory -- uvx appfactory@latest
Gemini CLI gemini mcp add appfactory uvx appfactory@latest
Cursor ~/.cursor/mcp.json: {"mcpServers": {"appfactory": {"command": "uvx", "args": ["appfactory@latest"]}}}

2. Say "Set up AppFactory"

The agent asks which services you want, one by one, and tells you exactly which keys are missing. Keys are environment variables on the MCP entry, like any other MCP server. They never go through the chat:

claude mcp add appfactory -s user \
  -e APPFACTORY_ASC_KEY_ID=ABC123DEFG \
  -e APPFACTORY_ASC_ISSUER_ID=00000000-0000-0000-0000-000000000000 \
  -e APPFACTORY_ASC_KEY_FILEPATH=~/keys/AuthKey_ABC123DEFG.p8 \
  -e APPFACTORY_TEAM_ID=TEAMID1234 \
  -- uvx appfactory@latest

Every variable is listed in docs/SETUP.md.

3. Run it

Run AppFactory

Before any work the agent asks you about every optional part of the app: free trial or not, hard paywall, discounted offer, onboarding quiz, mascot, languages, screenshots, preview video, analytics, ratings, Sign in with Apple... Anything you turn off is skipped, in the app code too.

Choose what you use

Everything except research is optional. A disabled service's tools do nothing and its stages are skipped, and the generated app doesn't include its SDK.

Service What it enables Needs
research Idea harvesting and validation, ASO research nothing
apple App Store Connect: apps, subscriptions, metadata, TestFlight ASC API key, asc CLI
xcode Local builds, simulator, archives Xcode, xcodegen
supabase Backend: database, auth, edge functions, usage limits access token, supabase, deno
revenuecat Subscriptions and entitlements (without it: StoreKit 2 only) RevenueCat secret key
ai AI features through a server-side proxy (needs supabase) provider keys, optional
firebase Firebase Analytics firebase CLI
github A private repo and issue workflow per app gh
design Screen design through the claude-design MCP (without it: design locally) claude-design MCP
maestro End-to-end UI tests on the simulator (needs xcode) Maestro, Java 17+
lottie Lottie animations node

Safety

Agents make mistakes and read untrusted web content, so AppFactory assumes they will.

  • Human approval for anything irreversible. Store writes, backend deploys, database changes, GitHub pushes, uploads and signing don't run when the agent calls them. They wait until you run appfactory approve <id> in your own terminal. The agent can't approve on your behalf.
  • You submit. App Store review submission is always done by you.
  • Dry run by default for deploys, repo creation and uploads. Destructive SQL always needs approval.
  • Secrets stay on your machine and are masked in every tool result.
  • Third-party text is data. App Store listings and reviews are labelled so the agent doesn't follow instructions hidden in them.

Threat model and limits: SECURITY.md.

FAQ

Does it need Claude? No. It is a standard MCP server. The run playbook is served by the server itself (tool playbook(), prompt run, resource appfactory://playbook), so any MCP-capable agent can follow it.

Why a Mac? The app is built and tested with Xcode on your machine. Research works anywhere.

Is my data sent anywhere? Only to the services you turn on, with your own keys. There is no AppFactory server and no telemetry.

Can I change the rules? Yes. The defaults (subscription with a free trial, hard paywall plus a discounted offer, a quiz onboarding, 6 app and 8 store languages) are recommendations. You answer each one before a run.

How do I update? @latest in the MCP command picks up new releases when your agent restarts.

Docs

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md. If AppFactory saves you time, a ⭐ helps other people find it.

License

MIT

Release files for appfactory 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for appfactory 0.1.4
File Size Uploaded
appfactory-0.1.4.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for appfactory 0.1.4
File Interpreter ABI Platform
appfactory-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / appfactory-0.1.4.tar.gz

Download URL appfactory-0.1.4.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ecdeac3b8a36f5a395dbf90427527028fe4bc6a92f7774f9d104b841e9929de1
BLAKE2b-256 checksum
How to use checksums
99db3aae5b71243f9254b1be201774ce177cca4457c42d4b872476bee81afb06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / appfactory-0.1.4-py3-none-any.whl

Download URL appfactory-0.1.4-py3-none-any.whl
Size 720.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
569b9f44ceb43b98e1c69d88d428f86619a4477a5482638ccee0e8bf9c10b5ce
BLAKE2b-256 checksum
How to use checksums
d7b3e37fc581a2ade42306177365a9d86a0ad49565d1cbc6090a63e9f35650da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page