OpenManus
Type: full-code · Vendor: FoundationAgents (MetaGPT team) · Language: Python · License: MIT · Status: active · Status in practice: experimental
Provide an open, no-invite-code clone of the Manus general AI agent that combines a ReAct tool-calling loop with browser-use, code execution, and MCP tools.
Description. OpenManus is FoundationAgents' (the MetaGPT team's) open-source clone of the Manus general AI agent. The architecture is a class hierarchy of agents: a base ReActAgent defines the think/act loop, ToolCallAgent layers tool dispatch with a default max_steps budget of 30, and the headline Manus agent is a versatile general-purpose agent with PythonExecute, BrowserUseTool, StrReplaceEditor, AskHuman, and Terminate tools plus support for remote MCP tools over SSE and stdio. The project explicitly credits anthropic-computer-use, browser-use, and crawl4ai for foundational support.
Agent loop shape. ReAct think/act loop. The base ReActAgent defines an async step() that calls think() (decide whether to act) then act() (execute the decided action). ToolCallAgent fills in the loop with a ToolCollection and a max_steps cap (default 30); Manus narrows max_steps to 20 and wires in PythonExecute, BrowserUseTool, StrReplaceEditor, AskHuman, Terminate, plus dynamically discovered MCP tools.
Primary use cases
- general-purpose tool-using agent without an invite code
- browser automation via browser-use
- code execution and data analysis (DataAnalysis Agent)
- MCP-connected agent with remote tool servers
Key concepts
- ReActAgent → react (docs) — Abstract base class defining the async think → act loop.
- ToolCallAgent → tool-use (docs) — Concrete ReAct agent layering tool dispatch with a ToolCollection and a default max_steps of 30.
- Manus agent (docs) — Versatile general-purpose agent wiring PythonExecute, BrowserUseTool, StrReplaceEditor, AskHuman, Terminate and MCP tools; max_steps=20.
- MCP clients (SSE + stdio) → mcp (docs) — Manus connects to remote MCP servers over both SSE and stdio and dynamically adds discovered tools.
- max_steps budget → step-budget (docs) — Each agent enforces a hard step budget; default 30 in ToolCallAgent, 20 in Manus.
- DataAnalysis Agent (docs) — Multi-agent flow alternative tailored for data analysis and visualisation tasks.
Patterns this full-code implements —
- ★★ReAct
ReActAgent base class defines the async step() = think() then act() pattern that all OpenManus agents inherit.
- ★★Tool Use
ToolCallAgent layers a ToolCollection over the ReAct loop; Manus wires in PythonExecute, BrowserUseTool, StrReplaceEditor, AskHuman, Terminate plus MCP tools.
- ★★Step Budget
ToolCallAgent.max_steps defaults to 30; Manus tightens it to 20; Terminate is a special tool that ends the loop.
- ★★Model Context Protocol
Manus connects to MCP servers over both SSE and stdio and dynamically adds the discovered tools to its ToolCollection.
- ★Browser Agent
BrowserUseTool integrates the browser-use library (acknowledged in README) so Manus can drive a browser as one of its tools.
- ★★Code Execution
PythonExecute is one of Manus's headline tools; the DataAnalysis Agent is dedicated to executable code analysis.
- ★★Human-in-the-Loop
AskHuman is one of Manus's built-in tools, providing an explicit ask-the-user step inside the loop; its self-described purpose is to ask a human for help.
- ★Computer Use
OpenManus credits Anthropic's computer-use demo as foundational support; full computer-use is delivered via the BrowserUseTool path rather than a separate desktop-control surface. The Manus agent des…
- ★★Supervisor
PlanningFlow is a BaseFlow that supervises a plan: it creates an actionable plan with the PlanningTool, then assigns each step to an executor agent; FlowFactory currently only ships the PLANNING flow…
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.