CursorとMCPサーバーの接続により、Cursor上でウェブ検索をしてWebページの内容を取得できるようになったので、その内容をまとめたいと思います。
Claude CodeでのMCPサーバー接続はよく見かけますが、CursorでWeb検索MCP「fetch」を接続する手順についてQiitaにもfetchのGitHubページにも記載がなかったため執筆しました。
Cursorでのセットアップはどうしたら良いのか、ぜひ参考にしてみてください。
MCPとは
MCP(Model Context Protocol)は、AIアシスタントを外部システムに接続するためのオープンソース標準です。Anthropic社によって開発され、2024年11月に公開されました。
MCPにより、AIアシスタントはWebページの取得、ファイル操作、データベース接続などの外部リソースにアクセスできるようになります。これまで各データソースごとに個別の実装が必要でしたが、MCPにより統一されたプロトコルで接続が可能になります。
参考:
MCP Server「fetch」とは
fetch MCP Serverは、Webページの内容を取得するためのMCPサーバーです。このサーバーを使用することで、AIアシスタントはリアルタイムでWebページの内容を取得し、その情報を基に回答を生成できます。
主な機能
- Webページ取得: 指定したURLのWebページ内容を取得
- Markdown変換: HTMLをMarkdown形式に変換して返却
提供されるツール
- 
fetch: 指定されたURLからコンテンツを取得し、Markdown形式で返す
- パラメータ:
- 
url(文字列、必須): 取得するURL
- 
raw(ブール値、オプション): ページの元のHTMLを取得するかどうか(デフォルトはfalse)
 
- 
 
- パラメータ:
なお、urlやrawパラメータは特に意識せずCursorのチャットから利用できます。後のセクションでは、そのままLLMに聞くような形で検索機能を利用します。
このMCP Serverの使用例としては、以下などがあるかと思います。
- 最新の技術記事の取得
- ニュースサイトからの情報収集
- ドキュメントやマニュアルの内容確認
今回は、zenn.devの最新記事の取得を目標に、fetchとCursorとの接続手順をご紹介します。
CursorとMCPサーバーとの接続手順
mcp-server-fetchのインストール
Pythonが事前にインストールされていることを前提としています。
ターミナルから以下のコマンドで、mcp-server-fetchをインストールします。
pip install mcp-server-fetch
インストールが完了したら起動させます。以下を実行します。
python -m mcp_server_fetch
Cursorでの設定
Cursorでは、上でインストールしたfetchとの接続設定を行います。
基本設定 > Cursor Settings で下の画面の"MCP & Integrations"を開き、"New MCP Server"を選択します。

するとmcp.jsonが開きます。jsonの内容を以下に書き換えてください。
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"]
    }
  }
}
なお、fetch以外ですでに他のMCPサーバーとの接続を追加されている場合には、mcpServers配下に追加する形にします。Notionとの接続がすでにある場合は、下の例のようになります。
{
  "mcpServers": {
    "Notion": {
      "url": "https://mcp.notion.com/mcp",
      "headers": {}
    },
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"]
    }
  }
}
mcp.jsonが修正できたら、先ほどのCursor Settings画面へ戻ると、MCP Toolsに"fetch"が新たに追加されていることを確認してください。トグルスイッチがOFFになっていない場合はONにします。

以上で、Cursorとfetch MCPとの接続は完了です!
Web検索
接続が完了したので、Web検索をした内容をLLMが答えてくれるか試してみます。
Cursorで新しくチャットを開き、次の指示を与えてみました。
zenn.devで最新の記事10件を取得し表示してください。
結果は以下のように記事を10件、タイトル・著者・投稿時間・URL込みで回答してくれました!
回答が正確なものか確認します。
"Called fetch"を開き、パラメータの記載に"url": "https://zenn.dev/articles" とあったので、URLを開いてみました。
gif取得時とArticlesページのキャプチャ取得(↓)に少し時間が空いてしまったため1件目は一致していないですが、fetch MCPにより正確な情報を取得できていたことがわかりました!

別のWebページでも試してみましょう。
medium.comでデータエンジニア領域についての最新記事10件を取得して
robots.txtによってアクセスが制限されているため、tool経由としてブロックされているようです。
fetchのGitHubページには、プロンプトでユーザーからアクセスするのであればrobots.txtを無視する方法が記載されていました。
Customization - robots.txt
By default, the server will obey a websites robots.txt file if the request came from the model (via a tool), but not if the request was user initiated (via a prompt). This can be disabled by adding the argument --ignore-robots-txt to the args list in the configuration.
ここでは、ユーザーがプロンプトを実行して検索機能を利用する用途のため、記載の通りに設定を更新してみます。
argsに--ignore-robots-txtを追加しています。
"fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch", "--ignore-robots-txt"]
    }
再度、検索を実行してみます。
こちらのページにある記事を取得できたようです。ハルシネーションなくうまく取得できました。
https://medium.com/data-engineer/all?topic=data-engineering
まとめ
Cursorの検索MCP「fetch」、URLを与えずにChatGPTに聞く感覚でWeb検索をして情報をまとめて回答してくれました。Mediumでの検索については、最新10件と聞いているものの2024年の記事を出してきたりと検索範囲には余地があるかなとは思いましたが、ハルシネーション無く実在する記事を取得することができました。
月に2000リクエストまで無料で利用可能なサービスで、Brave Searchがありますが、「リクエスト数を考えずとにかく無料で検索したい!」という場合にはぜひ本記事を参考にしてもらえればと思います!
余談
Qiitaにgifを挿入する際、なかなか表示してもらえず苦戦しましたが、
6.6MBだったものから2.1MBまでファイルサイズを落とすとGifを表示してくれるようになりました。ご参考まで。


