AI Blog MCP Agent
A local AI-powered research agent that searches the web, fetches real content, and generates grounded answers using a local Ollama model, exposed as an MCP tool for Claude Desktop.
README
๐ค AI Blog MCP Agent
A local AI-powered research agent that searches the web, fetches real content, and generates grounded answers using a local Ollama model โ exposed as an MCP (Model Context Protocol) tool for Claude Desktop.
๐ง How It Works
Query โ Summarize โ Generate Search Query โ Tavily Search โ Fetch Docs โ Grounded Answer
| Step | Method | Description |
|---|---|---|
| 1 | summarize() |
Expands the query into context using local Ollama model |
| 2 | make_search_query() |
Condenses query into a short search string (under 400 chars) |
| 3 | search_web() |
Searches the web using Tavily API |
| 4 | fetch_docs() |
Scrapes and cleans text from URLs (skips blocked domains) |
| 5 | uni_function() |
Combines all steps and generates a final grounded answer |
๐ Features
- ๐ Real-time web search via Tavily API
- ๐งน Automatic content cleaning (removes scripts, navbars, footers)
- ๐ซ Blocked domain filtering (Medium, YouTube, Twitter, Reddit)
- ๐ค Local LLM inference via Ollama
- ๐ MCP tool integration for Claude Desktop
- ๐งช Test mode for quick pipeline validation
๐ฆ Requirements
- Python 3.10+
- Ollama running locally with
gpt-oss:120b-cloudmodel - Tavily API key โ get one at app.tavily.com
๐ ๏ธ Installation
1. Clone the repo:
git clone https://github.com/BhavinXAgheda/AI_Blog_MCP_Agent.git
cd AI_Blog_MCP_Agent
2. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # Mac/Linux
venv\Scripts\activate # Windows
3. Install dependencies:
pip install fastmcp ollama tavily-python requests beautifulsoup4 python-dotenv
4. Create .env file:
cp .env.example .env
Then edit .env and add your Tavily API key:
TAVILY_API_KEY=your-tavily-api-key-here
โถ๏ธ Usage
Test the pipeline:
python test.py test
Start as MCP server:
python test.py
๐ Claude Desktop Integration
Add this to your claude_desktop_config.json:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"blog-agent": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/AI_Blog_MCP_Agent/test.py"]
}
}
}
Replace the paths with your actual venv and project paths, then restart Claude Desktop.
You can then ask Claude:
"Research the latest AI news in March 2026"
And it will call your local agent to search, fetch, and answer using live web data.
๐ Project Structure
AI_Blog_MCP_Agent/
โโโ test.py # Main agent + MCP server
โโโ .env # Your API keys (never committed)
โโโ .env.example # Template for environment variables
โโโ .gitignore # Ignores .env, venv, __pycache__
โโโ README.md # This file
๐ Environment Variables
| Variable | Description |
|---|---|
TAVILY_API_KEY |
Your Tavily search API key |
๐ซ Blocked Domains
The following domains are skipped during doc fetching (paywalled or JS-heavy):
medium.comyoutube.comtwitter.comreddit.com
You can extend the BLOCKED_DOMAINS list in test.py as needed.
๐งช Example Output
Query: How do I handle file uploads in Next.js 14?
Search Query: Next.js 14 file upload handling
Summary: The user is asking for a guide on implementing file upload...
URLs: ['https://oneuptime.com/blog/...', 'https://dev.to/...']
Docs fetched: 2
Answer: ## Handling File Uploads in Next.js 14 ...
๐ License
MIT License โ feel free to use, modify, and distribute.
๐ Built With
- FastMCP โ MCP server framework
- Ollama โ Local LLM inference
- Tavily โ Web search API
- BeautifulSoup4 โ HTML parsing
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.