AI-Agentic-MCP
README.md
# AI-Agentic MCP
This repository contains an exploration of the **Model Context Protocol (MCP)** using **LangChain** and **FastMCP**. It demonstrates how to decouple tool implementations into an independent MCP server, which is then dynamically consumed by a LangChain agent.
## Features
- **FastMCP Server**: A standalone server exposing tools over a streamable HTTP connection.
- `get_employee_infos`: A mock tool for fetching employee details (name, salary, seniority).
- `search`: Web search capability utilizing the `TavilySearch` API.
- **LangChain MCP Agent**: A ReAct-style conversational agent powered by OpenAI's `gpt-4o-mini`. The agent dynamically queries and utilizes the tools exposed by the MCP server using `MultiServerMCPClient`.
- **Decoupled Architecture**: Demonstrates building scalable AI agents where the LLM logic and tool executions can exist on different servers.
## Project Structure
- `mcp-server.py`: The FastMCP server implementation that defines and serves the tools.
- `agent_graph.py`: The interactive LangChain agent that connects to the MCP server and answers user queries via the terminal.
- `graph.ipynb`: A Jupyter Notebook for exploring and prototyping.
- `main.py`: A simple boilerplate entry point.
- `pyproject.toml` / `uv.lock`: Project metadata and dependencies, managed via [uv](https://github.com/astral-sh/uv).
## Prerequisites
- Python 3.13 or higher.
- An [OpenAI API Key](https://platform.openai.com/).
- A [Tavily API Key](https://tavily.com/) (required for the web search tool).
## Installation
This project uses `uv` for dependency management.
1. Clone the repository:
```bash
git clone <your-repo-url>
cd AI-Agentic-MCP-main
```
2. Install dependencies:
```bash
uv sync
```
*Alternatively, using pip:*
```bash
pip install .
```
3. Configure Environment Variables:
Create a `.env` file in the root directory and add your API keys:
```env
OPENAI_API_KEY=your_openai_api_key_here
TAVILY_API_KEY=your_tavily_api_key_here
```
## Usage
To test the multi-server architecture, you need to run the server and the agent simultaneously.
1. **Start the MCP Server:**
In your first terminal, run:
```bash
python mcp-server.py
```
*The server will start listening on `http://localhost:24000/mcp`.*
2. **Run the Interactive Agent:**
In a separate terminal, launch the agent:
```bash
python agent_graph.py
```
You can now ask questions in the prompt (e.g., *"What is the salary of Alice?"* or search the web). Type `exit` to quit the agent.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues