Integrations
SearchAPI.site - MCP サーバー
このプロジェクトは、 SearchAPI.siteを介して AI アシスタントを外部データ ソース (Google、Bing など) に接続するモデル コンテキスト プロトコル (MCP) サーバーを提供します。
利用可能なプラットフォーム
- [x] Google - ウェブ検索
- [x] Google - 画像検索
- [x] Google - YouTube検索
- [ ] Googleマップ検索
- [x] Bing - ウェブ検索
- [ ] Bing - 画像検索
- [ ] レディット
- [ ] X/ツイッター
- [ ] Facebook検索
- [ ] Facebookグループ検索
- [ ] インスタグラム
- [ ] ティックトック
SearchAPI.site
- Webサイト
- APIドキュメント
- Swagger UI 構成
- ここで検索APIキーを作成
- GitHub
サポートされているトランスポート
- [x] "stdio"トランスポート - CLI 使用時のデフォルトのトランスポート
- [x]「ストリーミング可能なHTTP」トランスポート - Webベースのクライアント向け
- [ ] 認証を実装する(
Bearer <token>
を使用した「Authorization」ヘッダー)
- [ ] 認証を実装する(
- [ ]
「sse」輸送(非推奨)
使い方
コマンドライン
MCPセットアップ
stdio トランスポートを使用したローカル構成の場合:
リモート HTTP 構成の場合:
HTTP トランスポートの環境変数:
次の環境変数を使用して HTTP サーバーを構成できます。
MCP_HTTP_HOST
: バインドするホスト(デフォルト:127.0.0.1
)MCP_HTTP_PORT
: リッスンするポート(デフォルト:8080
)MCP_HTTP_PATH
: エンドポイントパス(デフォルト:/mcp
)
ソースコードの概要
MCPとは何ですか?
モデル コンテキスト プロトコル (MCP) は、AI システムが外部ツールやデータ ソースに安全かつコンテキストに応じて接続できるようにするオープン スタンダードです。
このボイラープレートは、任意の API またはデータ ソース用のカスタム MCP サーバーを構築するために拡張できる、クリーンな階層化アーキテクチャを使用して MCP 仕様を実装します。
この定型句を使用する理由
- 実稼働対応アーキテクチャ: 公開された MCP サーバーで使用されるのと同じパターンに従い、CLI、ツール、コントローラー、およびサービスが明確に分離されています。
- 型の安全性: 開発者エクスペリエンス、コード品質、保守性を向上させるために TypeScript を使用して構築されています。
- 動作例: CLI から API 統合までの完全なパターンを示す、完全に実装された IP 検索ツールが含まれています。
- テスト フレームワーク: カバレッジ レポートを含む、ユニット テストと CLI 統合テストの両方のテスト インフラストラクチャが付属しています。
- 開発ツール: ESLint、Prettier、TypeScript、および MCP サーバー開発用に事前構成されたその他の高品質ツールが含まれています。
はじめる
前提条件
- Node.js (>=18.x):ダウンロード
- Git : バージョン管理用
ステップ1: クローンとインストール
ステップ2: 開発サーバーを実行する
stdio トランスポートを使用して開発モードでサーバーを起動します (デフォルト)。
または、ストリーミング可能な HTTP トランスポートを使用する場合:
これにより、ホットリロードで MCP サーバーが起動し、 http://localhost:5173で MCP インスペクターが有効になります。
⚙️ プロキシ サーバーはポート 6277 で待機しています 🔍 MCP Inspector はhttp://127.0.0.1:6274で稼働しています
HTTP トランスポートを使用する場合、サーバーはデフォルトでhttp://127.0.0.1:8080/mcpで利用できるようになります。
ステップ3: サンプルツールをテストする
CLI からサンプル IP 検索ツールを実行します。
建築
このボイラープレートは、懸念事項を分離し、保守性を促進する、クリーンな階層化アーキテクチャ パターンに従います。
プロジェクト構造
階層と責任
CLI レイヤー ( src/cli/*.cli.ts
)
- 目的: 引数を解析してコントローラを呼び出すコマンドラインインターフェースを定義する
- 命名: ファイル名は
<feature>.cli.ts
とします - テスト:
<feature>.cli.test.ts
内の CLI 統合テスト
ツールレイヤー ( src/tools/*.tool.ts
)
- 目的: AIアシスタント用のスキーマと説明を備えたMCPツールを定義する
- 命名: ファイルは
<feature>.tool.ts
という名前にし、型は<feature>.types.ts
に記述します。 - パターン: 各ツールは引数の検証に zod を使用する必要があります
コントローラーレイヤー ( src/controllers/*.controller.ts
)
- 目的: ビジネスロジックを実装し、エラーを処理し、応答をフォーマットする
- 命名: ファイル名は
<feature>.controller.ts
とします - パターン: 標準化された
ControllerResponse
オブジェクトを返す必要があります
サービス層 ( src/services/*.service.ts
)
- 目的: 外部APIまたはデータソースとのやり取り
- 命名: ファイル名は
<feature>.service.ts
とします - パターン: 最小限のロジックによる純粋な API のインタラクション
ユーティリティ層 ( src/utils/*.util.ts
)
- 目的: アプリケーション全体で共有機能を提供する
- 主なユーティリティ:
logger.util.ts
: 構造化ログerror.util.ts
: エラー処理と標準化formatter.util.ts
: Markdown フォーマットヘルパー
開発ガイド
開発スクリプト
テスト
コード品質
カスタムツールの構築
独自のツールをサーバーに追加するには、次の手順に従います。
1. サービス層を定義する
外部 API と対話するためにsrc/services/
に新しいサービスを作成します。
2. コントローラーを作成する
ビジネス ロジックを処理するために、 src/controllers/
にコントローラーを追加します。
3. MCPツールを実装する
src/tools/
にツール定義を作成します。
4. CLIサポートを追加する
src/cli/
に CLI コマンドを作成します。
5. コンポーネントを登録する
新しいコンポーネントを登録するには、エントリ ポイントを更新します。
デバッグツール
MCP検査官
ビジュアル MCP インスペクターにアクセスしてツールをテストし、リクエスト/レスポンスの詳細を表示します。
npm run dev:server
実行します。- ブラウザでhttp://localhost:5173を開きます。
- ツールをテストし、UI で直接ログを表示します
サーバーログ
開発用のデバッグ ログを有効にします。
MCPサーバーの公開
カスタム MCP サーバーを公開する準備ができたら、次の手順を実行します。
- 詳細を記載したpackage.jsonを更新します
- ツールのドキュメントをREADME.mdに更新する
- プロジェクトをビルドします:
npm run build
- 本番ビルドをテストする:
npm run start:server
- npmに公開:
npm publish
ライセンス
**注:**後方互換性のため、 searchapi
キーが見つからない場合、サーバーは完全なパッケージ名 ( searchapi-mcp-server
) またはスコープ外のパッケージ名 ( searchapi-mcp-server
) の設定も認識します。ただし、新しい設定では短縮形のsearchapi
キーを使用することをお勧めします。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
AI アシスタントを SearchAPI.site 経由で外部データ ソース (Google、Bing など) に接続し、Web 情報への安全でコンテキストに基づいたアクセスを実現するモデル コンテキスト プロトコル (MCP) を実装します。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.Last updated -12,8061,458TypeScriptMIT License
- AsecurityFlicenseAqualityAn MCP protocol server that enables web search functionality using the Tavily API, allowing AI assistants to perform internet searches in real-time.Last updated -42Python
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform real-time web searches using the Exa AI Search API in a safe and controlled manner.Last updated -2,806
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to perform real-time web searches, retrieving up-to-date information from the internet via a Crawler API.Last updated -1448JavaScript