Claude Flow (RuFlo v3.5) is an enterprise AI orchestration platform that enables deployment and coordination of 16 specialized agent roles working in swarms with self-learning and fault-tolerant consensus capabilities. The server provides tools for multi-agent orchestration, policy engines, embeddings, and proof systems powered by Rust-based WASM kernels, solving the problem of coordinating complex AI-driven software engineering tasks across distributed teams. It integrates with Claude Code and offers enterprise-grade security features alongside self-optimizing agent capabilities.
claude mcp add claude-flow --env ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY --env CLAUDE_FLOW_MODE=YOUR_CLAUDE_FLOW_MODE --env CLAUDE_FLOW_MEMORY_PATH=YOUR_CLAUDE_FLOW_MEMORY_PATH --env CLAUDE_FLOW_MAX_AGENTS=YOUR_CLAUDE_FLOW_MAX_AGENTS --env CLAUDE_FLOW_PORT=YOUR_CLAUDE_FLOW_PORT --env GITHUB_TOKEN=YOUR_GITHUB_TOKEN --env FLOW_NEXUS_API_KEY=YOUR_FLOW_NEXUS_API_KEY -- npx -y claude-flowRun in your terminal. Replace YOUR_* placeholders with real values; add --scope user to install for every project.
Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.
Verified live against the running server on Jun 10, 2026.
agent_spawnSpawn a Ruflo-tracked agent with cost attribution + memory persistence + swarm coordination. Use when native Task tool is wrong because you need (a) cost tracking per agent in the cost-tracking namespace, (b) cross-session learning via the patterns namespace, or (c) coordinati...7 paramsSpawn a Ruflo-tracked agent with cost attribution + memory persistence + swarm coordination. Use when native Task tool is wrong because you need (a) cost tracking per agent in the cost-tracking namespace, (b) cross-session learning via the patterns namespace, or (c) coordinati...
taskstringmodelstringhaiku · sonnet · opus · opus-4.7 · inheritconfigobjectdomainstringagentIdstringswarmIdstringagentType*stringagent_executeRun a task on a previously-spawned agent_spawn record via the Anthropic Messages API with that agent's configured model. Use when native Task tool is wrong because (a) you need the spawned agent's persistent config (model, instructions, cost-tracking attribution) to apply to t...5 paramsRun a task on a previously-spawned agent_spawn record via the Anthropic Messages API with that agent's configured model. Use when native Task tool is wrong because (a) you need the spawned agent's persistent config (model, instructions, cost-tracking attribution) to apply to t...
prompt*stringagentId*stringmaxTokensnumbertemperaturenumbersystemPromptstringagent_terminateRemove a Ruflo-tracked agent from the registry and free its swarm slot. Use when you need to (a) clean up a spawned agent so its cost-tracking row finalizes, (b) reclaim a swarm-topology slot for another agent, or (c) end a stuck agent without restarting the whole swarm. For o...2 paramsRemove a Ruflo-tracked agent from the registry and free its swarm slot. Use when you need to (a) clean up a spawned agent so its cost-tracking row finalizes, (b) reclaim a swarm-topology slot for another agent, or (c) end a stuck agent without restarting the whole swarm. For o...
forcebooleanagentId*stringagent_statusRead the lifecycle state of a single tracked agent: idle/running/stopped, current taskCount, lastResult, model, health score. Use when native Task tool is wrong because you need agent-level state (status across turns, accumulated taskCount, last error, swarm coordination) rath...1 paramsRead the lifecycle state of a single tracked agent: idle/running/stopped, current taskCount, lastResult, model, health score. Use when native Task tool is wrong because you need agent-level state (status across turns, accumulated taskCount, last error, swarm coordination) rath...
agentId*stringagent_listList every Ruflo-tracked agent in the registry with its type, model, status, and taskCount. Use when native Task tool is wrong because you need to see the swarm-wide agent inventory across turns (which agents exist, their roles, their cost-tracking handles) rather than spawn a...3 paramsList every Ruflo-tracked agent in the registry with its type, model, status, and taskCount. Use when native Task tool is wrong because you need to see the swarm-wide agent inventory across turns (which agents exist, their roles, their cost-tracking handles) rather than spawn a...
domainstringstatusstringincludeTerminatedbooleanagent_poolManage a fixed-size warm pool of pre-spawned agents to skip cold-start cost on bursty workloads. Use when native Task is wrong because (a) you have a queue of similar tasks and want to amortize spawn latency, (b) cost-tracking wants stable agentIds across requests, or (c) swar...3 paramsManage a fixed-size warm pool of pre-spawned agents to skip cold-start cost on bursty workloads. Use when native Task is wrong because (a) you have a queue of similar tasks and want to amortize spawn latency, (b) cost-tracking wants stable agentIds across requests, or (c) swar...
action*stringstatus · scale · drain · fillagentTypestringtargetSizenumberagent_healthCompute an agent's rolling health score (0-1) from recent task success ratio + response-latency p50/p95 + error rate. Use when native Task tool is wrong because you're running a long-lived agent (autonomous loop / hive-mind worker / federation peer) and need to detect degradat...2 paramsCompute an agent's rolling health score (0-1) from recent task success ratio + response-latency p50/p95 + error rate. Use when native Task tool is wrong because you're running a long-lived agent (autonomous loop / hive-mind worker / federation peer) and need to detect degradat...
agentIdstringthresholdnumberagent_updateMutate a tracked agent's config (model, instructions, status, health) without re-spawning. Use when native Task tool is wrong because the agent already has accumulated state (taskCount, swarm membership, cost-tracking attribution) and you only need to tweak one field — for exa...5 paramsMutate a tracked agent's config (model, instructions, status, health) without re-spawning. Use when native Task tool is wrong because the agent already has accumulated state (taskCount, swarm membership, cost-tracking attribution) and you only need to tweak one field — for exa...
configobjecthealthnumberstatusstringagentId*stringtaskCountnumberagent_logsReturn recorded activity-log entries for a tracked agent (idle/running history, last task result). Use when native Task tool is wrong because you need the agent's log across turns (what it did, last error/result, swarm context) rather than a one-shot Task transcript. For a Tas...4 paramsReturn recorded activity-log entries for a tracked agent (idle/running history, last task result). Use when native Task tool is wrong because you need the agent's log across turns (what it did, last error/result, swarm context) rather than a one-shot Task transcript. For a Tas...
tailnumberlevelstringdebug · info · warn · errorsincestringagentId*stringswarm_initInitialize a swarm with persistent state tracking Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-...4 paramsInitialize a swarm with persistent state tracking Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-...
configobjectstrategystringtopologystringmaxAgentsnumberswarm_statusGet swarm status from persistent state Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-shot subage...1 paramsGet swarm status from persistent state Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-shot subage...
swarmIdstringswarm_shutdownShutdown a swarm and update persistent state Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-shot...2 paramsShutdown a swarm and update persistent state Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent one-shot...
swarmIdstringgracefulbooleanswarm_healthCheck swarm health status with real state inspection Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent o...1 paramsCheck swarm health status with real state inspection Use when native Task tool is wrong because you need multi-agent coordination — topology (hierarchical/mesh/star), consensus (raft/byzantine/gossip/crdt/quorum), shared memory namespace, or anti-drift gates. For independent o...
swarmIdstringmemory_storePersistent key-value store with vector embedding — survives across sessions and is searchable by meaning, not just by file path. Use when native Write is wrong because the data is not a file (e.g. a learned pattern, a decision, a budget config) AND you need to recall it later...6 paramsPersistent key-value store with vector embedding — survives across sessions and is searchable by meaning, not just by file path. Use when native Write is wrong because the data is not a file (e.g. a learned pattern, a decision, a budget config) AND you need to recall it later...
key*stringttlnumbertagsarrayvalue*valueupsertbooleannamespacestringmemory_retrieveRead back a value previously stored via memory_store, by exact (namespace, key) — lossless, includes metadata. Use when native Read is wrong because the value is not a file (it lives in the .swarm/memory.db SQLite store) AND you know the exact key. For semantic lookup by meani...2 paramsRead back a value previously stored via memory_store, by exact (namespace, key) — lossless, includes metadata. Use when native Read is wrong because the value is not a file (it lives in the .swarm/memory.db SQLite store) AND you know the exact key. For semantic lookup by meani...
key*stringnamespacestringmemory_searchFind stored memories by meaning (vector similarity), not by literal text — finds "JWT auth pattern" when you query "token-based login flow". Use when native Grep is wrong because Grep matches characters and you need to find conceptually-related entries across past sessions. Ba...5 paramsFind stored memories by meaning (vector similarity), not by literal text — finds "JWT auth pattern" when you query "token-based login flow". Use when native Grep is wrong because Grep matches characters and you need to find conceptually-related entries across past sessions. Ba...
limitnumberquery*stringsmartbooleannamespacestringthresholdnumbermemory_deleteRemove a stored memory entry by exact (namespace, key). Use when a previously stored decision is invalidated or contains stale data. No native equivalent — Write to a file does not affect the .swarm/memory.db SQLite store.2 paramsRemove a stored memory entry by exact (namespace, key). Use when a previously stored decision is invalidated or contains stale data. No native equivalent — Write to a file does not affect the .swarm/memory.db SQLite store.
key*stringnamespacestringmemory_listEnumerate stored memory entries (optionally filtered by namespace/tags) without semantic search. Use when native Glob is wrong because the entries are not files (they live in .swarm/memory.db). For inspection / audit / "what is in my memory" — pair with memory_search for retri...3 paramsEnumerate stored memory entries (optionally filtered by namespace/tags) without semantic search. Use when native Glob is wrong because the entries are not files (they live in .swarm/memory.db). For inspection / audit / "what is in my memory" — pair with memory_search for retri...
limitnumberoffsetnumbernamespacestringmemory_statsGet memory storage statistics including HNSW index status Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing across projects without managing directory layout, or (c) the...Get memory storage statistics including HNSW index status Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing across projects without managing directory layout, or (c) the...
No parameters — call it with no arguments.
memory_migrateManually trigger migration from legacy JSON store to sql.js Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing across projects without managing directory layout, or (c) t...1 paramsManually trigger migration from legacy JSON store to sql.js Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing across projects without managing directory layout, or (c) t...
forcebooleanmemory_import_claudeImport Claude Code auto-memory files into AgentDB with ONNX vector embeddings. Reads ~/.claude/projects/*/memory/*.md files, parses YAML frontmatter, splits into sections, and stores with 384-dim embeddings for semantic search. Use allProjects=true to import from ALL Claude pr...5 paramsImport Claude Code auto-memory files into AgentDB with ONNX vector embeddings. Reads ~/.claude/projects/*/memory/*.md files, parses YAML frontmatter, splits into sections, and stores with 384-dim embeddings for semantic search. Use allProjects=true to import from ALL Claude pr...
namespacestringallProjectsbooleanprojectPathstringexcludeFilesarrayexcludeFilePatternsarraymemory_bridge_statusShow Claude Code memory bridge status — AgentDB vectors, SONA learning, intelligence patterns, and connection health. Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing a...Show Claude Code memory bridge status — AgentDB vectors, SONA learning, intelligence patterns, and connection health. Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing a...
No parameters — call it with no arguments.
memory_search_unifiedSearch across both Claude Code memories and AgentDB entries using semantic vector similarity. Returns merged, deduplicated results from all namespaces. Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) n...4 paramsSearch across both Claude Code memories and AgentDB entries using semantic vector similarity. Returns merged, deduplicated results from all namespaces. Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) n...
limitnumberquery*stringnamespacestringnamespacesarraymemory_detailed-statsDetailed memory-store report — backend, entry count, total bytes, per-namespace counts, and (placeholder) perf metrics. Use when native Read/Glob is wrong because the data lives in .swarm/memory.db, not files, and you want an aggregate health view. For a quick count use memory...Detailed memory-store report — backend, entry count, total bytes, per-namespace counts, and (placeholder) perf metrics. Use when native Read/Glob is wrong because the data lives in .swarm/memory.db, not files, and you want an aggregate health view. For a quick count use memory...
No parameters — call it with no arguments.
memory_cleanupPrune memory entries whose TTL has expired (dry run by default; pass dryRun:false to delete). Use when native rm is wrong because the entries are rows in .swarm/memory.db, not files. For removing a specific known key use memory_delete. Stale/low-quality pruning is delegated to...2 paramsPrune memory entries whose TTL has expired (dry run by default; pass dryRun:false to delete). Use when native rm is wrong because the entries are rows in .swarm/memory.db, not files. For removing a specific known key use memory_delete. Stale/low-quality pruning is delegated to...
dryRunbooleannamespacestringmemory_compressReport memory-store size breakdown (the sql.js backend has no on-disk compression — entries are already stored compactly; quantized embeddings via RaBitQ are configured elsewhere). Use when native du is wrong because the data is in .swarm/memory.db. For pruning expired entries...Report memory-store size breakdown (the sql.js backend has no on-disk compression — entries are already stored compactly; quantized embeddings via RaBitQ are configured elsewhere). Use when native du is wrong because the data is in .swarm/memory.db. For pruning expired entries...
No parameters — call it with no arguments.
memory_exportExport memory entries to a JSON file (keys, namespaces, timestamps, and values when available). Use when native Write is wrong because the data is rows in .swarm/memory.db, not a file you can copy. For ingesting an export elsewhere use memory_import. (CSV output and embedding-...4 paramsExport memory entries to a JSON file (keys, namespaces, timestamps, and values when available). Use when native Write is wrong because the data is rows in .swarm/memory.db, not a file you can copy. For ingesting an export elsewhere use memory_import. (CSV output and embedding-...
formatstringjson · csvnamespacestringoutputPath*stringincludeVectorsbooleanmemory_importImport memory entries from a JSON export file (produced by memory_export) into .swarm/memory.db, re-embedding values. Use when native Read is wrong because the data must be re-stored as memory rows (with new embeddings), not just read. For importing Claude Code's own memory fi...3 paramsImport memory entries from a JSON export file (produced by memory_export) into .swarm/memory.db, re-embedding values. Use when native Read is wrong because the data must be re-stored as memory rows (with new embeddings), not just read. For importing Claude Code's own memory fi...
mergebooleaninputPath*stringnamespacestringconfig_getGet configuration value Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files, na...2 paramsGet configuration value Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files, na...
key*stringscopestringconfig_setSet configuration value Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files, na...3 paramsSet configuration value Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files, na...
key*stringscopestringvalue*valueconfig_listList configuration values Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files,...3 paramsList configuration values Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style files,...
scopestringprefixstringincludeDefaultsbooleanconfig_resetReset configuration to defaults Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style f...2 paramsReset configuration to defaults Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style f...
keystringscopestringconfig_exportExport configuration to JSON Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style file...2 paramsExport configuration to JSON Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style file...
scopestringincludeDefaultsbooleanconfig_importImport configuration from JSON Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style fi...3 paramsImport configuration from JSON Use when native settings.json edits are wrong because the values need to be read by the Ruflo runtime (daemon, MCP server, neural router) — those load via the config_* path, not by re-reading settings.json. For .gitignore / .editorconfig style fi...
mergebooleanscopestringconfig*objecthooks_intelligence_unified-statsOne honest view across the four learning stat sources: globalStats (`.claude-flow/neural/stats.json`), the in-memory SONA coordinator, memory-bridge AgentDB entries, and the neural-patterns store. Each sub-view names its source path. The `consistency` block notes cross-store d...1 paramsOne honest view across the four learning stat sources: globalStats (`.claude-flow/neural/stats.json`), the in-memory SONA coordinator, memory-bridge AgentDB entries, and the neural-patterns store. Each sub-view names its source path. The `consistency` block notes cross-store d...
verbosebooleanhooks_teammate-idleAgent Teams hook — fired when a teammate agent finishes its turn; reports whether a pending task can be auto-assigned. Use when native Task is wrong because you have a persistent multi-agent team with a shared task list and want idle workers picked up automatically rather than...5 paramsAgent Teams hook — fired when a teammate agent finishes its turn; reports whether a pending task can be auto-assigned. Use when native Task is wrong because you have a persistent multi-agent team with a shared task list and want idle workers picked up automatically rather than...
teamNamestringtimestampnumberautoAssignbooleanteammateIdstringcheckTaskListbooleanhooks_task-completedAgent Teams hook — fired when a task is marked complete. Records the completion and, when `trainPatterns:true`, feeds the outcome to the SONA + EWC++ learning pipeline (the same path used by hooks_intelligence trajectory-*). Multiple ways to drive learning exist: (a) call this...7 paramsAgent Teams hook — fired when a task is marked complete. Records the completion and, when `trainPatterns:true`, feeds the outcome to the SONA + EWC++ learning pipeline (the same path used by hooks_intelligence trajectory-*). Multiple ways to drive learning exist: (a) call this...
taskId*stringcontentstringqualitynumbersuccessbooleannotifyLeadbooleanteammateIdstringtrainPatternsbooleanhooks_pre-editGet context and agent suggestions before editing a file Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shel...3 paramsGet context and agent suggestions before editing a file Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shel...
contextstringfilePath*stringoperationstringhooks_post-editRecord editing outcome for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Ba...3 paramsRecord editing outcome for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Ba...
agentstringsuccessbooleanfilePath*stringhooks_pre-commandAssess risk before executing a command Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain...1 paramsAssess risk before executing a command Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain...
command*stringhooks_post-commandRecord command execution outcome Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash...2 paramsRecord command execution outcome Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash...
command*stringexitCodenumberhooks_routeGet a 3-tier routing recommendation for a task: Tier 1 (deterministic codemod, ~0ms / $0 — for var-to-const, remove-console, add-logging), Tier 2 (Haiku — simple), Tier 3 (Sonnet/Opus — complex). Use this BEFORE spawning an agent to avoid sending simple transforms to Sonnet. N...3 paramsGet a 3-tier routing recommendation for a task: Tier 1 (deterministic codemod, ~0ms / $0 — for var-to-const, remove-console, add-logging), Tier 2 (Haiku — simple), Tier 3 (Sonnet/Opus — complex). Use this BEFORE spawning an agent to avoid sending simple transforms to Sonnet. N...
task*stringcontextstringuseSemanticRouterbooleanhooks_metricsView learning metrics dashboard Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash h...2 paramsView learning metrics dashboard Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash h...
periodstringincludeV3booleanhooks_listList all registered hooks Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks a...List all registered hooks Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks a...
No parameters — call it with no arguments.
hooks_pre-taskRecord task start and get agent suggestions with intelligent model routing (ADR-026) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking,...3 paramsRecord task start and get agent suggestions with intelligent model routing (ADR-026) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking,...
taskId*stringfilePathstringdescription*stringhooks_post-taskRecord task completion for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Ba...8 paramsRecord task completion for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Ba...
taskstringagentstringdepthnumbertaskId*stringqualitynumbersuccessbooleanparentAgentIdstringstoreDecisionsbooleanhooks_explainExplain routing decision with full transparency Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell comman...3 paramsExplain routing decision with full transparency Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell comman...
task*stringagentstringverbosebooleanhooks_pretrainAnalyze repository to bootstrap intelligence (4-step pipeline) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-o...3 paramsAnalyze repository to bootstrap intelligence (4-step pipeline) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-o...
pathstringdepthstringskipCachebooleanhooks_build-agentsGenerate optimized agent configurations from pretrain data Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off s...4 paramsGenerate optimized agent configurations from pretrain data Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off s...
focusstringformatstringpersistbooleanoutputDirstringhooks_transferTransfer learned patterns from another project Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell command...3 paramsTransfer learned patterns from another project Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell command...
filterstringsourcePath*stringminConfidencenumberhooks_session-startInitialize a new session and auto-start daemon Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell command...3 paramsInitialize a new session and auto-start daemon Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell command...
sessionIdstringstartDaemonbooleanrestoreLatestbooleanhooks_session-endEnd current session, stop daemon, and persist state Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell co...3 paramsEnd current session, stop daemon, and persist state Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell co...
saveStatebooleanstopDaemonbooleanexportMetricsbooleanhooks_session-restoreRestore a previous session Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks...3 paramsRestore a previous session Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks...
sessionIdstringrestoreTasksbooleanrestoreAgentsbooleanhooks_notifySend cross-agent notification Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hoo...4 paramsSend cross-agent notification Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hoo...
dataobjecttargetstringmessage*stringprioritystringhooks_initInitialize hooks in project with .claude/settings.json Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell...3 paramsInitialize hooks in project with .claude/settings.json Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell...
pathstringforcebooleantemplatestringhooks_intelligenceRuVector intelligence system status (shows REAL metrics from memory store) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chai...6 paramsRuVector intelligence system status (shows REAL metrics from memory store) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chai...
modestringenableMoebooleanenableHnswbooleanenableSonabooleanshowStatusbooleanforceTrainingbooleanhooks_intelligence-resetReset intelligence learning state Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash...Reset intelligence learning state Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash...
No parameters — call it with no arguments.
hooks_intelligence_trajectory-startBegin SONA trajectory for reinforcement learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell comma...2 paramsBegin SONA trajectory for reinforcement learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell comma...
task*stringagentstringhooks_intelligence_trajectory-stepRecord step in trajectory for reinforcement learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell c...4 paramsRecord step in trajectory for reinforcement learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell c...
action*stringresultstringqualitynumbertrajectoryId*stringhooks_intelligence_trajectory-endEnd trajectory and trigger SONA learning with EWC++ Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell co...3 paramsEnd trajectory and trigger SONA learning with EWC++ Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell co...
successbooleanfeedbackstringtrajectoryId*stringhooks_intelligence_pattern-storeStore pattern in ReasoningBank (HNSW-indexed) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands...4 paramsStore pattern in ReasoningBank (HNSW-indexed) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands...
typestringpattern*stringmetadataobjectconfidencenumberhooks_intelligence_pattern-searchSearch patterns using REAL vector search (HNSW when available, brute-force fallback) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking,...4 paramsSearch patterns using REAL vector search (HNSW when available, brute-force fallback) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking,...
topKnumberquery*stringnamespacestringminConfidencenumberhooks_intelligence_statsGet RuVector intelligence layer statistics Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, p...1 paramsGet RuVector intelligence layer statistics Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, p...
detailedbooleanhooks_intelligence_learnForce immediate SONA learning cycle with EWC++ consolidation Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...2 paramsForce immediate SONA learning cycle with EWC++ consolidation Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...
consolidatebooleantrajectoryIdsarrayhooks_intelligence_attentionCompute attention-weighted similarity using MoE/Flash/Hyperbolic Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one...3 paramsCompute attention-weighted similarity using MoE/Flash/Hyperbolic Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one...
modestringtopKnumberquery*stringhooks_worker-listList all 12 background workers with status and capabilities Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...2 paramsList all 12 background workers with status and capabilities Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...
statusstringincludeActivebooleanhooks_worker-dispatchDispatch a background worker for analysis/optimization tasks Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...4 paramsDispatch a background worker for analysis/optimization tasks Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off...
contextstringtrigger*stringultralearn · optimize · consolidate · predict · audit · mapprioritystringbackgroundbooleanhooks_worker-statusGet status of a specific worker or all active workers Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell...2 paramsGet status of a specific worker or all active workers Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell...
workerIdstringincludeCompletedbooleanhooks_worker-detectDetect worker triggers from user prompt (for UserPromptSubmit hook) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For...3 paramsDetect worker triggers from user prompt (for UserPromptSubmit hook) Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For...
prompt*stringautoDispatchbooleanminConfidencenumberhooks_worker-cancelCancel a running worker Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks are...1 paramsCancel a running worker Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hooks are...
workerId*stringhooks_model-routeRoute task to optimal Claude model (haiku/sonnet/opus) based on complexity Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chai...3 paramsRoute task to optimal Claude model (haiku/sonnet/opus) based on complexity Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chai...
task*stringpreferCostbooleanpreferSpeedbooleanhooks_model-outcomeRecord model routing outcome for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, pl...3 paramsRecord model routing outcome for learning Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, pl...
task*stringmodel*stringhaiku · sonnet · opusoutcome*stringsuccess · failure · escalatedhooks_model-statsGet model routing statistics Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hook...Get model routing statistics Use when native Bash hooks (via Claude Code's settings.json) are wrong because you need Ruflo-side state — pattern persistence, neural training signals, model-routing learning, cost tracking, audit chain. For one-off shell commands, plain Bash hook...
No parameters — call it with no arguments.
hooks_codemodApply a deterministic, $0 (no-LLM) code transform — the real Tier-1 execution path (ADR-143). Supported intents: var-to-const, remove-console, add-logging. Uses the TypeScript compiler with formatting-preserving edits (comments/whitespace survive). Targets: raw `code` (returns...7 paramsApply a deterministic, $0 (no-LLM) code transform — the real Tier-1 execution path (ADR-143). Supported intents: var-to-const, remove-console, add-logging. Uses the TypeScript compiler with formatting-preserving edits (comments/whitespace survive). Targets: raw `code` (returns...
codestringfilestringglobstringfilesarraydryRunbooleanintent*stringvar-to-const · remove-console · add-logginglanguagestringjavascript · typescript · jsx · tsxtask_createCreate a new task Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.5 paramsCreate a new task Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
tagsarraytype*stringassignToarrayprioritystringdescription*stringtask_statusGet task status Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.1 paramsGet task status Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
taskId*stringtask_listList all tasks Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.5 paramsList all tasks Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
typestringlimitnumberstatusstringprioritystringassignedTostringtask_completeMark task as complete Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.2 paramsMark task as complete Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
resultobjecttaskId*stringtask_updateUpdate task status or progress Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.4 paramsUpdate task status or progress Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
statusstringtaskId*stringassignToarrayprogressnumbertask_assignAssign a task to one or more agents Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.3 paramsAssign a task to one or more agents Use when native TodoWrite is wrong because you need cross-session task persistence, agent assignment, dependency tracking, or completion analytics in the .swarm/memory.db. For in-session checklists native TodoWrite is simpler and faster.
taskId*stringagentIdsarrayunassignbooleanOrchestrate 100+ specialized AI agents across machines, teams, and trust boundaries. Ruflo adds coordinated swarms, self-learning memory, federated comms, and enterprise security to Claude Code — so agents don't just run, they collaborate.
Claude Flow is now Ruflo — named by
rUv, who loves Rust, flow states, and building things that feel inevitable. The "Ru" is the rUv. The "flo" is working until 3am. Underneath, powered byCognitum.Oneagentic architecture, running a supercharged Rust based AI engine, embeddings, memory, and plugin system.
One npx ruflo init gives Claude Code a nervous system: agents self-organize into swarms, learn from every task, remember across sessions, and — with federation — securely talk to agents on other machines without leaking data. You keep writing code. Ruflo handles the coordination.
Self-Learning / Self-Optimizing Agent Architecture
User --> Ruflo (CLI/MCP) --> Router --> Swarm --> Agents --> Memory --> LLM Providers
^ |
+---- Learning Loop <-------+
New to Ruflo? You don't need to learn 314 MCP tools or 26 CLI commands. After
init, just use Claude Code normally -- the hooks system automatically routes tasks, learns from successful patterns, and coordinates agents in the background.

There are two different install paths with very different surface areas. Pick based on what you need (#1744):
| Claude Code Plugin | CLI install (npx ruflo init) | |
|---|---|---|
| What it gives you | Slash commands + a few skills + agent definitions per-plugin | Full Ruflo loop — 98 agents, 60+ commands, 30 skills, MCP server, hooks, daemon |
| Files in your workspace | Zero | .claude/, .claude-flow/, CLAUDE.md, helpers, settings |
| MCP server registered | No (memory_store, swarm_init, etc. unavailable to Claude) | Yes |
| Hooks installed | No | Yes |
| Best for | Try a single plugin's commands without committing to the full install | Production use — everything works as documented |
# Add the marketplace
/plugin marketplace add ruvnet/ruflo
# Install core + any plugins you need
/plugin install ruflo-core@ruflo
/plugin install ruflo-swarm@ruflo
/plugin install ruflo-rag-memory@ruflo
/plugin install ruflo-neural-trader@ruflo
This adds slash commands and agent definitions only. The Ruflo MCP server is NOT registered, so memory_store, swarm_init, agent_spawn, etc. won't be callable from Claude. For the full loop, use Path B below.
| Plugin | What it does |
|---|---|
| ruflo-core | Foundation — server, health checks, plugin discovery |
| ruflo-swarm | Coordinate multiple agents as a team |
| ruflo-autopilot | Let agents run autonomously in a loop |
| ruflo-loop-workers | Schedule background tasks on a timer |
| ruflo-workflows | Reusable multi-step task templates |
| ruflo-federation | Agents on different machines collaborate securely |
| Plugin | What it does |
|---|---|
| ruflo-agentdb | Fast vector database for agent memory |
| ruflo-rag-memory | Smart retrieval — hybrid search, graph hops, diversity ranking |
| ruflo-rvf | Save and restore agent memory across sessions |
| ruflo-ruvector | ruvector — GPU-accelerated search, Graph RAG, 103 tools |
| ruflo-knowledge-graph | Build and traverse entity relationship maps |
| Plugin | What it does |
|---|---|
| ruflo-intelligence | Agents learn from past successes and get smarter |
| ruflo-graph-intelligence | Sublinear graph reasoning — PageRank, delta updates, complexity-aware execution (ADR-123) |
| ruflo-daa | Dynamic agent behavior and cognitive patterns |
| ruflo-ruvllm | Run local LLMs (Ollama, etc.) with smart routing |
| ruflo-goals | Break big goals into plans and track progress |
| Plugin | What it does |
|---|---|
| ruflo-testgen | Find missing tests and generate them automatically |
| ruflo-browser | Automate browser testing with Playwright |
| ruflo-jujutsu | Analyze git diffs, score risk, suggest reviewers |
| ruflo-docs | Generate and maintain documentation automatically |
| Plugin | What it does |
|---|---|
| ruflo-security-audit | Scan for vulnerabilities and CVEs |
| ruflo-aidefence | Block prompt injection, detect PII, safety scanning |
| Plugin | What it does |
|---|---|
| ruflo-adr | Track architecture decisions with a living record |
| ruflo-ddd | Scaffold domain-driven design — contexts, aggregates, events |
| ruflo-sparc | Guided 5-phase development methodology with quality gates |
| ruflo-metaharness | Grade your agent setup, scan tool configs for security risks, and track changes over time (guide) |
| Plugin | What it does |
|---|---|
| ruflo-migrations | Manage database schema changes safely |
| ruflo-observability | Structured logs, traces, and metrics in one place |
| ruflo-cost-tracker | Track token usage, set budgets, get cost alerts |
| Plugin | What it does |
|---|---|
| ruflo-agent | Run agents — local WASM sandbox (rvagent) + Anthropic Claude Managed Agents (cloud) |
| ruflo-plugin-creator | Scaffold, validate, and publish your own plugins |
| Plugin | What it does |
|---|---|
| ruflo-iot-cognitum | IoT device management — trust scoring, anomaly detection, fleets |
| ruflo-neural-trader | neural-trader — AI trading with 4 agents, backtesting, 112+ tools |
| ruflo-market-data | Ingest market data, vectorize OHLCV, detect patterns |
macOS / Linux / WSL / Git-Bash:
# One-line install (POSIX shells only — see Windows note below)
curl -fsSL https://cdn.jsdelivr.net/gh/ruvnet/ruflo@main/scripts/install.sh | bash
All platforms (including native Windows PowerShell / cmd):
# Interactive setup wizard — runs identically on every platform
npx ruflo@latest init wizard
# Quick non-interactive init
# npx ruflo@latest init
# Or install globally
npm install -g ruflo@latest
💡 Windows users: the
curl ... | bashform needs a POSIX shell (Git-Bash, WSL, MSYS). Thenpx ruflo@latest init wizardline works natively in PowerShell and cmd. If you hit an'bash' is not recognizederror, use thenpxline instead — both end up running the same init flow.
# Add Ruflo as an MCP server in Claude Code (canonical form, matches USERGUIDE.md)
claude mcp add ruflo -- npx ruflo@latest mcp start
| Capability | Description |
|---|---|
| 🤖 100+ Agents | Specialized agents for coding, testing, security, docs, architecture |
| 📡 Comms Layer | Zero-trust federation — agents across machines/orgs discover, authenticate, and exchange work securely |
| 🐝 Swarm Coordination | Hierarchical, mesh, and adaptive topologies with consensus |
| 🧠 Self-Learning | SONA neural patterns, ReasoningBank, trajectory learning |
| 💾 Vector Memory | HNSW-indexed AgentDB — measured ~1.9x faster at N=20k, ~3.2x–4.7x at N=5k vs brute force (recall@10 ~0.99); ANN wins above the crossover, ties/loses at small N. See audit + scripts/benchmark-intelligence.mjs |
| ⚡ Background Workers | 12 auto-triggered workers (audit, optimize, testgaps, etc.) |
| 🧩 Plugin Marketplace | 33 native Claude Code plugins + 21 npm plugins |
| 🔌 Multi-Provider | Claude, GPT, Gemini, Cohere, Ollama with smart routing |
| 🛡️ Security | AIDefence, input validation, CVE remediation, path traversal prevention |
| 🌐 Agent Federation | Cross-installation agent collaboration with zero-trust security |
| 🔬 MetaHarness | Audit your AI agent setup before you ship. Grade readiness (1-100), scan tool configs for security issues, snapshot the whole project to catch regressions over time, and find templates that match your repo. ruflo eject turns a ruflo project into a standalone agent toolkit with its own name. Full guide. |
| 💬 Web UI Beta | Multi-model chat at flo.ruv.io with parallel MCP tool calling and an in-browser WASM tool gallery |
| 🎯 RuFlo Research | GOAP A* planner at goal.ruv.io — plain-English goals → executable agent plans, with a live agent dashboard at /agents |
RuFlo's web UI is a multi-model AI chat with built-in Model Context Protocol (MCP) tool calling. Talk to Qwen, Claude, Gemini, or OpenAI while RuFlo invokes the same MCP tools the CLI uses — agent orchestration, persistent memory, swarm coordination, code review, GitHub ops — directly from chat. No install, no API key needed to try it.
| What it is | Why it matters | |
|---|---|---|
| 🧠 | Any model, local or remote | 6 curated frontier models out-of-the-box — Qwen 3.6 Max (default), Claude Sonnet 4.6, Claude Haiku 4.5, Gemini 2.5 Pro, Gemini 2.5 Flash, OpenAI — via OpenRouter. Add your own: any OpenAI-compatible endpoint (vLLM, Ollama, LM Studio, Together, Groq, self-hosted). |
| 🦾 | ruvLLM self-learning AI | Native support for ruvLLM (lives in ruvnet/RuVector/examples/ruvLLM) — RuFlo's self-improving local model layer. Routes to MicroLoRA adapters, learns from your trajectories via SONA, and stays on your machine. Pair with the cloud models or run fully offline. |
| 🛠️ | ~210 tools, ready to call | 5 server groups (Core, Intelligence, Agents, Memory, DevTools) plus an 18-tool gallery that runs entirely in your browser — works offline. |
| 🔌 | Bring your own MCP servers | Click the MCP (n) pill in the chat input → Add Server and paste any MCP endpoint (HTTP, SSE, or stdio). Your tools join RuFlo's native ones in the same parallel-execution flow. Run a local MCP server on localhost:3000 and it just works. |
| ⚡ | Tools run in parallel | One model response can fire 4–6+ tools at the same time. The UI shows them as cards with a Step 1 — 2 tools completed badge so you can see exactly what ran. |
| 💾 | Memory that sticks | Say "remember my favorite color is indigo" and ask weeks later — RuFlo recalls it. Backed by AgentDB + HNSW vector search (measured ~1.9x–4.7x faster than brute force above the crossover, recall@10 ~0.99). |
| 📘 | Built-in capabilities tour | Click the question-mark icon in the sidebar — a "RuFlo Capabilities" modal opens with the full tool list, model strengths, architecture, and keyboard shortcuts. |
| 🏠 | Self-hostable | Web UI is shipped as Docker (ruflo/src/ruvocal/Dockerfile) with embedded Mongo. Deploy to your own Cloud Run / Fly / Kubernetes / docker-compose. The hosted flo.ruv.io demo is one option; running your own is fully supported. |
| 🚀 | Zero install to try | Open the hosted URL, pick a model, type a question. That's the whole onboarding. |
Try the hosted demo: https://flo.ruv.io/ — no account, no API key. Run your own: the source lives in ruflo/src/ruvocal/ with a multi-stage Dockerfile (INCLUDE_DB=true builds in MongoDB) and a cloudbuild.yaml for Google Cloud Run. See ADR-033 for the architecture and issue #1689 for the roadmap.
Turn high-level goals into executable agent plans. goal.ruv.io is RuFlo's hosted Goal-Oriented Action Planning (GOAP) front-end — describe an outcome in plain English and watch RuFlo decompose it into preconditions, actions, and an A* path through state space, then dispatch the work to live agents at /agents.
| What it is | Why it matters | |
|---|---|---|
| 🎯 | Plain-English goals | Type "ship the auth refactor with tests and a PR" — RuFlo extracts the success criteria, the constraints, and the implicit preconditions. No JSON, no DSL. |
| 🧭 | GOAP A* planner | Classic gaming-AI planning ported to software work: state-space search through actions with preconditions/effects to find the shortest viable path. Replans on the fly when state changes. |
| 🤖 | Live agent dashboard | goal.ruv.io/agents shows every spawned agent — role, current step, memory namespace, token budget, status. Click in to inspect trajectories, kill runaway workers, or reassign. |
| 🌳 | Visual plan tree | Goals render as collapsible action trees with progress, blocked branches, and rollbacks highlighted. See exactly why an agent picked a path — no opaque chain-of-thought. |
| ♻️ | Adaptive replanning | When an action fails or new info arrives, the planner re-runs A* from the current state instead of restarting. Failures become learning, not loops. |
| 🧠 | Shared memory + SONA | Plans, trajectories, and outcomes flow into AgentDB. Future plans retrieve past solutions via HNSW — the planner gets smarter with every run. |
| 🔗 | Wired to MCP tools | Every action node maps to a tool call (RuFlo's ~210 MCP tools, your custom servers, or shell). The planner schedules them in parallel where the dependency graph allows. |
| 🚀 | Zero install to try | Open goal.ruv.io, describe a goal, watch it run. Source lives in v3/goal_ui/ — Vite + Supabase, self-hostable. |
Try it: https://goal.ruv.io/ for goals · https://goal.ruv.io/agents for live agents. Run your own: clone the goal branch and cd v3/goal_ui && npm install && npm run dev.
Your Agent --> [ Remove secrets ] --> [ Sign message ] --> [ Encrypted channel ]
Emails, SSNs, Proves it came No one reads it
keys stripped from you in transit
|
v
Their Agent <-- [ Block attacks ] <-- [ Check identity ] <------+
Stops prompt Rejects forgeries
injection
Audit trail on both sides.
Trust builds over time. Bad behavior = instant downgrade.
Slack gave teams channels. Federation gives agents the same thing — shared workspaces across trust boundaries, where agents on different machines, orgs, or cloud regions can discover each other, prove who they are, and collaborate on tasks.
The difference: some channels are trusted, some aren't. @claude-flow/plugin-agent-federation handles that automatically. Your agents join a federation, get verified via mTLS + ed25519, and start exchanging work — with PII stripped before anything leaves your node and every message auditable. Untrusted agents can still participate at lower privilege: they see discovery info, not your memory. As they prove reliable, trust upgrades. If they misbehave, they get downgraded instantly — no human in the loop required.
You don't configure handshakes or manage certificates. You federation init, federation join, and your agents start talking. The protocol handles identity, the PII pipeline handles data safety, and the audit trail handles compliance.
📘 Full user guide:
docs/federation/— setup, MCP tools, trust levels, circuit breaker, and the (opt-in) WireGuard mesh layer that ties packet-layer reachability to federation trust. ADR-111 deep-dive atdocs/federation/phase7-mesh-bringup.md.
| Capability | How it works | |
|---|---|---|
| 🔒 | Zero-trust federation | Remote agents start untrusted. Identity proven via mTLS + ed25519 challenge-response. No API keys, no shared secrets. |
| 🛡️ | PII-gated data flow | 14-type detection pipeline scans every outbound message. Per-trust-level policies: BLOCK, REDACT, HASH, or PASS. Adaptive calibration reduces false positives. |
| 📊 | Behavioral trust scoring | Formula (0.4×success + 0.2×uptime + 0.2×threat + 0.2×integrity) continuously evaluates peers. Upgrades require history; downgrades are instant. |
| 📋 | Compliance built-in | HIPAA, SOC2, GDPR audit trails as compliance modes. Every federation event produces a structured record searchable via HNSW. |
| 🤝 | 9 MCP tools + 10 CLI commands | Full lifecycle: federation_init, federation_send, federation_trust, federation_audit, and more. |
# Team A: initialize federation and generate keypair
npx claude-flow@latest federation init
# Team A: join Team B's federation endpoint
npx claude-flow@latest federation join wss://team-b.example.com:8443
# Team A: send a task — PII is stripped automatically before it leaves
npx claude-flow@latest federation send --to team-b --type task-request \
--message "Analyze transaction patterns for account anomalies"
# Team A: check peer trust levels and session health
npx claude-flow@latest federation status
See issue #1669 for the complete architecture, trust model, and implementation roadmap.
# Claude Code plugin
/plugin install ruflo-federation@ruflo
# Or via CLI
npx claude-flow@latest plugins install @claude-flow/plugin-agent-federation
| Capability | Claude Code Alone | + Ruflo |
|---|---|---|
| Agent Collaboration | Isolated, no shared context | Swarms with shared memory and consensus |
| Coordination | Manual orchestration | Queen-led hierarchy (Raft, Byzantine, Gossip) |
| Memory | Session-only | HNSW vector memory with sub-ms retrieval |
| Learning | Static behavior | SONA self-learning with pattern matching |
| Task Routing | You decide | Intelligent routing (89% accuracy) |
| Background Workers | None | 12 auto-triggered workers |
| LLM Providers | Anthropic only | 5 providers with failover |
| Security | Standard | CVE-hardened with AIDefence |
User --> Claude Code / CLI
|
v
Orchestration Layer
(MCP Server, Router, 27 Hooks)
|
v
Swarm Coordination
(Queen, Topology, Consensus)
|
v
100+ Specialized Agents
(coder, tester, reviewer, architect, security...)
|
v
Memory & Learning
(AgentDB, HNSW, SONA, ReasoningBank)
|
v
LLM Providers
(Claude, GPT, Gemini, Cohere, Ollama)
Four docs for four audiences:
| Doc | When to read it |
|---|---|
| Status | See what currently works — capability counts, test baselines, recent fixes, what's next. The is-it-ready doc. |
| User Guide | Daily reference — every command, every config flag, every plugin. The how-do-I doc. |
| MetaHarness Guide | How to grade your agent setup, scan tool configs for security, detect changes between runs, and eject a project into a standalone agent toolkit. The audit-my-setup doc. |
| Benchmarks | v3.8.0 SOTA matrix vs LangGraph / AutoGen / CrewAI on darwin-arm64 + linux-x64. ruflo wins cold start, single turn, RSS by 1.3×–1953×. The is-it-fast doc. |
| Verification | Cryptographically prove your installed bytes match the signed witness — ruflo verify. The trust-but-verify doc. |
| Team Gateway Checklist | Before-merge gates, dual-mode handoff, memory namespace sharing, and witness manifest entry per merge. The safer-team-workflows doc. |
Benchmark internals (for reproduction): sota-workload-spec.md · SOTA-PROGRESS.md · raw matrix JSON: darwin · linux
User Guide section index:
| Section | Topics |
|---|---|
| Quick Start | Installation, prerequisites, install profiles |
| Core Features | MCP tools, agents, memory, neural learning |
| Intelligence & Learning | Hooks, workers, SONA, model routing |
| Swarm & Coordination | Topologies, consensus, hive mind |
| Security | AIDefence, CVE remediation, validation |
| Ecosystem | RuVector, agentic-flow, Flow Nexus |
| Configuration | Environment variables, config schema |
| Plugin Marketplace | Browse and install plugins |
| Resource | Link |
|---|---|
| Documentation | User Guide |
| Issues & Bugs | GitHub Issues |
| Enterprise | ruv.io |
| Community | Agentics Foundation Discord |
| Powered by | Cognitum.one |
MIT - RuvNet
ANTHROPIC_API_KEYsecretAnthropic API key for Claude AI models
CLAUDE_FLOW_MODEOperation mode: development, production, or test
CLAUDE_FLOW_MEMORY_PATHPath for persistent memory storage
CLAUDE_FLOW_MAX_AGENTSMaximum number of concurrent agents
CLAUDE_FLOW_PORTMCP server port
GITHUB_TOKENsecretGitHub personal access token for repository operations
FLOW_NEXUS_API_KEYsecretFlow Nexus cloud platform API key