mcp-ai-agent-server
A dual-mode MCP server and CLI agent for AI-powered tasks including weather, news, file management, web scraping, and data processing via LangChain.
README
MCP AI Agent Server
A dual-mode AI agent system that combines the Model Context Protocol (MCP) server capabilities with a standalone CLI agent, powered by LangChain.
šÆ Two Modes of Operation
1. MCP Server Mode
Run as an MCP server that can be connected to any MCP client (like Claude Desktop) or inspected using the MCP Inspector.
2. CLI Agent Mode
Run as a standalone command-line agent for direct interaction and task execution.
⨠Capabilities
- š API Interactions: Fetch weather data, news articles, and more
- š File Management: Read, write, search, and organize files
- š Web Scraping: Extract data from websites
- š Data Processing: Analyze and transform data
- š” AI-Powered Tasks: Use LangChain for intelligent decision-making
š ļø Tools Available
- Weather Tool: Get current weather for any location
- News Tool: Fetch latest news articles by topic
- File Manager: Create, read, update, delete files
- Web Fetcher: Download and parse web content
- Calculator: Perform complex calculations
- Search Tool: Search files and data
- AI Agent: LangChain MCP client powered reasoning and task execution
š¦ Installation
Prerequisites
- Python 3.10+
- uv package manager
- Node.js (for MCP Inspector)
Setup
- Clone the repository:
git clone https://github.com/elcaiseri/mcp-ai-agent-server.git
cd mcp-ai-agent-server
- Install dependencies using uv:
uv pip install -e .
- Set up environment variables:
cp .env.example .env
# Edit .env with your API keys
Required API keys in .env:
OPENAI_API_KEY=your_openai_api_key
OPENWEATHER_API_KEY=your_openweather_api_key
NEWS_API_KEY=your_news_api_key
š Usage
Mode 1: MCP Server with Inspector
The MCP server can be tested and debugged using the official MCP Inspector tool.
Start the server with inspector:
npx @modelcontextprotocol/inspector uv run python -m src.server
This will:
- Launch the MCP server
- Open the MCP Inspector in your browser
- Allow you to test all available tools interactively
- View request/response logs in real-time
Connect to MCP Clients:
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"ai-agent": {
"command": "uv",
"args": ["run", "python", "-m", "src.server"],
"cwd": "/path/to/mcp-ai-agent-server"
}
}
}
Mode 2: Standalone CLI Agent
Run the agent directly from the command line for interactive sessions.
Start the CLI agent:
uv run python -m src.client
<p align="center"> <img src="assets/agent_cli.png" alt="AI Agent MCP Client Chat Interface" width="600"> </p>
Example interactions:
> What's the weather in Tokyo?
> Fetch the latest news about AI
> Create a file called notes.txt with today's summary
> Search for all Python files in the current directory
The CLI agent uses LangChain MCP Client to:
- Understand natural language commands
- Select appropriate tools automatically
- Chain multiple operations together
- Provide conversational responses
š Tool Examples
Weather Tool
# Get current weather for a location
get_weather(location="New York")
# Returns: temperature, conditions, humidity, wind speed
News Tool
# Get latest news on a topic
fetch_news(topic="technology", limit=5)
# Returns: list of articles with title, description, URL
File Operations
# Create a file
create_file(path="data/output.txt", content="Hello World")
# Read a file
read_file(path="data/input.txt")
# Search files
search_files(directory=".", pattern="*.py")
Web Fetching
# Fetch webpage content
fetch_webpage(url="https://example.com")
# Returns: parsed HTML content and text
AI Agent Tasks
# Execute complex multi-step tasks
execute_agent_task(task="Analyze the weather in Tokyo and write a report")
šļø Architecture
mcp-ai-agent-server/
āāā src/
ā āāā server.py # Main MCP server implementation
ā āāā client.py # Standalone CLI agent implementation
ā āāā tools/ # Individual tool implementations
ā ā āāā weather.py
ā ā āāā news.py
ā ā āāā file_manager.py
ā ā āāā web_fetcher.py
ā ā āāā calculator.py
ā āāā utils/ # Utilities
ā āāā config.py
āāā tests/ # Test suite
āāā pyproject.toml # Project configuration
āāā .env.example # Environment template
āāā README.md
š§ Development
Running Tests
uv run pytest
Code Formatting
uv run black src/
uv run ruff check src/
License
MIT License
š¤ Contributing
Contributions welcome! Please feel free to submit a Pull Request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.