MCP Web研究代理
一个强大的MCP(模型上下文协议)工具,用于自动化网络研究、抓取和情报收集。
  
一个复杂的网络研究自动化工具,将您现有的scraper转换为MCP兼容的代理,以增强AI工作流程。非常适合竞争情报、市场研究和自动化数据收集。
🚀 特性
- 🔍 智能刮擦:具有可配置深度的递归网络爬行
- 🔎 搜索集成:带结果处理的多引擎搜索
- 💾 数据库存储:具有高级查询功能的持久SQLite存储
- 📊 多种导出格式:JSON、Markdown和CSV导出
- 🤖 MCP集成:与AI助手无缝集成
- ⚡ 异步就绪:专为并发操作而构建
- 🔧 可配置的:适用于任何用例的可调设置
🛠️ 安装
先决条件
- Python 3.8+
- MCP兼容客户端(克劳德桌面等)
快速安装
# Clone the repository
git clone https://github.com/yourusername/mcp-web-research-agent.git
cd mcp-web-research-agent
# Install dependencies
pip install -e .MCP客户端配置
添加到MCP客户端配置中:
{
"mcpServers": {
"web-research-agent": {
"command": "python",
"args": ["/path/to/mcp-web-research-agent/server.py"]
}
}
}📖 用法
可用工具
scrape_url
为特定关键字删除单个URL
result = await scrape_url(
url="https://example.com",
keywords=["python", "automation", "scraping"],
extract_links=False,
max_depth=1
)search_and_scrape
搜索网络并自动抓取结果
result = await search_and_scrape(
query="web scraping best practices",
keywords=["python", "beautifulsoup", "requests"],
search_engine_url="https://searx.gophernuttz.us/search/",
max_results=10
)get_scraping_results
查询数据库以获取以前的抓取结果
result = await get_scraping_results(
keyword_filter="python",
limit=50
)export_results
将结果导出为各种格式
result = await export_results(
format="markdown",
keyword_filter="python",
output_path="/path/to/output.md"
)get_scraping_stats
获取当前统计数据和状态
result = await get_scraping_stats()🗃️ 数据库模式
代理使用具有以下结构的SQLite:
-- URLs table
CREATE TABLE urls (
id INTEGER PRIMARY KEY AUTOINCREMENT,
url TEXT UNIQUE NOT NULL,
title TEXT,
content TEXT,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Keywords table
CREATE TABLE keywords (
id INTEGER PRIMARY KEY AUTOINCREMENT,
keyword TEXT UNIQUE NOT NULL
);
-- URL-Keyword relationships
CREATE TABLE url_keywords (
id INTEGER PRIMARY KEY AUTOINCREMENT,
url_id INTEGER,
keyword_id INTEGER,
matches INTEGER DEFAULT 1,
context TEXT,
FOREIGN KEY (url_id) REFERENCES urls (id),
FOREIGN KEY (keyword_id) REFERENCES keywords (id),
UNIQUE(url_id, keyword_id)
);🔧 配置
默认设置
- 最大深度:3级递归爬行
- 请求延迟:请求之间相隔1秒
- 用户代理:现代Chrome浏览器模拟
- 数据库:
scraper_results.db(自动创建)
定制
修改MCPWebScraper构造函数中的设置:
scraper = MCPWebScraper(
db_manager=db_manager,
max_depth=5, # Increase crawl depth
delay=0.5 # Faster requests
)🧪 发展
运行测试
python test_mcp_scraper.py示例用法
python example_usage.py项目结构
mcp-web-research-agent/
├── server.py # MCP server implementation
├── scraper.py # Core scraping logic
├── database.py # Database management
├── requirements.txt # Python dependencies
├── pyproject.toml # Package configuration
├── test_mcp_scraper.py # Unit tests
├── example_usage.py # Usage examples
└── README.md # This file🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- 建立在 模型上下文协议
- 受现代网络抓取最佳实践的启发
- 感谢开源社区提供的出色工具
______________________________________________________________________
内置于❤️ 对于MCP生态系统
