About Agent
Agent is an MCP server published by Haohao-end in the AI category: a modular Python framework implementing the Model Context Protocol (MCP). It features a standardized client-server architecture over StdIO, integrating LLMs with external tools, real-time weather data fetching, and an advanced RAG (Retrieval-Augmented Generation) system.
The repository has 74 stars and 16 forks, with the last commit 3 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/Haohao-end/mcp-agentThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Agent
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 10 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
MCP Agent Orchestrator
The MCP Agent Orchestrator is a professional-grade Python implementation of the Model Context Protocol (MCP). It provides a structured environment for Large Language Models (LLMs) to interact with external tools and knowledge bases through a standardized communication layer. The project utilizes FastMCP for server-side tool definitions and an asynchronous client-side bridge to OpenAI-compatible interfaces.
System Architecture
The project follows a decoupled client-server architecture:
- MCP Client: Acts as the orchestrator. It manages the lifecycle of the MCP server, performs tool discovery, handles LLM completions, and executes tool calls returned by the model.
- MCP Servers: Independent services (Weather, RAG) that expose specific functions to the client via the Model Context Protocol.
- Transport Layer: Uses Standard Input/Output (StdIO) for high-performance, local inter-process communication.
Core Components
1. Intelligent Client Bridge
The client implementation (rag_agent.py, client.py) facilitates:
- Asynchronous lifecycle management using
AsyncExitStack. - Automatic tool schema conversion for OpenAI-compatible function calling.
- Persistent conversation state and multi-turn reasoning loops.
2. Weather Service Server
The weather server (server.py) demonstrates real-time API integration:
- Integration with external REST APIs (WeatherAPI).
- Data normalization and formatting for LLM consumption.
- Asynchronous request handling using
httpx.
3. RAG Knowledge Server
The RAG server (rag_server.py) provides advanced document intelligence:
- Data Ingestion: Support for PDF and TXT formats using
LangChain. - Vector Database: Persistent storage via
ChromaDB. - Search Optimization: Implements Maximal Marginal Relevance (MMR) for diverse information retrieval.
- Embeddings: Integration with HuggingFace transformer models.
Project Structure
├── client.py # Standard MCP client implementation
├── rag_agent.py # Specialized agent for RAG operations
├── server.py # Weather service MCP server
├── rag_server.py # RAG knowledge base MCP server
├── test.py # Connectivity test for LLM API
├── .env # Environment configuration
└── data/
├── rag_db/ # Vector store persistence directory
└── text.txt # Sample knowledge base source
Technical Stack
- Protocol: Model Context Protocol (MCP)
- LLM Interface: OpenAI SDK (Compatible with Qwen/DashScope)
- RAG Framework: LangChain
- Vector Store: ChromaDB
- Communication: Asynchronous I/O (asyncio)
Installation
Prerequisites
- Python 3.10+
- Virtual environment (recommended)
Environment Setup
Create a .env file in the root directory with the following variables:
API_KEY=your_llm_api_key
BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
MODEL=qwen-plus
EMBED_MODEL=sentence-transformers/all-MiniLM-L6-v2
# Optional for You.com Search API (100 free searches/day work without this)
YDC_API_KEY=your_youcom_api_key
Dependencies
pip install mcp langchain langchain-community langchain-openai chromadb httpx python-dotenv openai
Usage
Running the Weather + Web Search Agent
To start the client and connect it to the MCP server:
python client.py server.py
The server now exposes two tools:
query_weather(city)search_web(query, count=5)using You.com Search API (GET https://api.you.com/v1/agents/search)
Example prompts:
- "What's the weather in Shenzhen?"
- "Search the web for MCP Python best practices"
Running the RAG Agent
To initialize the knowledge base and start the RAG-enabled agent:
python rag_agent.py --server_script rag_server.py
Protocol Implementation Details
The implementation strictly adheres to the MCP specification:
- Initialization: Client initializes the session and retrieves tool manifests.
- Tool Discovery: LLM is informed of available functions via JSON schema.
- Execution: Client intercepts
tool_calls, executes the corresponding server function, and returns the result to the LLM for final synthesis.
README fetched from the repository 10 hours ago. The original is authoritative.
