Dev & Engineering natural-language-programmingcode-generationdata-interpreterrequirements-analysisapi-design

MetaGPT

Turns a one-line software requirement into a coordinated, role-based development workflow.

FollowAgents review · FARS-2.1
Not recommended
41/ 100 5-point scale 2.1 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust7 / 29 · 1.2/5

Evidence shows: README requires users to configure API keys but does not mention least privilege; test config contains mock keys but not production handling; dependency list includes many packages but no security audit; external network calls (e.g., search, API) exist but no user confirmation mechanism; no rollback mechanism; source attribution via README authors and contact. Deductions: lack of user confirmation, data flow transparency, and rollback.

2Reliability6 / 14 · 2.1/5

Evidence shows: README and test config are consistent, but dependency versions are pinned, potentially affecting availability; failure messages not clearly documented. Deductions: dependency availability not fully ensured, failure messages unclear.

3Adaptability9 / 18 · 2.5/5

Evidence shows: README provides multiple usage scenarios (CLI, library, Data Interpreter), but capability boundaries not explicit; trigger precision not detailed; environment requirements (Python version, Node, pnpm) listed. Deductions: capability boundaries and trigger precision insufficient.

4Convention9 / 18 · 2.5/5

Evidence shows: README structure clear, installation instructions detailed, examples and FAQ links present, but known limitations not explicit; version changelog not provided; maintenance responsibility via contact email and Discord. Deductions: known limitations and version changelog missing.

5Effectiveness7 / 13 · 2.7/5

Evidence shows: Output is a code repository, high usability; marginal value clear (multi-agent framework); cost-benefit not detailed. Deductions: cost-benefit analysis insufficient.

6Verifiability3 / 8 · 1.9/5

Evidence shows: README claims partially backed by paper citations, but no specific evidence; cross-source verification insufficient; facts and inferences not clearly separated. Deductions: claim traceability insufficient, facts and inferences mixed.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 11cdf466d042
Safety controls not found in source: confirmation before acting, rollback or recovery path
Before you use it
  • Pinned dependency versions may affect security updates and compatibility.
  • Test config contains mock keys, but production key management not described.
  • External network calls (e.g., search, API) may involve data exfiltration, requiring user confirmation.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

What does this agent do, and when should you use it?

MetaGPT is a multi-agent framework for software development that assigns a requirement to roles including product managers, architects, project managers, and engineers. Its stated philosophy, “Code = SOP(Team),” applies standard operating procedures to teams composed of LLMs. It can produce user stories, competitive analysis, requirements, data structures, APIs, and documents, and its CLI creates a repository in `./workspace`. It also exposes Python library entry points, including `generate_repo` and `ProjectRepo`. The repository includes a `DataInterpreter` role that can be invoked asynchronously for data-analysis tasks with plots.

A user can submit a natural-language requirement with metagpt "Create a 2048 game"; MetaGPT processes it through its software-company roles and SOPs, then creates a repository in ./workspace. In Python, callers can use metagpt.software_company.generate_repo("Create a 2048 game") to obtain a ProjectRepo and print its project structure. Before execution, metagpt --init-config creates ~/.metagpt/config2.yaml, where llm.api_type, model, base_url, and api_key are configured. For data work, callers instantiate metagpt.roles.di.data_interpreter.DataInterpreter and run a request through await di.run(...).

  1. A solo developer with only a prompt such as “Create a 2048 game” who wants a project repository created in a local workspace.
  2. A product lead who needs a short requirement expanded into user stories, requirements, data structures, APIs, and documentation.
  3. A team evaluating a software-development SOP carried out by distinct product-manager, architect, project-manager, and engineer roles.
  4. A Python developer who wants to call generate_repo from an application and inspect the resulting structure through ProjectRepo.
  5. A data analyst who wants to use DataInterpreter to analyze the sklearn Iris dataset and request a plot.

What are this agent's strengths and limitations?

Pros
  • Orchestrates named software-company roles—product manager, architect, project manager, and engineer—rather than exposing only a single generation call.
  • A single natural-language requirement can target multiple software artifacts, including user stories, competitive analysis, requirements, data structures, APIs, documents, and a project repository.
  • Provides a metagpt CLI, Python interfaces through generate_repo and ProjectRepo, and a DataInterpreter example.
  • Its configuration example explicitly supports OpenAI and lists Azure, Ollama, and Groq as additional api_type options.
Limitations
  • The supported Python range is limited to 3.9 through below 3.12, and actual use also requires Node.js and pnpm.
  • It requires configuration of a model service’s api_key, model, and endpoint; the README provides no model-usage cost estimate.
  • The default CLI flow creates a project repository in ./workspace and creates or reads ~/.metagpt/config2.yaml in the user’s home directory.
  • The software-company diagram is labeled “Gradually Implementing,” and the supplied material does not itemize the implementation completeness of every role workflow.

How do you install or deploy this agent?

Use Python 3.9 or later but below 3.12, and install Node.js and pnpm before actual use.

Install:

pip install --upgrade metagpt

Initialize configuration:

metagpt --init-config

Edit ~/.metagpt/config2.yaml with at least:

llm.api_type: "openai"
llm.model: "gpt-4-turbo"
llm.base_url: "https://api.openai.com/v1"
llm.api_key: "YOUR_API_KEY"

The README also lists Azure, Ollama, and Groq among the available api_type options.

How do you use this agent?

After configuration, run:

metagpt "Create a 2048 game"

This creates a repository in ./workspace. For library use:

from metagpt.software_company import generate_repo
repo = generate_repo("Create a 2048 game")
print(repo)

For data analysis, create DataInterpreter() and call await di.run("Run data analysis on sklearn Iris dataset, include a plot") inside an asynchronous function.

FAQ

What model credentials are required?
The configuration example uses the OpenAI API and requires api_key, model, and base_url in ~/.metagpt/config2.yaml. The README also lists Azure, Ollama, and Groq as api_type options.
Where does it write files locally?
metagpt --init-config creates ~/.metagpt/config2.yaml, and the example CLI command creates a project repository in ./workspace.
Can it be embedded in an existing Python application?
Yes. The README shows library usage through generate_repo and ProjectRepo, plus asynchronous calls to DataInterpreter.run.
Why are Node.js and pnpm needed after installation?
The README explicitly requires Node.js and pnpm before actual use, but the supplied material does not specify which individual steps use them.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents