Skip to Content
DistributionMCP Server (npm)

FrootAI

FrootAI

MCP Server (npm)

From the Roots to the Fruits. It’s simply Frootful.

An open ecosystem where Infra, Platform, and App teams build AI β€” Frootfully.

A uniFAIng glue for the GenAI ecosystem, enabling deterministic and reliable AI solutions.

npmdownloadslicense


The Philosophy Behind FrootAI β€” The Essence of the FAI Engine

FrootAI is an intelligent way of packaging skills, knowledge, and the essential components of the GenAI ecosystem β€” all synced, not standalone. Infrastructure, platform, and application layers are woven together so that every piece understands and builds on the others. That’s what β€œfrom the roots to the fruits” means: a fully connected ecosystem where Infra, Platform, and App teams build AI β€” Frootfully.

The FROOT Framework


FROOT = Foundations Β· Reasoning Β· Orchestration Β· Operations Β· Transformation

LayerWhat You Learn
FTokens, models, glossary, Agentic OS
RPrompts, RAG, grounding, deterministic AI
OSemantic Kernel, agents, MCP, tools
OAzure AI Foundry, GPU infra, Copilot ecosystem
TFine-tuning, responsible AI, production patterns

The FAI Ecosystem

FAI Ecosystem β€” Factory builds, Packages deliver, Toolkit equips


What Makes This Different

Other MCP servers are API wrappers (GitHub MCP wraps the GitHub API, Playwright MCP wraps a browser). FrootAI MCP is a domain knowledge engine with a protocol that binds AI primitives together.

FeatureGitHub MCPAnthropic MCPGoogle MCPFrootAI MCP
What it doesGitHub API wrapperFile/code accessGoogle API wrapperAI architecture engine
Has a runtime engine?NoNoNoYes β€” FAI Engine
Wires AI primitives?NoNoNoYes β€” fai-manifest.json
Quality gates?NoNoNoYes β€” guardrails per play
Scaffolds projects?NoNoNoYes β€” 24 files, fully wired
Knowledge base?NoNoNoknowledge modules, BM25 search
Plugin marketplace?NoNoNo77+ plugins, install/compose

Quick Start

npx frootai-mcp@latest

Other install methods:

npm i -g frootai-mcp # Install globally docker run -i ghcr.io/frootai/frootai-mcp # Docker (no Node.js needed) pip install frootai-mcp # Python

Connect to Your Agent

VS Code / GitHub Copilot .vscode/mcp.json:

{ "servers": { "frootai": { "type": "stdio", "command": "npx", "args": ["-y", "frootai-mcp@latest"] } } }

Claude Desktop / Cursor

{ "mcpServers": { "frootai": { "command": "npx", "args": ["-y", "frootai-mcp@latest"] } } }

Docker .vscode/mcp.json

{ "servers": { "frootai": { "type": "stdio", "command": "docker", "args": ["run", "-i", "ghcr.io/frootai/frootai-mcp"] } } }

MCP Tools (45 total)

Static β€” bundled knowledge, works offline

  • list_modules browse 18 FROOT knowledge modules by layer
  • get_module read any module in full (F1–T3)
  • lookup_term AI/ML glossary definitions
  • search_knowledge full-text search across all modules
  • get_architecture_pattern 7 pre-built architecture decision guides
  • get_froot_overview complete FROOT framework summary

Live β€” network-enabled, graceful offline fallback

  • fetch_azure_docs search Microsoft Learn for Azure docs
  • fetch_external_mcp discover MCP servers from public registries
  • list_community_plays browse solution plays from GitHub
  • get_github_agentic_os .github Agentic OS 7-primitive guide

Agent Chain β€” build β†’ review β†’ tune

  • agent_build architecture guidance + code patterns, suggests review
  • agent_review security, quality, compliance audit, suggests tune
  • agent_tune production readiness validation + verdict

Ecosystem β€” Azure AI intelligence

  • get_model_catalog Azure AI model catalog with pricing tiers
  • get_azure_pricing monthly cost estimates by scenario + scale
  • estimate_cost itemized Azure cost estimate per play + scale
  • compare_models side-by-side model comparison for your use case
  • compare_plays compare two solution plays (services, cost, complexity)
  • semantic_search_plays natural language search across 100 plays
  • embedding_playground cosine similarity β€” educational RAG tool
  • run_evaluation quality scoring (groundedness, relevance, coherence, fluency)
  • validate_config validate TuneKit configs against best practices
  • generate_architecture_diagram Mermaid.js diagram for any play

FAI Engine β€” the uniFAIng glue (FAI Protocol runtime)

  • wire_play resolve FAI Protocol context, bind primitives, activate guardrails
  • inspect_wiring audit a play’s wiring β€” primitives, context, health score
  • validate_manifest validate fai-manifest.json schema + completeness
  • get_play_detail full play spec β€” services, config, WAF alignment, evaluation
  • list_primitives browse AI primitives by type (agents, skills, hooks…)
  • evaluate_quality run quality evaluation with configurable pass/fail thresholds

Scaffold & Create β€” generate production-ready plays and primitives

  • scaffold_play generate a complete play (24+ files) with FAI Protocol auto-wired
  • create_primitive create an agent, instruction, or skill with proper frontmatter
  • smart_scaffold semantic search β†’ find best matching play β†’ scaffold it

Marketplace β€” plugin ecosystem (npm for AI primitives)

  • marketplace_search semantic search across 77+ plugins by use case
  • marketplace_browse paginated listing with 8 category filters
  • install_plugin copy plugin primitives into .github/ with conflict detection
  • uninstall_plugin remove plugin primitives cleanly
  • list_installed scan .github/ and match against marketplace registry
  • check_compatibility validate plugin + play alignment + WAF + file conflicts
  • validate_plugin check plugin.json schema, naming, and file refs
  • compose_plugins multi-install with cross-plugin conflict detection
  • publish_plugin validate β†’ generate marketplace entry β†’ register
  • check_plugin_updates compare installed vs marketplace versions
  • resolve_dependencies topological dependency resolution + install order
  • list_external_plugins browse community plugins from external sources
  • marketplace_stats full analytics: totals, categories, top plugins, play coverage

Real-World Scenarios β€” See It In Action

These are real tool calls your AI agent makes when connected to the FrootAI MCP server. Each scenario shows the tool name, what you pass in, and what you get back. Try them in VS Code Copilot Chat, Claude Desktop, or any MCP-compatible client.

πŸ” Scenario 1: β€œI want to build a RAG chatbot”


You ask β†’ semantic_search_plays("RAG chatbot with Azure AI Search") You get β†’ Play 01 (Enterprise RAG, 92% match), Play 21 (Agentic RAG, 78%), Play 09 (AI Search Portal, 65%)

Why it matters: Instead of Googling β€œhow to build RAG”, your AI agent instantly finds the best pre-built solution from 100 plays β€” ranked by semantic similarity to your description.

πŸ—οΈ Scenario 2: β€œScaffold a new project from scratch”


You ask β†’ scaffold_play(name: "Invoice Processor", model: "gpt-4o") You get β†’ 24 files created in solution-plays/101-invoice-processor/ with agents, skills, config, infra, evaluation β€” all auto-wired via FAI Protocol

Why it matters: One tool call generates a complete, production-ready project structure β€” agents, instructions, skills, hooks, config, evaluation pipeline, and infrastructure templates β€” all pre-wired together.

πŸ”— Scenario 3: β€œWire my play and check if everything connects”


You ask β†’ wire_play(playId: "01") You get β†’ Wiring Report: 1 agent β†’ 3 instructions β†’ 3 skills β†’ 3 hooks, shared context (4 knowledge modules + 5 WAF pillars), all wired in 43ms

What is β€œwiring”? The FAI Engine reads your fai-manifest.json, resolves all file paths, injects shared knowledge context into every primitive, and verifies quality gates. Think of it as docker compose up but for AI primitives.

πŸ”¬ Scenario 4: β€œX-ray my play’s wiring graph”


You ask β†’ inspect_wiring(playId: "01") You get β†’ Visual dependency graph: Agents β†’ constrained by β†’ Instructions β†’ invoke β†’ Skills β†’ guarded by β†’ Hooks β†’ ALL share β†’ FAI Context

Why it matters: See exactly how your play’s primitives connect β€” which agent uses which skill, which instructions constrain behavior, and which hooks enforce guardrails.

βœ… Scenario 5: β€œCheck if my AI responses meet quality standards”


You ask β†’ evaluate_quality(scores: { groundedness: 0.97, relevance: 0.88, safety: 0 }) You get β†’ Pass/fail table per metric against guardrail thresholds. Each play has its own quality bar defined in fai-manifest.json.

Why it matters: Automated quality gates catch regressions before they reach production. Scores below the threshold fail the check β€” no manual review needed.

πŸ”„ Scenario 6: β€œBuild β†’ Review β†’ Tune workflow”


Step 1: agent_build("Invoice processing API") β†’ Architecture guidance Step 2: agent_review("the invoice processing API") β†’ Security + quality audit Step 3: agent_tune("the invoice processing API") β†’ Production readiness verdict

Why it matters: Mirrors how real teams work β€” architect β†’ code reviewer β†’ QA. Each step feeds into the next, and the chain catches issues at every layer.

πŸ“‹ Scenario 7: β€œValidate my manifest follows the FAI Protocol”


You ask β†’ validate_manifest(playId: "01") You get β†’ βœ… play: valid NN-kebab-case βœ… version: valid semver βœ… knowledge: 4 modules βœ… waf: 5 pillars βœ… all paths resolved

Why it matters: Like terraform validate but for AI primitives. Catches broken file paths, invalid WAF references, and missing required fields before anything runs.

βš–οΈ Scenario 8: β€œCompare two solution approaches”


You ask β†’ compare_plays(plays: "01,21") You get β†’ Side-by-side: complexity, services, cost, best-for comparison Then β†’ estimate_cost(play: "01", scale: "prod") You get β†’ Itemized Azure pricing: AI Search $X/mo, OpenAI $Y/mo, App Service $Z/mo

Why it matters: Make informed architecture decisions β€” see the tradeoffs between approaches before writing a single line of code.

πŸ“š Scenario 9: β€œSearch across all knowledge modules”


You ask β†’ search_knowledge(query: "how to reduce hallucination in RAG") You get β†’ Top 5 BM25-ranked sections from knowledge modules, with 500-char previews

Why it matters: BM25-ranked search across 358 indexed documents gives you precise, relevant answers from curated architecture knowledge β€” not generic web results.

πŸ”Œ Scenario 10: β€œInstall a community plugin”


Step 1: marketplace_search(query: "security") β†’ Finds enterprise-security plugin Step 2: check_compatibility("enterprise-security", "01") β†’ Verifies WAF alignment Step 3: install_plugin("enterprise-security", "01") β†’ Copies primitives, updates manifest

Why it matters: β€œnpm for AI primitives” β€” discover, verify, install, and compose plugins into your solution play. Conflict detection ensures plugins don’t overwrite each other.


CLI β€” npx frootai

Note: The CLI has moved to the standalone frootai package (21 commands).

npx frootai help # Show all 21 commands npx frootai info 01 # Play details + cost estimate npx frootai list # Browse solution plays npx frootai search "RAG architecture" # BM25 ranked search npx frootai scaffold 01 # Download play + generate templates npx frootai install 01 --kit devkit # Install specific kit npx frootai deploy # Guided Azure deployment npx frootai status # Current project context npx frootai diff # Compare local vs GitHub npx frootai login # Check Azure + GitHub auth npx frootai doctor # Health check npx frootai validate --waf # WAF alignment scorecard

Install: npm i -g frootai or use npx frootai@latest

frootai init scaffolds a complete project:

my-ai-project/ .vscode/mcp.json MCP auto-connects .github/ copilot-instructions.md agents/ Builder, Reviewer, Tuner instructions/ Coding standards, patterns prompts/ /deploy, /test, /review, /evaluate config/ OpenAI, Search, Guardrails evaluation/ Eval thresholds + eval.py spec/ Architecture spec + WAF alignment README.md

frootai validate --waf checks your project against the Well-Architected Framework:

  • Reliability retry policies, health probes
  • Security managed identity, private endpoints
  • Cost Optimization right-sized SKUs, token budgets
  • Operational Excellence CI/CD, diagnostics
  • Performance Efficiency caching, streaming
  • Responsible AI content safety, guardrails

HTTP Transport (Remote MCP)

Run as a remote HTTP server alongside stdio β€” no config change needed:

# Stdio (default β€” local agents, VS Code, Claude Desktop) npx frootai-mcp # HTTP server β€” remote clients, Container Apps, k8s npx frootai-mcp http PORT=8080 npx frootai-mcp http # With API key auth FAI_AUTH_MODE=apikey FAI_API_KEYS=my-secret-key npx frootai-mcp http # Docker docker run -p 3000:3000 ghcr.io/frootai/frootai-mcp http

Connect a remote client:

{ "servers": { "frootai": { "type": "http", "url": "https://your-host:3000/mcp" } } }

Health probes (Kubernetes / Container Apps):

  • GET /healthz β€” liveness (status, version, uptime, engine)
  • GET /readyz β€” readiness (modules loaded, sessions, cache stats)

Advanced Features

πŸ”Ž BM25 Search Engine


All search tools use a pre-built BM25 index (Robertson IDF, k1=1.5, b=0.75) over 358 documents. Far more accurate than keyword matching β€” finds β€œvoice AI call center” β†’ Play 04 with high relevance. The index covers all solution plays, knowledge modules, and the glossary.

🏷️ Tool Annotations


All MCP tools have MCP-standard annotations telling clients about their behavior:

  • readOnlyHint: true β€” safe to call without side effects (knowledge, ecosystem, agent chain tools)
  • destructiveHint: true β€” creates or modifies files (scaffold, install/uninstall)
  • openWorldHint: true β€” makes network requests (live tools)
  • idempotentHint: true β€” safe to retry (most tools)

πŸ“ Structured Logging


The server emits MCP notifications/message with RFC 5424 severity levels (debug, info, warning, error). Clients see real-time logs for cache hits, BM25 queries, engine wiring, and scaffold progress.

πŸ“Š Progress Tokens


Long-running tools (scaffold_play, smart_scaffold) emit notifications/progress with per-step updates. Clients see: β€œCreating agent.md (1/24)… Creating copilot-instructions.md (2/24)… Verifying FAI Protocol wiring…”

πŸ‘οΈ Subscribable Resources


The server watches solution-plays/ for changes and emits notifications/resources/list_changed. Clients auto-refresh their resource list when plays are added or removed.

πŸ“‘ SSE Event Stream (HTTP mode)


In HTTP transport mode, GET /mcp returns a persistent SSE stream with server notifications. Supports Last-Event-ID for reconnection replay from a 50-event ring buffer. 15-second heartbeat keeps connections alive.


The FAI Protocol β€” How Wiring Works

The FAI Protocol is what makes FrootAI unique. Every solution play has a fai-manifest.json β€” a binding contract that declares:

  • Context β€” which knowledge modules and WAF pillars this play uses
  • Primitives β€” which agents, instructions, skills, hooks, and workflows belong to this play
  • Guardrails β€” quality thresholds (groundedness, coherence, relevance, safety, cost)

When you call wire_play("01"), the FAI Engine:

  1. Loads the manifest from solution-plays/01-enterprise-rag/spec/fai-manifest.json
  2. Resolves all file paths for every primitive
  3. Builds shared context β€” injects knowledge modules + WAF pillars into every primitive
  4. Wires agents β†’ instructions β†’ skills β†’ hooks into a connected graph
  5. Creates a quality evaluator with the play’s guardrail thresholds

The result: every primitive in the play shares the same knowledge context and quality standards. Change one thing in the manifest, and it propagates everywhere.

πŸ“„ Example manifest (fai-manifest.json)


{ "play": "01-enterprise-rag", "version": "1.0.0", "context": { "knowledge": ["R2-RAG-Architecture", "O3-MCP-Tools-Functions", "T3-Production-Patterns"], "waf": ["security", "reliability", "cost-optimization"], "scope": "enterprise-rag-qa" }, "primitives": { "agents": ["./agent.md"], "instructions": ["./instructions.md", "../../instructions/python-waf.instructions.md"], "skills": ["./.github/skills/deploy-enterprise-rag/"], "hooks": ["../../hooks/frootai-secrets-scanner/"], "guardrails": { "groundedness": 0.95, "coherence": 0.90, "safety": 0 } } }

Think of it as docker-compose.yml for AI primitives β€” one file that defines how everything connects.


Agent FAI REST API

Chat with Agent FAI grounded in FrootAI knowledge: frootai.dev/chatbotΒ 

POST /api/chat POST /api/chat/stream POST /api/search-plays POST /api/estimate-cost GET /api/health

Agent FAI REST API Docs Β 


What Ships Inside

  • FROOT Knowledge Modules β€” knowledge modules across Foundations, Reasoning, Orchestration, Operations, Transformation
  • AI Glossary β€” AI/ML term definitions
  • Solution Plays β€” pre-tuned deployable solutions with .github Agentic OS
  • AI Primitives β€” agents, instructions, skills, hooks, plugins, workflows
  • FAI Engine β€” FAI Protocol runtime: wire, inspect, validate, evaluate
  • FAI Marketplace β€” 77+ plugins searchable and installable via MCP
  • Architecture Decision Guides β€” RAG, agents, hosting, model selection, cost optimization, determinism
  • BM25 Search Engine β€” pre-built index over 358 documents (plays + knowledge), Robertson IDF ranking
  • Progress Tokens β€” real-time progress for scaffold operations
  • Structured Logging β€” RFC 5424 notifications/message to connected clients
  • Tool Annotations β€” all MCP tools annotated with readOnlyHint/destructiveHint/idempotentHint
  • SSE Event Stream β€” resumable Server-Sent Events in HTTP mode
  • Subscribable Resources β€” live change notifications via fs.watch
  • OpenTelemetry β€” opt-in observability (OTEL_EXPORTER_OTLP_ENDPOINT)

The FrootAI ecosystem is growing. New modules, plays, and tools are added with every release.


ResourceLink
Websitefrootai.devΒ 
CLI & SDK (npm)frootai on npmΒ 
Setup GuideFAI Packages SetupΒ 
CLI DocsCLI ReferenceΒ 
REST APIAgent FAI REST APIΒ 
VS Code ExtensionMarketplaceΒ 
Docker ImageGitHub Container RegistryΒ 
Python SDKPyPI β€” frootaiΒ 
Python MCP ServerPyPI β€” frootai-mcpΒ 
GitHubfrootai/frootaiΒ 
Contact[email protected]

2026 FrootAI MIT License

AI architecture MCP model-context-protocol Azure RAG agents copilot semantic-kernel infrastructure-as-code solution-plays devkit tunekit agentic-os well-architected open-source frootai

Last updated on