mcp-ai-agent-server

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.

Category
Visit Server

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

  1. Weather Tool: Get current weather for any location
  2. News Tool: Fetch latest news articles by topic
  3. File Manager: Create, read, update, delete files
  4. Web Fetcher: Download and parse web content
  5. Calculator: Perform complex calculations
  6. Search Tool: Search files and data
  7. AI Agent: LangChain MCP client powered reasoning and task execution

šŸ“¦ Installation

Prerequisites

  • Python 3.10+
  • uv package manager
  • Node.js (for MCP Inspector)

Setup

  1. Clone the repository:
git clone https://github.com/elcaiseri/mcp-ai-agent-server.git
cd mcp-ai-agent-server
  1. Install dependencies using uv:
uv pip install -e .
  1. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured