FAI CLI
Scaffold projects, search knowledge, estimate costs, and validate configs — all from the terminal. Ships with the MCP Server package. No extra install needed.
No install needed — runs via npx
npx frootai <command>Or if you've installed frootai-mcp globally: just frootai <command>
Commands
frootai initInteractive project scaffolding. 3 questions → complete FrootAI project with .github Agentic OS, DevKit, TuneKit, and MCP config.
frootai scaffold <play>Scaffold a specific solution play (e.g., frootai scaffold 01-enterprise-rag). Creates the full project structure.
frootai search <query>Search the FrootAI knowledge base from terminal. Returns relevant module sections.
frootai cost <play> [scale]Estimate monthly Azure cost for a play. Usage: frootai cost 01 dev or frootai cost 07 prod.
frootai validateValidate your project's FrootAI config files (.github structure, config/*.json, agent.md).
frootai doctorCheck your environment: Node version, MCP server status, VS Code extension, Git config.
frootai deploy <play>Deploy a solution play to Azure. Walks through Bicep deployment with parameter prompts.
frootai helpShow all available commands and usage examples.
frootai mcp * — Federation Subcommands
v6.1.0 GASix subcommands to drive the FrootAI MCP federation router from the terminal. Attach any of the 7 Tier-1 MCP areas, invoke <area>.<tool> calls, query the trust manifest, or one-shot a tool call with auto-detach. State persists at ~/.frootai/mcp-state.json. Launch post →
frootai mcp listList the 7 federated Tier-1 MCP areas (azure, github, playwright, markitdown, ms-learn, context7, chrome-devtools) + show currently-attached sessions
frootai mcp attach <area>Attach a federated MCP area; runs trust gate, spawns stdio transport, returns the namespaced tool list (<area>.<tool>)
frootai mcp detach <area>Detach + dispose an attached area; idle disconnect honored at the configured timeout
frootai mcp invoke <area>.<tool> [--args JSON]Invoke a tool on an attached area. Returns headline + content blocks (text mode) or full JSON envelope (--json)
frootai mcp call <area>.<tool> [--args JSON]One-shot: attach → invoke → detach in a single call (for ephemeral usage); always wraps in try/finally for clean dispose
frootai mcp trust <publisher>Query the trust manifest for a publisher: returns tier (first-party-ms / verified / community / untrusted) + policy
$ frootai mcp list
7 areas available · 0 attached
azure first-party-ms ✓ ready
github first-party-ms ✓ ready
playwright first-party-ms ✓ ready
markitdown first-party-ms ✓ ready
ms-learn first-party-ms ✓ ready
context7 verified-publisher ✓ ready
chrome-devtools verified-publisher ✓ ready
$ frootai mcp attach azure
✓ trust gate: first-party-ms (auto-attach)
✓ spawned npx @azure/mcp-server (PID 12847, transport=stdio)
✓ registered 218 tools as azure.*
$ frootai mcp invoke azure.subscription_list
{
"subscriptions": [
{ "id": "abc-123", "name": "Production", "state": "Enabled" },
...
]
}
$ frootai mcp call playwright.screenshot --args '{"url":"https://frootai.dev"}'
✓ attached playwright (cold) · invoked · detached
saved screenshot to ./playwright-screenshot.png (142 KB)Example: frootai init
$ npx frootai init
🌳 FrootAI™ CLI v3.1.2
From the Roots to the Fruits
What are you building?
1) Enterprise RAG
2) AI Agent
3) AI Gateway
4) Content Moderation
5) Multi-modal
6) Custom (pick from all plays)
Choose [1-6]: 1
Target scale?
1) dev — Local development
2) prod — Production, HA
Choose [1-2]: 1
Project name [my-ai-project]: my-rag-app
✅ Created my-rag-app/ with:
└── .github/ (Agentic OS — 19 files)
└── .vscode/mcp.json
└── config/ (openai.json, search.json, ...)
└── infra/main.bicep
└── evaluation/
└── agent.md