🚀 FetchSERP MCP Server
FetchSERP MCP Serverは、SEO、SERP分析、ウェブスクレイピング、キーワードリサーチのためのFetchSERP APIを公開する、Model Context Protocol (MCP) サーバーです。このサーバーを使用することで、様々なSEO関連のデータを取得し、ウェブサイトの最適化やキーワード戦略の策定を支援することができます。
🚀 クイックスタート
このMCPサーバーを使用するには、FetchSERP APIトークンが必要です。まずは、https://www.fetchserp.com でサインアップしてAPIトークンを取得しましょう。新規ユーザーには250の無料クレジットが自動的に付与されます。取得したAPIトークンは、環境変数として設定する必要があります。
export FETCHSERP_API_TOKEN="your_token_here"
✨ 主な機能
このMCPサーバーは、FetchSERP APIのすべてのエンドポイントにアクセスできるようにします。以下に主な機能を紹介します。
SEO & 分析
- ドメイン分析:バックリンク、ドメイン情報(DNS、WHOIS、SSL、テクノロジースタック)を取得します。
- キーワードリサーチ:検索量、キーワード提案、ロングテールキーワード生成を行います。
- SEO分析:ウェブページの包括的なSEO分析を行います。
- AI分析:カスタムプロンプトを使用したAIによるウェブページ分析を行います。
- Moz統合:ドメイン権威とMozメトリクスを取得します。
SERP & 検索
- 検索結果:Google、Bing、Yahoo、DuckDuckGoからSERP結果を取得します。
- AI概要:JavaScriptレンダリングを使用したGoogleのAI概要を取得します。
- 拡張結果:HTMLまたはテキストコンテンツ付きのSERP結果を取得します。
- ランキングチェック:特定のキーワードに対するドメインのランキングをチェックします。
- インデックス化チェック:ページがインデックスされているかどうかを確認します。
ウェブスクレイピング
- 基本的なスクレイピング:JavaScriptを使用せずにウェブページをスクレイピングします。
- JSスクレイピング:ページ上でカスタムJavaScriptを実行します。
- プロキシスクレイピング:国別のプロキシを使用してスクレイピングします。
- ドメインスクレイピング:ドメインから複数のページをスクレイピングします。
ユーザー管理
- アカウント情報:APIクレジットとユーザー情報を確認します。
📦 インストール
インストールは必要ありません! このMCPサーバーは、npxを使用してGitHubから直接実行できます。
💻 使用例
トランスポートモード
このMCPサーバーは、2つのトランスポートモードをサポートしています。
npxモード (オプション1):
- ✅ インストール不要
- ✅ GitHubから常に最新バージョンを取得
- ✅ 個人ユーザーに最適
- ✅ Claude Desktopでローカルで実行
HTTPモード (オプション2):
- ✅ リモートデプロイ可能
- ✅ 複数のクライアントが接続できる
- ✅ 企業/チーム環境に適している
- ✅ 集中サーバー管理
- ✅ 単一のAPIキー認証(FetchSERPトークン)
- ✅ スケーラブルなアーキテクチャ
設定
オプション1: npxを使用する場合(ローカル/リモートGitHub)
このサーバーをMCPクライアントの設定に追加します。例えば、Claude Desktopでgithubレジストリを使用する場合は、以下のように設定します。
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": [
"github:fetchSERP/fetchserp-mcp-server-node"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
または、npmレジストリを使用する場合は、以下のように設定します。
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": ["fetchserp-mcp-server"],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
オプション2: Claude APIとMCPサーバーを使用する場合
ClaudeのAPIとデプロイされたMCPサーバーをプログラムで使用する場合は、以下のように設定します。
const claudeRequest = {
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{
role: "user",
content: question
}
],
mcp_servers: [
{
type: "url",
url: "https://mcp.fetchserp.com/sse",
name: "fetchserp",
authorization_token: FETCHSERP_API_TOKEN,
tool_configuration: {
enabled: true
}
}
]
};
const response = await httpRequest('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'x-api-key': CLAUDE_API_KEY,
'anthropic-version': '2023-06-01',
'anthropic-beta': 'mcp-client-2025-04-04',
'content-type': 'application/json'
}
}, JSON.stringify(claudeRequest));
オプション3: OpenAI APIとMCPサーバーを使用する場合
OpenAIのAPIとデプロイされたMCPサーバーをプログラムで使用する場合は、以下のように設定します。
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const res = await openai.responses.create({
model: "gpt-4.1",
tools: [
{
type: "mcp",
server_label: "fetchserp",
server_url: "https://mcp.fetchserp.com/sse",
headers: {
Authorization: `Bearer ${FETCHSERP_API_TOKEN}`
}
}
],
input: question
});
console.log(res.choices[0].message);
オプション4: Dockerを使用する場合
GitHub Container Registryから事前構築されたDockerイメージを使用して、コンテナ化されたデプロイを行います。
{
"mcpServers": {
"fetchserp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FETCHSERP_API_TOKEN",
"ghcr.io/fetchserp/fetchserp-mcp-server-node:latest"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
Dockerの特徴
- ✅ コンテナ化されたデプロイ
- ✅ クロスプラットフォーム互換性(ARM64 & AMD64)
- ✅ 分離された環境
- ✅ 簡単なスケーリングとデプロイ
- ✅ GitHubからの自動ビルド
手動でのDockerの使用方法
docker pull ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
docker run -i --rm \
-e FETCHSERP_API_TOKEN="your_token_here" \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
docker run -p 8000:8000 \
-e FETCHSERP_API_TOKEN="your_token_here" \
-e MCP_HTTP_MODE=true \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
利用可能なツール
ドメイン & SEO分析
get_backlinks
ドメインのバックリンクを取得します。
- domain (必須): 対象のドメイン
- search_engine: google, bing, yahoo, duckduckgo (デフォルト: google)
- country: 国コード (デフォルト: us)
- pages_number: 検索するページ数 1-30 (デフォルト: 15)
get_domain_info
ドメインの包括的な情報を取得します。
get_domain_emails
ドメインからメールアドレスを抽出します。
- domain (必須): 対象のドメイン
- search_engine: 検索エンジン (デフォルト: google)
- country: 国コード (デフォルト: us)
- pages_number: 検索するページ数 1-30 (デフォルト: 1)
get_playwright_mcp
Playwright MCPサーバーを介してGPT-4.1を使用してブラウザをリモートコントロールします。
- prompt (必須): ブラウザのリモートコントロールに使用するプロンプト
このエンドポイントは、Playwright MCPサーバーを介してGPT-4.1を使用してブラウザをリモートコントロールします。
get_webpage_seo_analysis
ウェブページの包括的なSEO分析を行います。
get_webpage_ai_analysis
AIによるウェブページ分析を行います。
- url (必須): 分析するURL
- prompt (必須): 分析用のプロンプト
get_moz_analysis
Mozのドメイン権威とメトリクスを取得します。
キーワードリサーチ
get_keywords_search_volume
キーワードの検索量を取得します。
- keywords (必須): キーワードの配列
- country: 国コード
get_keywords_suggestions
キーワードの提案を取得します。
- url: 分析するURL (キーワードが提供されている場合は省略可能)
- keywords: シードキーワードの配列 (URLが提供されている場合は省略可能)
- country: 国コード
get_long_tail_keywords
ロングテールキーワードを生成します。
- keyword (必須): シードキーワード
- search_intent: informational, commercial, transactional, navigational (デフォルト: informational)
- count: 生成する数 1-500 (デフォルト: 10)
SERP & 検索
get_serp_results
検索エンジンの結果を取得します。
- query (必須): 検索クエリ
- search_engine: google, bing, yahoo, duckduckgo (デフォルト: google)
- country: 国コード (デフォルト: us)
- pages_number: 検索するページ数 1-30 (デフォルト: 1)
get_serp_html
HTMLコンテンツ付きのSERP結果を取得します。
get_serp_text
テキストコンテンツ付きのSERP結果を取得します。
get_serp_ai_mode
AI概要とAIモードのレスポンス付きのSERPを取得します。
- query (必須): 検索クエリ
- country: 国コード (デフォルト: us)
このクエリに対するAI概要とAIモードのレスポンスを返します。2段階のプロセスよりも信頼性は低いですが、30秒以内に結果を返します。
check_page_indexation
ドメインがキーワードでインデックスされているかどうかを確認します。
- domain (必須): 対象のドメイン
- keyword (必須): 検索キーワード
get_domain_ranking
キーワードに対するドメインのランキングを取得します。
- keyword (必須): 検索キーワード
- domain (必須): 対象のドメイン
- search_engine: 検索エンジン (デフォルト: google)
- country: 国コード (デフォルト: us)
- pages_number: 検索するページ数 1-30 (デフォルト: 10)
ウェブスクレイピング
scrape_webpage
JavaScriptを使用せずにウェブページをスクレイピングします。
scrape_domain
ドメインから複数のページをスクレイピングします。
- domain (必須): 対象のドメイン
- max_pages: スクレイピングする最大ページ数、最大200 (デフォルト: 10)
scrape_webpage_js
カスタムJavaScriptを使用してウェブページをスクレイピングします。
- url (必須): スクレイピングするURL
- js_script (必須): 実行するJavaScriptコード
scrape_webpage_js_proxy
JavaScriptとプロキシを使用してウェブページをスクレイピングします。
- url (必須): スクレイピングするURL
- country (必須): プロキシの国
- js_script (必須): 実行するJavaScriptコード
ユーザー管理
get_user_info
ユーザー情報とAPIクレジットを取得します。
APIトークン
このサーバーを使用するには、FetchSERP APIトークンが必要です。
APIトークンの取得方法:
- https://www.fetchserp.com でサインアップします。
- 新規ユーザーは自動的に250の無料クレジットを受け取ります。
- APIトークンはダッシュボードで利用可能になります。
トークンを環境変数として設定します。
export FETCHSERP_API_TOKEN="your_token_here"
エラーハンドリング
サーバーには包括的なエラーハンドリングが組み込まれています。
- APIトークンの欠落検証
- APIレスポンスのエラーハンドリング
- 入力検証
- 適切なMCPエラーレスポンス
Dockerデプロイ
docker build --platform=linux/amd64 -t olivier86/fetchserp-mcp-server-node:latest --push .
docker build --platform=linux/amd64 -t ghcr.io/fetchserp/mcp-server-node:latest --push .
docker run -p 8000:8000 olivier86/fetchserp-mcp-server-node:latest
トンネリングを開始するには
nohup ngrok http 8000 --domain guinea-dominant-jolly.ngrok-free.app > /var/log/ngrok.log 2>&1 &
npm login
npm publish --access public