mcp-web-search
mcp-web-search
インターネット検索のためのMCP(Model Context Protocol)サーバー。Vercel にステートレスなHTTP APIとして公開されています。Antigravity などのAIエージェントは、ウェブ検索、ページの読み取り、REST APIの利用、リンクの抽出をアンチボットブロックの問題なしに行えます。
利用可能なツール
ツール | 説明 |
| Tavily API経由でインターネットを検索し、各結果のタイトル、URL、スニペットを返します |
| Tavily Extractを使用してアンチボットブロックを回避しながらページをダウンロードし、Markdown、プレーンテキスト、またはHTMLでコンテンツを返します |
| Axios経由で任意のURLにGETリクエストを行い、レスポンスのJSONを返します(公開REST APIに最適) |
| Tavily Extractを使用してページを読み取り、ドメインによるフィルタリングに対応したすべてのリンクを抽出します |
Related MCP server: Spider MCP Server
技術スタック
Next.js 16(App Router)— サーバーフレームワーク
mcp-handler — MCPプロトコル用のHTTPアダプター
@modelcontextprotocol/server — MCP v2 SDK
Tavily API — 公式の検索・ページ抽出メカニズム(アンチボットブロックに耐性あり)
axios + cheerio + turndown — REST APIの利用とHTMLコンテンツのパース
Zod v4 — ツールのスキーマ検証
Vercel Hobby — 無料ホスティング(リクエストごとに60秒のタイムアウト)
Tavily APIの設定
Vercelなどのデータセンターは、ウェブコンテンツをスクレイピングしようとするとファイアウォールによってブロックされることが多いため、このプロジェクトでは、ページの読み取りとインターネット検索を100%信頼して実行できるAI特化型APIであるTavilyを使用しています。
完全に機能させるには:
tavily.com で無料アカウントを作成します(月1,000リクエストが無料で利用できます)。
ホスティングのダッシュボード(例:Vercel)に移動し、次の環境変数を追加します:
TAVILY_API_KEY:sua_chave_aqui
Vercelへのデプロイ
前提条件
Node.js 20+
pnpm
1. リポジトリのクローン
git clone https://github.com/suportebono/mcp-web-search.git
cd mcp-web-search
pnpm install2. ローカルでのテスト
pnpm devMCPエンドポイントは http://localhost:3000/api/mcp で利用できます。
ツールを視覚的に確認するには:
npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp3. Vercelで公開
npx vercelデプロイ後、https://mcp-web-search-xxx.vercel.app 形式のURLが発行されます。TAVILY_API_KEY の設定を忘れないでください!
Antigravityでの設定
~/.gemini/config/mcp_config.json ファイルを編集します(存在しない場合は作成):
{
"mcpServers": {
"web-search": {
"serverUrl": "https://seu-projeto.vercel.app/api/mcp"
}
}
}Antigravityを再起動し、... > MCP Servers で確認します — 4つのツールがリスト表示されるはずです。
他のMCPクライアントでの設定
Claude Desktop / Cursor / Windsurf
クライアントの設定ファイルに追加します:
{
"mcpServers": {
"web-search": {
"url": "https://seu-projeto.vercel.app/api/mcp"
}
}
}stdioのみをサポートするクライアント
mcp-remote パッケージをプロキシとして使用します:
{
"mcpServers": {
"web-search": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://seu-projeto.vercel.app/api/mcp"]
}
}
}ツールリファレンス
web_search
Tavily APIを使用してインターネットを検索します。
パラメーター:
名前 | 型 | 必須 | 説明 |
|
| ✅ | 検索語句 |
|
| ❌ | 結果数(デフォルト:5) |
戻り値の例:
[
{
"title": "Next.js 15 — Blog",
"url": "https://nextjs.org/blog/next-15",
"snippet": "Next.js 15 introduces...",
"source": "nextjs.org"
}
]read_webpage
Tavily Extractを使用してペイウォールやアンチボットを回避しながら、URLのコンテンツを読み取って抽出します。
パラメーター:
名前 | 型 | 必須 | 説明 |
|
| ✅ | ページのURL |
|
| ❌ | 出力形式(デフォルト: |
コンテンツを返す前に、スクリプト、スタイル、広告、ナビゲーション、フッターを自動的に削除します。
fetch_json
Axios経由でGETリクエストを行い、生のJSONを返します。
パラメーター:
名前 | 型 | 必須 | 説明 |
|
| ✅ | APIのURL |
|
| ❌ | オプションのHTTPヘッダー |
extract_links
Tavily Extractを使用してページの実際のHTML(動的サイトも含む)を読み取り、すべてのリンクを抽出します。
パラメーター:
名前 | 型 | 必須 | 説明 |
|
| ✅ | ページのURL |
|
| ❌ | この部分文字列を含むリンクをフィルタリングします(例: |
戻り値の例:
[
{
"text": "Documentação",
"href": "/docs",
"absolute_url": "https://exemplo.com/docs"
}
]プロジェクト構成
mcp-web-search/
├── app/
│ └── api/
│ └── mcp/
│ └── route.ts ← Endpoint MCP (GET + POST)
├── lib/
│ ├── mcp-server.ts ← Registro de todas as ferramentas
│ └── tools/
│ ├── web-search.ts ← Busca via Tavily API
│ ├── read-webpage.ts ← Leitura e parsing de páginas (Tavily Extract)
│ ├── fetch-json.ts ← Fetch de APIs REST genéricas
│ └── extract-links.ts ← Extração de links via Tavily Extract HTML
├── next.config.ts
└── package.jsonサポートされているMCPプロトコル
このサーバーはMCP 2026-07-28仕様をStreamable HTTP statelessトランスポートで実装しており、最新のクライアントと互換性があります。また、2025年世代のStreamable HTTP仕様を使用するクライアント向けの自動フォールバックも提供します。
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Live web access for agents: scrape, SERP search, crawl/map, 100+ collectors, datasets, proxies.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.415,737 npm5MIT
- AlicenseAqualityCmaintenanceEnables AI agents to crawl, scrape, search, and automate browsers with anti-bot bypass, providing fast web access via 22 tools.2236 npm3MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform web searches, extract webpage content, and conduct end-to-end search-and-extract operations using multiple search providers and content extraction methods.-
- AlicenseAqualityAmaintenanceEnables AI agents to perform web searches, fetch and extract page content, and crawl sites with caching, rate limiting, and robots.txt compliance, all without needing API keys.11325 PyPI1MIT