Ruflo
Agent swarms with shared vector memory and task routing for Claude Code and other MCP clients
Agent runner, ReasoningBank pattern memory, local code edits and graph solvers for coding assistants over MCP.
By rUv (individual) TypeScript Local · stdio AI and MLDeveloper tools
83 popularity score ★ 838 ↓ 152k/wk
Opens the app, which asks before it adds the server.
claude mcp add agentic-flow -- npx -y agentic-flow mcp start{
"mcpServers": {
"agentic-flow": {
"command": "npx",
"args": [
"-y",
"agentic-flow",
"mcp",
"start"
]
}
}
}{
"mcpServers": {
"agentic-flow": {
"command": "npx",
"args": [
"-y",
"agentic-flow",
"mcp",
"start"
]
}
}
}{
"servers": {
"agentic-flow": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agentic-flow",
"mcp",
"start"
]
}
}
}[mcp_servers.agentic-flow]
command = "npx"
args = ["-y", "agentic-flow", "mcp", "start"]gemini mcp add --scope user agentic-flow npx -- -y agentic-flow mcp startAGENTIC_FLOW_MCP_PROFILE |
Optional: Which tools get registered: readonly, retrieval, learning or admin. |
|---|---|
AGENTIC_FLOW_MCP_ENABLE_DARWIN |
Optional: Set to true with the admin profile to register harness_repair. |
ANTHROPIC_API_KEY secret |
Optional: Key for the default Anthropic provider when running agents. |
OPENROUTER_API_KEY secret |
Optional: Key for the openrouter provider. |
GOOGLE_GEMINI_API_KEY secret |
Optional: Key for the gemini provider. |
AGENTIC_FLOW_PROMPT_INJECTION |
Optional: Prompt-injection policy (block, strict or warn) that prompt_injection_scan uses unless given one. |
Agentic Flow is a Node.js toolkit for running specialised coding agents with learned routing and a memory of past results (ReasoningBank on AgentDB). Running npx agentic-flow mcp start launches its stdio MCP server.
The README advertises 213 MCP tools, but the server that command starts (dist/mcp/standalone-stdio.js) registers 24. They cover listing, inspecting and creating agent definitions, running one agent on a task, picking a model for a task, storing and searching reasoning patterns, applying code edits with the local Agent Booster engine, building and checking signed manifests of harness files, a Darwin repair loop over a repository, and a few pure computations: splitting a task graph between two teams, linear solves, PageRank and a prompt-injection scan. The swarm, neural and GitHub tools the README names as examples are not among them.
What a client actually sees depends on AGENTIC_FLOW_MCP_PROFILE. Left unset it is readonly, and only the 15 tools that list, inspect, search or compute get registered. retrieval adds nothing beyond those at present, learning adds agentic_flow_agent and agentdb_pattern_store, and admin registers the rest. harness_repair also needs AGENTIC_FLOW_MCP_ENABLE_DARWIN=true.
Running an agent spawns npx --yes agentic-flow with your provider key. Anthropic is the default provider, with OpenRouter, Gemini and local ONNX as options.
| Runtime | Node.js 20+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| Anthropic | Paid planOnly for agentic_flow_agent with the default provider. OpenRouter or Gemini keys work instead, and the onnx provider needs no key. |
The default readonly profile needs no key. To run agents, set AGENTIC_FLOW_MCP_PROFILE to learning or admin and give ANTHROPIC_API_KEY (or OPENROUTER_API_KEY or GOOGLE_GEMINI_API_KEY with the matching provider). The package manifest asks for Node 20 or newer, although the README badge says 18.
Suits someone already using Agentic Flow agents in Claude Code who wants an assistant to list and inspect them, query the ReasoningBank memory or run graph and solver helpers. The default readonly profile changes nothing on disk. Opening up agent runs and file edits is a deliberate step through AGENTIC_FLOW_MCP_PROFILE. Anyone expecting the swarm and GitHub tools the README advertises will not find them in this server, and it is a community project, not one published by a model provider.
17 only read, 7 change things. A ? marks an optional parameter.
agentic_flow_agent changesagent: stringtask: stringmodel?: stringprovider?: enumanthropicApiKey?: stringopenrouterApiKey?: stringstream?: booleantemperature?: numbermaxTokens?: numberagentsDir?: stringoutputFormat?: enumverbose?: booleantimeout?: numberretryOnError?: booleanagentic_flow_list_agentsagentic_flow_create_agent changesname: stringdescription: stringsystemPrompt: stringcategory?: stringtools?: arrayagentic_flow_list_all_agentsformat?: enumfilterSource?: enumagentic_flow_agent_infoname: stringagentic_flow_check_conflictsagentic_flow_optimize_modelagent: stringtask: stringpriority?: enummax_cost?: numberagent_booster_edit_file changestarget_filepath: stringinstructions: stringcode_edit: stringlanguage?: stringagent_booster_batch_edit changesedits: arrayagent_booster_parse_markdown changesmarkdown: stringagentdb_statsagentdb_pattern_store changessessionId: stringtask: stringreward: numbersuccess: booleancritique?: stringinput?: stringoutput?: stringlatencyMs?: numbertokensUsed?: numberagentdb_pattern_searchtask: stringk?: numberminReward?: numberonlySuccesses?: booleanonlyFailures?: booleanagentdb_pattern_statstask: stringk?: numberagentdb_clear_cacheconfirm?: booleanharness_repair changesrepoRoot: stringgenerations?: integerchildren?: integerseed?: integersandboxMode?: enumharness_manifestfiles: arraycreatedAt?: stringharness_verifysigned: objectharness_capabilitiesecosystem_statusswarm_partition_taskstasks: arraydependencies: arraysublinear_solvematrix: anyvector: arraytolerance?: numbermaxIterations?: integermethod?: enumsublinear_pagerankedges: arraynodes?: arraydamping?: numbertop?: integerseeds?: anyapproximate?: booleanepsilon?: numberprompt_injection_scantext: stringpolicy?: enum