Back to MCP directory
publicPublicdnsLocal runtime

AWorld

AWorld 是一个旨在推动智能体人工智能发展的开源框架,其核心功能包括提供高效的前向流程和促进多样化的反向流程,如基础模型训练和系统设计元学习。AWorld 支持多种模型服务和工具,封装了智能体之间的协议,并提供了状态管理和分布式高并发环境支持。此外,AWorld 集成了丰富的 MCP 服务器作为智能体工具,支持浏览器、Android 设备模拟、shell 命令等多种环境工具。AWorld 还提供了统一的智能体评估和训练平台,支持自定义和公共基准测试,并具备详细的测试报告功能。通过其客户端-服务器架构,AWorld 提高了系统的可扩展性和灵活性,适用于构建和优化多智能体系统。

article

README

AWorld: Advancing Agentic AI

Twitter Follow WeChat QR Code Discord License: MIT DeepWiki

News

  • 🦩 [2025/06/19] We have updated our score to 72.43 on the GAIA test. Additionally, we have introduced a new local running mode. See ./README-local.md for detailed instructions.
  • 🐳 [2025/05/22] For quick GAIA evaluation, MCP tools, AWorld, and models are now available in a single Docker image. See ./README-docker.md for instructions and youtube video for demo.
  • 🥳 [2025/05/13] AWorld has updated its state management for browser use and enhanced the video processing MCP server, achieving a score of 77.58 on GAIA validation (Pass@1 = 61.8) and maintaining its position as the top-ranked open-source framework. Learn more: GAIA leaderboard
  • ✨ [2025/04/23] AWorld ranks 3rd on GAIA benchmark (69.7 avg) with impressive Pass@1 = 58.8, 1st among open-source frameworks. Reproduce with python examples/gaia/run.py

Introduction

For self-improving, AWorld (Agent World) is designed to achieve two primary objectives: (1) provide the effiecent forward process, and (2) facilitate diverse backward processes, including but not limit foundation model training and system design meta-learning.

Forward process

| 1. Agent Construction | 2. Topology Orchestration | 3. Environments | |-------------------|------------------------|--------------| | • ✅ Support different model services
• ✅ Support MCP tools
• ✅ Support custom tools | • ✅ Encapsulate protocol between models and tools
• ✅ Encapsulate protocol among agents | • ✅ Encapsulate runtime state management
• ✅ Support state tracing
• ✅ Support distributed high-concurrency envs |

Follow the instructions in ./README-local.md to run a forward process on the GAIA benchmark. Watch the demo on Youtube

Incubated backward methods

| Method Category | Description | Key Information | |----------------|-------------|--------------| | Foundation Model Training | Improving Function call ability of large language models | Dataset
Model
Paper
Blog
Code|

Want to build your own multi-agent system? Check out the detailed tutorials below to get started! ⬇️⬇️⬇️

Installation

Python>=3.11:

git clone https://github.com/inclusionAI/AWorld
cd AWorld
python setup.py install

Usage

Here’s a quick start guide to: (1) create your first agent; (2) equip it with a MCP tool; (3) assign a teammate; and (4) answer a user query through teamwork.

from aworld.config.conf import AgentConfig
from aworld.agents.llm_agent import Agent
from aworld.runner import Runners
from aworld.core.agent.swarm import Swarm

if __name__ == '__main__':
    agent_config = AgentConfig(
        llm_provider="openai",
        llm_model_name="gpt-4o",

        # Set via environment variable or direct configuration
        # llm_api_key="YOUR_API_KEY", 
        # llm_base_url="https://api.openai.com/v1"
    )

    # Register the MCP tool here, or create a separate configuration file.
    mcp_config = {
        "mcpServers": {
            "amap-amap-sse": {
                "type": "sse",
                "url": "https://mcp.amap.com/sse?key=YOUR_API_KEY",
                "timeout": 5,
                "sse_read_timeout": 300
            }
        }
    }

    # Create your first agent equipped with an MCP tool
    search = Agent(
        conf=agent_config,
        name="search_agent",
        system_prompt="You are a helpful agent.",
        mcp_servers=["amap-amap-sse"], # MCP server name for agent to use
        mcp_config=mcp_config
    )

    # Add a new teammate to the agent
    summary = Agent(
        conf=agent_config,
        name="summary_agent",
        system_prompt="You are a helpful summary agent."
    )

    # Collaborate as a team; the default is a static workflow
    swarm = Swarm(search, summary)

    # Run agent team
    res = Runners.sync_run(input="Hotels within 1 kilometer of West Lake in Hangzhou",
                     swarm=swarm)
    print(res)

Demo

Running Pre-defined Agents (e.g., see demo code). Below are demonstration videos showcasing AWorld's capabilities across various agent configurations and environments.

ModeTypeDemo
Single AgentBrowser use AWorld Browser Demo on YouTube

▶️ Watch Browser Demo on YouTube

Phone use AWorld Mobile Demo on YouTube

▶️ Watch Mobile Demo on YouTube

Multi AgentCooperative Teams AWorld Travel Demo on YouTube

▶️ Watch Travel Demo on YouTube

Competitive Teams AWorld Debate Demo on YouTube

▶️ Watch Debate Arena on YouTube

Mixed of both TeamsComing Soon 🚀

Contributing

We warmly welcome developers to join us in building and improving AWorld! Whether you're interested in enhancing the framework, fixing bugs, or adding new features, your contributions are valuable to us.

For academic citations or wish to contact us, please use the following BibTeX entry:

@software{aworld2025,
  author = {Agent Team at InclusionAI},
  title = {AWorld: A Framework for Agent Learning of Complex Tasks via Action-Observation-Reward Experience},
  year = {2025},
  url = {https://github.com/inclusionAI/AWorld},
  version = {0.1.0},
  publisher = {GitHub},
  email = {chenyi.zcy at antgroup.com}
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

Star History

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client