
Write HTML. Render video. Built for agents.
This project provides a Python client-server setup for Model Context Protocol. The client manages tool discovery, model calls, and tool execution, while the servers expose weather and document search tools over StdIO.
Builders who want their agent to call local tools and knowledge servers through MCP.
You can connect an agent to external tools and document stores without building the protocol plumbing yourself.
Discovers server tools, converts them into OpenAI-style schemas, and runs the tool-calling loop.
Exposes a weather query tool backed by the WeatherAPI and handled with async HTTP requests.
Ingests PDF and TXT content, stores vectors in ChromaDB, and retrieves relevant passages with MMR.
Uses LangChain and HuggingFace embeddings to build the retrieval layer.
Runs the client-server protocol over standard input and output for local inter-process communication.
pip install mcp langchain langchain-community langchain-openai chromadb httpx python-dotenv openai
python client.py server.py
python rag_agent.py --server_script rag_server.py
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.
The project follows a decoupled client-server architecture:
The client implementation (rag_agent.py, client.py) facilitates:
AsyncExitStack.The weather server (server.py) demonstrates real-time API integration:
httpx.The RAG server (rag_server.py) provides advanced document intelligence:
LangChain.ChromaDB.├── 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
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
pip install mcp langchain langchain-community langchain-openai chromadb httpx python-dotenv openai
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:
To initialize the knowledge base and start the RAG-enabled agent:
python rag_agent.py --server_script rag_server.py
The implementation strictly adheres to the MCP specification:
tool_calls, executes the corresponding server function, and returns the result to the LLM for final synthesis.Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Write HTML. Render video. Built for agents.
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!