Compile a JSON product spec into an Android APK. Paid per build via x402 (USDC on Base).
MCPpedia last refreshed this data
io.github.carlosge492/prd-to-flutter-apk is an MCP server that compile a JSON product spec into an Android APK. Paid per build via x402 (USDC on Base). Its tool list has not been published yet, requires no API key, and scores 88/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-carlosge492-prd-to-flutter-apk": {
"args": [
"-y",
"@puppeteer/browsers"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Takes a JSON Product Requirements Document and emits a compiled Flutter application. Built as a LangGraph loop with four subagents, a QA gate that runs the real Flutter toolchain, and an x402 payment gate in front of packaging.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@puppeteer/browsers' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @puppeteer/browsers against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Transport for TMCP using STDIO
The graph based agentic IDE
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
MCP Security Weekly
Get CVE alerts and security updates for io.github.carlosge492/prd-to-flutter-apk and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Takes a JSON Product Requirements Document and emits a compiled Flutter application. Built as a LangGraph loop with four subagents and a QA gate that runs the real Flutter toolchain.
The design goal is not "generates plausible code" but zero-error compilation: if the output fails CI, the loop has failed.
PRD to Flutter APK on Apify Store — generate and read the source for free; pay only for the packaged APK. No account beyond Apify's own, nothing to install.
(An earlier version of this README pointed at a self-hosted x402 service on a VM. That deployment has been retired — the source and the payment-gate design it proved out are unchanged, just no longer running on that box.)
examples/generated-field-notes/ is
unmodified output — 23 files generated from the 45-line
todo_app.prd.json beside it, checked in so you
can read exactly what a build gives you. Nothing was hand-fixed for
presentation. Start with
GENERATED.md.
No credentials and no Flutter SDK needed — the defaults are fully offline:
poetry install
poetry run python src/supervisor.py examples/todo_app.prd.json --clean
That validates the PRD, runs the loop, and writes a Flutter project to
generated_apps/current_build/.
To grade the output with the real toolchain instead of the offline stub:
poetry run python src/supervisor.py --clean --analyzer dart --flutter-root "C:\flutter" --run-tests
CLAUDE.md calls this an M2M microservice; this is the part a machine buyer calls.
X402_SHARED_SECRET=... FLUTTER_ROOT="C:\flutter" poetry run uvicorn src.service.app:app --port 8000
| Endpoint | |
|---|---|
POST /builds | PRD in; 202 + job id, or 402 with an x402 challenge |
GET /builds/{id} | status, log, diagnostics |
GET /builds/{id}/apk | the artifact |
GET /healthz | includes whether payment is configured |
Builds take minutes, so the API is asynchronous. x402_payment_verified in a
submitted PRD is discarded: the PRD is buyer-supplied, so trusting that field
would let anyone assert their own payment. Only the server's verifier sets it.
Payment is real x402: the buyer signs an EIP-3009 TransferWithAuthorization
(EIP-712), and the service recovers the signer, checks recipient, amount, chain
and validity window, and claims the nonce atomically so one signature buys
exactly one build.
X402_TOKEN_CONTRACT=0x036CbD... X402_CHAIN_ID=84532 X402_PAY_TO=0xYourAddress X402_PRICE_ATOMIC=500000 poetry run uvicorn src.service.app:app --port 8000
Configure nothing and the service refuses every payment — it fails closed rather
than falling back to the development shared secret. /healthz reports which
mode is active.
Verification is not settlement. A valid signature proves the payer
authorised a transfer; it does not prove they hold the balance or that the
transfer landed on-chain. Set X402_FACILITATOR_URL and the service submits the
authorization for on-chain execution and blocks the 202 until it confirms —
so a build only starts once the money has actually moved. Without it,
/healthz reports settlement: verification-only and the service is accepting
signed promises.
Before the nonce is claimed the service asks the facilitator's /verify
endpoint whether the payment would settle. Insufficient funds is recoverable —
the payer tops up and re-presents the same signature — so burning their
authorization for it would be needlessly destructive.
Settlement distinguishes three outcomes, not two. A refusal ("insufficient funds") is definite and is not retried. A timeout is unknown: the facilitator may have broadcast and failed to answer, so the build is refused while recording that