MCP Web Research Agent
MCP Web Research Agent для macOS
Python Model Context Protocol (MCP) агент/сервер, который предоставляет локальному ИИ-ассистенту инструменты для:
search_web— публичный веб-поиск через HTML-результаты DuckDuckGofetch_url— получение публичной веб-страницы и извлечение читаемого текстаsave_note— сохранение исследовательских заметок в виде Markdown/текстовых файлов в выбранную вами папку
Проект также включает agent.py — небольшой локальный мост, который соединяет Ollama с MCP-сервером. Ollama запускает LLM; этот проект предоставляет MCP-инструменты и цикл агента с вызовом инструментов.
Примечание: Ollama сама по себе является сервером моделей, а не нативным MCP-клиентом. Чтобы использовать Ollama с MCP-инструментами, запустите
agent.pyиз этого проекта или другой MCP-мост/клиент.
Что вам нужно
MacBook Pro с macOS
Python 3.11 или новее (пакет
mcpтребует Python 3.10+; установка предпочитает 3.13/3.12/3.11)Ollama установлена и запущена
Локальная модель с поддержкой вызова инструментов. Рекомендуемые отправные точки:
qwen2.5:7bдля Mac с 16 ГБ ОЗУqwen2.5:14bесли у вас достаточно ОЗУ/производительностиqwen3:14bесли ваша версия Ollama хорошо её поддерживает
Related MCP server: Local Research MCP Server
1. Установка
Откройте Терминал и выполните:
cd ~/Projects
git clone <your-repo-url> mcp-web-research-agent # or copy this folder here
cd ~/Projects/mcp-web-research-agent
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtЕсли у вас нет Python 3.11+:
brew install python2. Установка и запуск Ollama
Установите Ollama с https://ollama.com или через Homebrew:
brew install --cask ollamaОткройте приложение Ollama один раз, затем загрузите модель:
ollama pull qwen2.5:7b
ollama serveВ другой вкладке Терминала проверьте, что Ollama запущена:
curl http://localhost:11434/api/tags3. Запуск локального MCP-агента Ollama
Из папки проекта:
cd ~/Projects/mcp-web-research-agent
source .venv/bin/activate
python agent.pyЗатем задайте вопрос, например:
Research recent MCP news, open the two best sources, summarize them, and save the summary as mcp-news.md.Одноразовый режим:
python agent.py "Research current MCP SDK best practices and save notes."Использование другой модели:
python agent.py --model qwen2.5:14bВыбор места сохранения заметок:
python agent.py --notes-dir ~/Documents/research-notes4. Использование с Claude Desktop
Если вы хотите, чтобы Claude Desktop подключался напрямую к MCP-серверу, отредактируйте:
~/Library/Application Support/Claude/claude_desktop_config.jsonДобавьте:
{
"mcpServers": {
"web-research": {
"command": "/Users/YOUR_USERNAME/Projects/mcp-web-research-agent/.venv/bin/python",
"args": [
"/Users/YOUR_USERNAME/Projects/mcp-web-research-agent/server.py"
],
"env": {
"MCP_NOTES_DIR": "/Users/YOUR_USERNAME/Documents/MCP-research-notes"
}
}
}
}Замените YOUR_USERNAME на ваше имя пользователя Mac. Создайте файл, если он не существует. Перезапустите Claude Desktop после редактирования.
5. Использование с Cursor
Создайте или отредактируйте .cursor/mcp.json в рабочей области:
{
"mcpServers": {
"web-research": {
"command": "/Users/YOUR_USERNAME/Projects/mcp-web-research-agent/.venv/bin/python",
"args": [
"/Users/YOUR_USERNAME/Projects/mcp-web-research-agent/server.py"
],
"env": {
"MCP_NOTES_DIR": "/Users/YOUR_USERNAME/Documents/MCP-research-notes"
}
}
}
}Затем перезапустите Cursor или перезагрузите его MCP-настройки.
Справочник по инструментам
search_web(query: str, max_results: int = 5)
Возвращает результаты поиска в формате JSON:
{
"query": "Model Context Protocol",
"results": [
{
"title": "Example",
"url": "https://example.com",
"snippet": "..."
}
]
}fetch_url(url: str, max_chars: int = 8000)
Получает URL http/https и возвращает извлечённый текст. Он избегает рендеринга JavaScript, поэтому лучше всего работает с обычными HTML-страницами.
save_note(filename: str, content: str)
Сохраняет заметку в MCP_NOTES_DIR. Каталог по умолчанию:
~/MCPWebResearch/notesИнструмент очищает имена файлов и блокирует обход пути.
Конфигурация
Переменные окружения:
OLLAMA_MODEL— модель по умолчанию, используемаяagent.py; по умолчаниюqwen2.5:7bOLLAMA_URL— OpenAI-совместимая конечная точка чата Ollama; по умолчаниюhttp://localhost:11434/v1/chat/completionsMCP_NOTES_DIR— каталог для сохранённых заметок
Пример:
export OLLAMA_MODEL=qwen2.5:14b
export MCP_NOTES_DIR=~/Documents/research-notes
python agent.pyУстранение неполадок
Connection refused к localhost:11434
Ollama не запущена. Запустите её с помощью:
ollama serveАгент не вызывает инструменты
Используйте модель с сильной поддержкой вызова инструментов. qwen2.5:7b, qwen2.5:14b и подобные модели Qwen — хорошие отправные точки.
Страница возвращает мало текста
Некоторые веб-сайты блокируют не-браузерные клиенты или требуют JavaScript. Попробуйте другой источник или используйте search_web и fetch_url вместе.
Claude Desktop не показывает сервер
Проверьте, что:
Путь к Python указывает на
.venv/bin/pythonвнутри этого проектаПуть к
server.pyявляется абсолютнымJSON-файл имеет корректный синтаксис
Вы полностью перезапустили Claude Desktop
Файлы
server.py— MCP-сервер с инструментами веб-исследованийagent.py— локальный MCP-клиент/цикл агента на базе Ollamarequirements.txt— зависимости Python
Примечания по безопасности
Этот сервер может получать публичные URL и искать в публичном вебе.
Он может записывать файлы только в
MCP_NOTES_DIR.Он не выполняет команды оболочки.
Проверяйте сохранённые заметки и цитаты, прежде чем полагаться на них.
Второй MCP-агент: Local Planner
Репозиторий теперь включает второй MCP-сервер/агент: local-planner. Он хранит проекты, задачи и Markdown-заметки на диске.
Что он делает
Инструменты:
create_project(name, description)list_projects()create_task(project, title, notes, priority, due_date, status)list_tasks(project, status)update_task(project, task_id, ...)complete_task(project, task_id)delete_task(project, task_id)save_project_note(project, content, append)get_daily_focus(for_date)
Каталог данных по умолчанию:
~/MCPPlannerПереопределите его с помощью:
export MCP_PLANNER_DIR=~/Documents/my-plannerЗапуск планировщика Ollama
bash run-planner.shОдноразовый режим:
bash run-planner.sh "Create a project called Weekend Yard Work with tasks for mowing, trimming bushes, and buying mulch."Использование другой модели:
bash run-planner.sh --model qwen2.5:14bХранение данных планировщика в другом месте:
bash run-planner.sh --data-dir ~/Documents/planner-dataХорошие подсказки для планировщика
Create a project called Home Network Upgrade and break it into at least six tasks with priorities.Look at my daily focus and tell me what I should work on first.Create a moving checklist project with tasks, due dates, and notes.Mark the first task in the Weekend Yard Work project complete and tell me what remains.Конфигурация Claude Desktop для планировщика
Используйте:
claude_desktop_config.planner.example.jsonДобавьте это в:
~/Library/Application Support/Claude/claude_desktop_config.jsonВы можете объединить оба сервера в mcpServers, чтобы Claude видел инструменты веб-исследований и планирования.
Конфигурация Cursor для планировщика
Используйте:
cursor-mcp.planner.example.jsonФайлы
planner_server.py— MCP-сервер для проектов/задач/заметокplanner_agent.py— мост/агент Ollama для планировщикаrun-planner.sh— лаунчер
Третий MCP-агент: Health & Habit Tracker
Репозиторий включает третий MCP-сервер/агент для отслеживания привычек, тренировок, приёмов пищи и измерений тела. Все данные хранятся локально в MCP_HEALTH_DIR (по умолчанию ~/MCPHealth).
Этот инструмент предназначен только для личного отслеживания и не предоставляет медицинских рекомендаций.
Инструменты
create_habit(name, description, target_per_week, unit)list_habits(active_only)log_habit(log_date, value, notes, habit_id|habit_name)log_workout(activity, duration_minutes, log_date, intensity, calories, distance_km, notes)log_meal(description, meal_type, log_date, calories, protein_g, carbs_g, fat_g, notes)log_measurement(weight_kg, log_date, body_fat_pct, waist_cm, notes)list_logs(log_type, from_date, to_date, limit)delete_log(log_id)save_health_note(content, append)get_daily_summary(for_date)get_weekly_report(for_date)
Запуск с Ollama
bash run-health.shОдноразовый режим:
bash run-health.sh "Create habits for a 30-min walk, drinking water, and stretching, then log today's walk and a lunch salad."Использование другой модели или каталога данных:
bash run-health.sh --model qwen2.5:14b --data-dir ~/Documents/health-dataХорошие подсказки
Create habits for walking 5 days per week, drinking 80 oz of water, and stretching daily.Log a 45-minute moderate run today that burned 420 calories and covered 6 km.Log my breakfast: oatmeal with banana and peanut butter, about 520 calories and 22 grams of protein.Give me today's health summary and list habits I still need to complete.Give me my weekly report and tell me which habits I'm behind on.Конфигурации Claude Desktop / Cursor
claude_desktop_config.health.example.jsoncursor-mcp.health.example.json
Вы можете запускать все три MCP-сервера вместе (веб-исследования, планировщик, здоровье), перечислив каждый в mcpServers.
Файлы
health_server.py— MCP-серверhealth_agent.py— мост/агент Ollamarun-health.sh— лаунчер
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to search the web using DuckDuckGo, scrape webpage content in markdown format, and browse/read local files for code analysis and debugging.191MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search the web using DuckDuckGo and extract clean text content from websites for real-time research, with all processing happening locally for complete privacy.3MIT
- FlicenseAqualityDmaintenanceProvides local web search and content fetching capabilities for AI assistants, enabling them to search DuckDuckGo and extract clean text from web pages. All requests originate from the user's machine to ensure direct network control and bypass external proxies.2
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read webpages and perform web searches using DuckDuckGo.MIT
Related MCP Connectors
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jstrick9/mcp_agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server