Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Internet Search Server

БесплатноНе проверен

Custom MCP server exposing an internet_search tool that fetches DuckDuckGo results, enabling AI agents to perform web searches and retrieve structured informati

GitHubEmbed

Описание

Custom MCP server exposing an internet_search tool that fetches DuckDuckGo results, enabling AI agents to perform web searches and retrieve structured information.

README

This project is for the AI Engineer homework task:

  • Create a custom MCP tool named internet_search
  • Register it inside an MCP server
  • Test the MCP server independently
  • Connect the MCP server to a PydanticAI agent
  • Connect the MCP server to CrewAI agents
  • Use two CrewAI roles: Search Agent and Summary Agent

1. Project architecture

User query
   │
   ▼
PydanticAI Agent OR CrewAI Search Agent
   │
   ▼
Custom MCP Server over stdio
   │
   ▼
internet_search MCP Tool
   │
   ▼
DuckDuckGo web results
   │
   ▼
Structured result: title, url, snippet, source
   │
   ▼
Agent summarizes answer with sources

2. Files

File Purpose
internet_search_mcp_server.py MCP server exposing the custom internet_search tool
search_models.py Pydantic models for structured search responses
test_mcp_direct.py Tests MCP server independently without LLM/API key
pydanticai_agent.py PydanticAI agent connected to the MCP server
crewai_agents.py CrewAI Search Agent + Summary Agent connected to MCP server
.env.example Environment variable template
requirements.txt Python dependencies

3. Setup

Use Python 3.11 or 3.12.

python -m venv .venv

Windows PowerShell:

.venv\Scripts\Activate.ps1

macOS/Linux:

source .venv/bin/activate

Install dependencies:

pip install --upgrade pip
pip install -r requirements.txt

4. Test the custom MCP tool directly

This step proves that the MCP server works independently.

python test_mcp_direct.py "AI engineering roadmap 2026"

Expected behavior:

  • It prints available MCP tools
  • It calls internet_search
  • It prints structured JSON search results

This step does not need an OpenAI key.

5. Add API key for agent demos

Copy the example env file:

copy .env.example .env

On macOS/Linux:

cp .env.example .env

Then edit .env and add your real API key:

OPENAI_API_KEY=sk-your-real-key

Important: ChatGPT Plus is separate from API credits. PydanticAI and CrewAI need an API key from a model provider.

6. Run PydanticAI agent

python pydanticai_agent.py "Latest trends in AI agents"

What happens:

  1. PydanticAI starts the MCP server as a subprocess using stdio.
  2. The agent receives your question.
  3. The agent calls the internet_search MCP tool.
  4. The agent summarizes the returned search results.

7. Run CrewAI agents

python crewai_agents.py "Latest trends in AI product management"

CrewAI roles:

  • Search Agent: calls the internet_search MCP tool
  • Summary Agent: cleans and summarizes the information

The tasks run sequentially:

  1. Search task
  2. Summary task

8. Optional: Test with MCP Inspector

You can inspect the MCP server visually with:

npx -y @modelcontextprotocol/inspector

For stdio server configuration, use:

  • Command: python
  • Args: internet_search_mcp_server.py

9. What to tell your sir/demo explanation

I created a custom MCP server using Python FastMCP. It exposes a tool called internet_search, which accepts a user query and returns structured web search results. I tested the server independently using the MCP Python client. Then I integrated the same MCP server with PydanticAI using MCPServerStdio. Finally, I integrated it with CrewAI using a Search Agent and Summary Agent. The Search Agent retrieves search results through MCP, and the Summary Agent converts them into a clean final answer with sources.

10. Common errors

OPENAI_API_KEY is missing

Run the direct test first:

python test_mcp_direct.py "AI agents"

For PydanticAI/CrewAI, create .env and add your key.

DuckDuckGo search failed

Check internet connection. Try a smaller query or run again after a few seconds.

Import errors with CrewAI MCP

Upgrade packages:

pip install --upgrade crewai crewai-tools "mcp[cli]"

from github.com/cakhiltej9001-source/internet_search_mcp_agents

Установка Internet Search Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/cakhiltej9001-source/internet_search_mcp_agents

FAQ

Internet Search Server MCP бесплатный?

Да, Internet Search Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Internet Search Server?

Нет, Internet Search Server работает без API-ключей и переменных окружения.

Internet Search Server — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Internet Search Server в Claude Desktop, Claude Code или Cursor?

Открой Internet Search Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Internet Search Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai