MCP Hub
Back to servers

MCP Agent & Server Ecosystem

An autonomous agent ecosystem that leverages Groq for high-performance reasoning and Playwright for web automation via the Model Context Protocol. It features an interactive CLI and a custom server providing a run_task tool for orchestrating multi-server workflows.

glama
Updated
Mar 22, 2026

🚀 MCP Agent & Server Ecosystem

A state-of-the-art demonstration of the Model Context Protocol (MCP), featuring autonomous agents, browser automation, and multi-server orchestration. This ecosystem leverage's Groq's high-performance inference to provide a seamless agentic experience.


🏗️ Architecture Overview

The system operates in two distinct modes. Below are the precise technical architectures for both the interactive CLI and the standalone MCP Server mode.

🎯 1. MCP Architecture - Direct CLI Mode (app.py)

In this mode, the user interacts directly with the terminal-based agent which handles reasoning and tool execution in a single host process.

graph TD
    %% Color Definitions
    classDef blue fill:#3498db,stroke:#333,stroke-width:2px,color:#fff
    classDef lightblue fill:#87ceeb,stroke:#333,stroke-width:2px,color:#000
    classDef purple fill:#9b59b6,stroke:#333,stroke-width:2px,color:#fff
    classDef yellow fill:#f1c40f,stroke:#333,stroke-width:2px,color:#000
    classDef orange fill:#e67e22,stroke:#333,stroke-width:2px,color:#fff
    classDef red fill:#e74c3c,stroke:#333,stroke-width:2px,color:#fff
    classDef green fill:#2ecc71,stroke:#333,stroke-width:2px,color:#fff

    User["👤 User"]:::blue
    App["🖥️ app.py (CLI Interface)"]:::lightblue
    
    subgraph Host ["🟦 MCP Host (Application Space)"]
        direction TB
        subgraph AgentBox ["🟪 MCPAgent (Decision Maker)"]
            Agent["🤖 MCPAgent<br/>(Decision Maker: LLM + Planning)"]:::purple
            LLM["🧠 LLM (Groq - Llama 3.3)<br/>(Reasoning / Decision Making)"]:::purple
            Client["🔌 MCPClient<br/>(Tool Execution Layer / Connector)"]:::yellow
            Agent --- LLM
            Agent --- Client
        end
    end

    Config["📄 browser_mcp.json (Registry)"]:::orange
    
    subgraph ServersBox ["🟥 MCP Servers (Tool Providers)"]
        PW["🌐 Playwright MCP Server"]:::red
        AB["🏠 Airbnb MCP Server"]:::red
        DDG["🔍 DuckDuckGo MCP Server"]:::red
    end

    subgraph ToolsBox ["🟩 Tools Layer"]
        Tools["browser_navigate<br/>browser_click<br/>duckduckgo_search<br/>airbnb_search"]:::green
    end

    %% Logical Connections
    User --> App
    App --> Agent
    Client -->|reads config| Config
    Client --> PW
    Client --> AB
    Client --> DDG
    PW --> Tools
    AB --> Tools
    DDG --> Tools

🎯 2. MCP Architecture - Server Mode (server.py)

In this mode, the project acts as an MCP server itself, exposing its capabilities to external clients like VS Code Copilot.

graph TD
    %% Color Definitions
    classDef blue fill:#3498db,stroke:#333,stroke-width:2px,color:#fff
    classDef lightblue fill:#87ceeb,stroke:#333,stroke-width:2px,color:#000
    classDef purple fill:#9b59b6,stroke:#333,stroke-width:2px,color:#fff
    classDef yellow fill:#f1c40f,stroke:#333,stroke-width:2px,color:#000
    classDef orange fill:#e67e22,stroke:#333,stroke-width:2px,color:#fff
    classDef red fill:#e74c3c,stroke:#333,stroke-width:2px,color:#fff
    classDef green fill:#2ecc71,stroke:#333,stroke-width:2px,color:#fff

    Ext["🌐 External Client<br/>(Caller of MCP Server)"]:::blue
    
    subgraph ServerHost ["🟦 MCP Host (server.py)"]
        Server["⚙️ server.py (FastMCP Server)"]:::lightblue
        Task["🛠️ run_task(query)"]:::lightblue
        
        subgraph AgentBoxServer ["🟪 MCPAgent"]
            AgentS["🤖 MCPAgent<br/>(Decision Maker)"]:::purple
            LLMS["🧠 Groq LLM"]:::purple
            ClientS["🔌 MCPClient<br/>(Tool Connector)"]:::yellow
            AgentS --- LLMS
            AgentS --- ClientS
        end
    end

    ConfigS["📄 browser_mcp.json"]:::orange
    
    subgraph ServersBoxServer ["🟥 MCP Servers (Tool Providers)"]
        PWS["🌐 Playwright"]:::red
        ABS["🏠 Airbnb"]:::red
    end

    subgraph ToolsBoxServer ["🟩 Tools"]
        TS["browser, search, etc."]:::green
    end

    %% Logical Connections
    Ext -->|Calls run_task| Server
    Server --> Task
    Task --> AgentS
    ClientS -->|reads config| ConfigS
    ClientS --> PWS
    ClientS --> ABS
    PWS --> TS
    ABS --> TS

✨ Key Features

  • ⚡ High-Performance Inference: Powered by Groq's llama-3.3-70b-versatile for near-instantaneous reasoning.
  • 🌐 Autonomous Browser Control: Deep integration with Playwright for navigating and interacting with the web.
  • 🔌 Flexible Server Protocol: Connects to any standard MCP server for extensible tool capabilities.
  • 📂 State-Aware Memory: (In app.py) Maintains conversation state to handle complex, iterative requests.
  • 🛠️ Custom Server Extension: Includes its own FastMCP server for wrapping agentic workflows as reusable tools.

📂 Project Structure

ComponentResponsibility
app.pyThe flagship CLI chat interface and agent controller.
server.pyA FastMCP server implementation providing the run_task tool.
browser_mcp.jsonThe core registry for all connected MCP services.
pyproject.tomlProject dependencies managed via Python's uv tool.
.envSecure storage for sensitive API keys.

🛠️ Getting Started

1. Environment Setup

Ensure you have uv installed and a valid Groq API key.

# Clone the environment variables
echo "GROQ_API_KEY=your_key_here" > .env

2. Launch the Ecosystem

You can interact with the agent directly or run the custom server.

Start the Interactive Agent:

python app.py

Expose the Custom MCP Server:

python server.py

📖 Implementation Notes

The ecosystem is built on the mcp_use library, bridging LangChain components with the Model Context Protocol. The MCPAgent is configured with safety rails like max_steps to prevent infinite loops during autonomous execution.


🔥 MCP enables a single agent to interact with multiple tool providers via standardized servers.


Note: The previous mcp.json was detected as missing or redundant; all core configuration is now consolidated in browser_mcp.json.


Made with ❤️ for the MCP Community

Reviews

No reviews yet

Sign in to write a review