Skip to main content

AppFactory

CI PyPI License: MIT Python 3.12+ MCP

An MCP server that lets your coding agent take a SwiftUI iOS subscription app from idea to the App Store.

What it does: idea harvesting and validation, design, SwiftUI code from a template, Supabase backend, App Store Connect + RevenueCat setup, localization, analytics, ASO, screenshots and TestFlight. Every stage has a gate the agent must pass. You do the final App Store submission.

Quickstart

Requires a Mac, Python 3.12+ and uv.

1. Add the MCP to your agent

Like any MCP server. Research works with no keys at all:

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. Add keys for the services you use

Keys are environment variables on the MCP entry, named APPFACTORY_<KEY>. For example, App Store Connect in Claude Code:

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

You don't need to know the names up front: say "Set up AppFactory" (or just start a run). The agent asks which services you want, one by one, and gives you the exact command for your agent with the keys that are still missing. Keys never go through the chat. Every variable is listed in docs/SETUP.md.

Then try this first prompt. It needs no accounts:

Find 3 underserved iOS app niches in Health & Fitness and validate the best one

Works with

Claude Code, Codex CLI, Gemini CLI and Cursor. The run playbook is served by the MCP server itself (tool playbook(), prompt run, resource appfactory://playbook), so any MCP-capable agent can follow it.

Choose what you use

Every service is optional. Tools for a disabled service do nothing and the pipeline skips those stages (appfactory services enable|disable NAME).

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

Details and credential steps: docs/SETUP.md.

Safety

  • Approvals. Irreversible or outward actions (submission, store/backend/RevenueCat writes, GitHub pushes, uploads) do not run when an agent calls them. They wait for appfactory approve <id> in your terminal.
  • Dry run by default for deploys, repo creation, uploads and issue writes.
  • Secrets stay local and are scrubbed from every tool result.
  • Untrusted content (App Store listings, reviews) is labelled as data, not instructions.

Full threat model and limits: SECURITY.md.

How a run works

  1. Interview. Before any work the agent calls run_options(), asks you about every optional part, and saves your answers. Anything you turn off is skipped.
  2. Pipeline with gates. scaffold, design, features, backend, store setup, localize, analytics, ASO, metadata, screenshots, TestFlight. A stage is done only when pipeline_mark passes its gate; blockers stop the run with a NEEDS_HUMAN.md.
  3. You submit. App Store submission is always human, in the App Store Connect web UI.

Docs

License

MIT

Release files for appfactory 0.1.2

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.2
File Size Uploaded
appfactory-0.1.2.tar.gz 798.1 kB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / appfactory-0.1.2.tar.gz

Download URL appfactory-0.1.2.tar.gz
Size 798.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b319ad71dd1e9c2013b50fc5db9a3d95e8e0f7f96684788f95d14928b35487fa
BLAKE2b-256 checksum
How to use checksums
1b25cfa18089b7bf277502f440f4ed7bd9dc061c21e42e13256dab7f9d12d0c6
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.2-py3-none-any.whl

Download URL appfactory-0.1.2-py3-none-any.whl
Size 719.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5758d2431ebf62a950ff06991f2c3950b01c3fca13ca53e7eccf30a1f17afd04
BLAKE2b-256 checksum
How to use checksums
fed4f49d720d0f325f15fac897993aa2c5a9256867c351a1958b55f67b5e37bb
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

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

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