Developer Research MCP Server について
技術やソフトウェア開発の情報を探す AI エージェントや開発ツール向けの、モジュール型 MCP ウェブ調査サーバーです。現在は OpenRouter を利用し、他の調査プロバイダーも追加できる設計です。
主な機能
- 01OpenRouter によるウェブ検索
- 02技術・開発分野に重点を置いた結果
- 03モジュール型プロバイダー構成
- 04エラー処理とリトライ
- 05構造化された JSON 応答
活用シーン
- 01AI エージェントによる技術トピックの調査
- 02開発関連のウェブ検索結果を JSON で取得
- 03他の調査プロバイダーの統合
MCP 対応
MCP クライアントに `search_web` ツールを提供し、検索語、結果数、検索の重点を指定できます。stdio で通信し、Roo Code などのツールでの利用が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
開発者向けリサーチ MCP サーバー
このリポジトリには、AI エージェントやその他の開発ツール向けに、主にウェブ検索などの構造化されたリサーチ機能を提供する Model Context Protocol(MCP)サーバーが含まれています。MCP により、クライアント(AI エージェントなど)と、専門的なツールを提供するサーバー間の標準化された通信が可能になります。
このサーバーは、当初ウェブ検索機能に OpenRouter を使用していますが、将来的に他の検索エンジンやデータベースなどのリサーチプロバイダーを簡単に統合できる、拡張性の高いアーキテクチャで構築されています。
目次
機能
- OpenRouter などのプロバイダーを通じたウェブ検索機能を提供します。
- 技術やソフトウェア開発に関するコンテンツの取得に最適化されています。
- 複数のリサーチプロバイダーをサポートできるよう、拡張性を考慮して設計されています。
- 信頼性の高いエラー処理と再試行の仕組みを実装しています。
- プログラムからの利用に適した、構造が整った一貫性のある JSON 形式で結果を提供します。
アーキテクチャと拡張性
このサーバーはモジュール式のアーキテクチャを採用しています。各リサーチプロバイダー(OpenRouter など)は、共通インターフェースに準拠する独立したモジュールとして実装されています。この設計により、次のことを簡単に行えます。
- 新しい検索エンジンやデータソースのサポートを追加する。
- 設定やリクエストパラメーターに基づいてプロバイダーを切り替える(今後の拡張)。
- プロバイダー固有のロジックを個別に保守、更新する。
前提条件
インストール
-
リポジトリをクローンします。
git clone https://github.com/yourusername/developer-research-server.git # Replace with the actual URL cd developer-research-server -
依存関係をインストールします。 npm を使用して、プロジェクトの依存関係をインストールします。
npm install -
プロジェクトをビルドします。 TypeScript コードを JavaScript にコンパイルします。
npm run buildコンパイルされた出力は
build/ディレクトリに格納されます。
設定
サーバーは環境変数を使用して設定します。
-
.envファイルを作成します。mcp-config-sample.jsonがある場合はそれを.envファイルにコピーし、ない場合は手動で作成して、プロジェクトのルートに配置します。# Example .env file content: OPENROUTER_API_KEY=your_openrouter_api_key_here OPENROUTER_API_URL=https://openrouter.ai/api/v1注:シークレットをコミットしないよう、
.envファイルが.gitignoreに追加されていることを確認してください。 -
必須の環境変数:
OPENROUTER_API_KEY(OpenRouter プロバイダーに必須):ご自身の OpenRouter API キーです。OPENROUTER_API_URL(任意):OpenRouter API のベース URL です。デフォルトはhttps://openrouter.ai/api/v1です。
今後追加されるプロバイダーでは、異なる環境変数が必要になる場合があります。
利用方法
この MCP サーバーを直接実行すると、標準入力/出力(stdio)経由でリクエストを受け付けます。Roo Code などのツールに統合できるように設計されています。
Roo Code での使用
このサーバーを Roo Code で使用するには、.roo/mcp.json ファイルに次の設定を追加します。args のパスは、クローンしたリポジトリ内にあるコンパイル済みの index.js ファイルを指すように調整してください。
{
"mcpServers": {
"developer-research": {
// Changed name to be more generic
"command": "node",
"args": ["/full/path/to/your/developer-research-server/build/index.js"], // <-- IMPORTANT: Update this path
"env": {
// Environment variables are typically loaded from the .env file
// Or can be explicitly set here if needed, but .env is recommended for secrets
// "OPENROUTER_API_KEY": "your-openrouter-api-key", // <-- Replace or load from .env
// "OPENROUTER_API_URL": "https://openrouter.ai/api/v1"
},
"alwaysAllow": ["search_web"], // List tools the agent can always use
"timeout": 60 // Timeout in seconds
}
}
}
重要:
/full/path/to/your/developer-research-server/build/index.jsを、お使いのシステム上の正しい絶対パスに置き換えてください。OPENROUTER_API_KEYは安全に設定してください。mcp.jsonにハードコードするのではなく、サーバープロセス自体が読み込む.envファイルで設定することを推奨します。
利用可能なツール
現在、このサーバーでは次のツールを提供しています。
search_web
設定済みのプロバイダー(現在は OpenRouter)を使用してウェブ検索を行い、関連する結果を返します。
パラメーター
query(string、必須):検索クエリです。num_results(integer、任意):希望する検索結果の数です。1〜10 の範囲で指定してください。デフォルトは 5 です。focus(string、任意):検索の対象分野を指定します。対応している値は"technical"、"development"、"general"です。デフォルトは"technical"です。
例(Roo Code の概念的な使用例)
// Within a Roo Code agent or script
const searchResults = await useMcpTool("developer-research", "search_web", {
query: "advanced typescript patterns",
num_results: 3,
focus: "technical",
});
console.log(searchResults);
レスポンス形式
ツールは、次の構造の JSON オブジェクトを返します。
{
"success": true, // Boolean indicating if the search was successful
"results": [
// Array of result objects
{
"title": "Title of the search result",
"url": "https://example.com/page",
"content": "A snippet or summary of the page content...",
"domain": "example.com"
}
// ... more results
],
"total_results": 3 // The actual number of results returned
}
エラーが発生した場合、レスポンスは次のようになります。
{
"success": false,
"error": "Description of the error that occurred."
}
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。