๐ค MCP Server Examples with AutoGen
SaM-92/mcp_autogen_sse_stdio ยท 29 stars ยท Python
MCP server This repository demonstrates how to use AutoGen to integrate local and remote MCP (Model Context Protocol) servers. It showcases a local math tool (math_server.py) using Stdio and a remote Apify tool (RAG Web Browser Actor) via SSE for tasks like arithmetic and web browsing.
Install
The repo has no one-line install. Follow its README.
Files
๐ค MCP Server Examples with AutoGen
This repository provides a practical demonstration of integrating tools with AI agents using the Model Context Protocol (MCP) within the AutoGen framework.
Key Features Demonstrated:
- Dual MCP Integration: Shows how to connect an AutoGen agent to:
- A local tool server (
math_server.py) using Stdio transport. - A remote tool server (Apify's RAG Web Browser Actor) using Server-Sent Events (SSE) transport.
- A local tool server (
- Local Tool Example: A simple calculator (
add,multiply) running locally viamath_server.py. - Remote Tool Example: Leveraging Apify's RAG Web Browser Actor via their MCP Server for web searching and content retrieval.
- AutoGen Agent: An
AssistantAgentconfigured to utilize both sets of tools to answer user queries.
Goal: To illustrate the flexibility of MCP in enabling AI agents to access diverse tools, whether hosted locally or remotely, through standardized communication protocols (Stdio and SSE).
Scenario: The example agent answers two distinct questions:
- A math problem (
(3 + 5) x 12?), expected to use the localmath_server.py. - A request for recent news ("Summarise the latest news of Iran and US negotiations..."), expected to use the remote Apify web browsing tool.
๐ Libraries & Frameworks Used
- AutoGen: AI agent framework (autogen_agentchat, autogen_core, autogen_ext)
- MCP: Model Context Protocol for tool integration
- Python-dotenv: For environment variable management
- OpenAI API: For LLM capabilities
- Apify API: For web browsing capabilities
๐ ๏ธ Setup
Follow these steps carefully to set up your environment:
-
Prerequisites:
- Ensure you have Python 3.12 installed.
- Install
uvif not already installed:pip install uv
-
Navigate to Project Directory:
cd mcp_autogen_sse_stdio
-
Create and Activate Virtual Environment:
# Create virtual environment using uv uv venv --python 3.12 # Activate the virtual environment source .venv/bin/activate # On macOS/Linux # OR .\.venv\Scripts\activate # On Windows
-
Install Dependencies:
# Install project dependencies uv pip install -e .
Troubleshooting Note: If you encounter any issues with the MCP CLI installation, you can manually install it:
uv add "mcp[cli]"
-
Configure Environment Variables:
- Create a
.envfile in themcp_autogen_sse_stdiodirectory. - Add your API keys:
OPENAI_API_KEY=your_openai_api_key_here APIFY_API_KEY=your_apify_api_key_here
- Get your Apify API key from Apify MCP Server page
- Create a
๐ Running the Project
-
Make sure you're in the parent directory (one level up from the project directory):
cd ..
-
Run the main script using
uv:uv run mcp_autogen_sse_stdio/main.py
This will run the demo that:
- Summarizes news about Iran-US negotiations using the Apify tool
- Solves a simple math problem:
(3 + 5) x 12using the local math tool
๐ Understanding MCP (Model Context Protocol)
MCP is a protocol that standardizes communication between AI models and tools. This example demonstrates two ways to use MCP:
1. Local Tools (StdioServerParams)
- Uses standard input/output for communication
- Tools run locally on your machine
- Example: Our
math_server.pyprovides simple math operations
2. Remote Tools (SseServerParams)
- Uses Server-Sent Events (SSE) for communication
- Tools run on remote servers (like Apify)
- Example: Web browsing capabilities via Apify's rag-web-browser
๐ Code Walkthrough
Our main.py demonstrates:
-
Environment Setup:
- Loads API keys and validates them
-
Tool Configuration:
- Sets up local math tools using StdioServerParams
- Connects to Apify's web browser using SseServerParams (API from https://apify.com/apify/actors-mcp-server)
-
Agent Creation:
- Creates an AutoGen assistant with both tool sets
- Uses GPT-4 as the base model
-
Task Execution:
- Runs two demo tasks showing both tools in action
- Web browsing for news summarization
- Math calculations for arithmetic problem
๐ Communication Flow
User โ AutoGen Agent โ MCP Tools โ Results โ User
This example shows how easily different tool types can be integrated into one agent using MCP!
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 29
- Language
- Python
- Last push
- 2025-04-13
- Forks
- 8
- Topics
- ai, autogen, azure, data-science, llm, mcp-server, model-context-protocol, model-context-protocol-servers
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling๐ท๏ธ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
