ResearchMCP について
ResearchMCPは、Perplexity AIを使ったインターネット調査を行うGoサービスです。最新の詳しい情報を求めるMCPクライアント向けに、単一の調査ツールと設定可能なリクエスト処理を提供します。
主な機能
- 01Perplexity AIによるインターネット調査
- 02調査クエリ用ツール
- 03モデルとリクエストタイムアウトの設定
- 04リトライとバックオフの設定
- 05構造化ログ
活用シーン
- 01最新のトピックの調査
- 02質問に関する詳しい情報の収集
MCP 対応
MCP経由で調査ツールを公開し、クライアントからのクエリをPerplexity AIに送り、調査結果を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ResearchMCP
Perplexity AI を使用したインターネットリサーチのためのモデル補完プロトコル(MCP)サービスです。
概要
ResearchMCP は、MCP プロトコルを通じてインターネットリサーチ機能を提供するサービスです。幅広いトピックについて、Perplexity AI の API に問い合わせて詳細かつ最新の情報を取得できる「research」ツールを公開します。
特長
- Perplexity AI によるインターネットリサーチ
- ツールの検出と呼び出しのための MCP プロトコルとの統合
- 縮退モードによる適切なエラー処理
- 環境変数による設定
- 構造化ログ
必要条件
- Go 1.18 以降
- Perplexity AI API キー
設定
このサービスは環境変数で設定します。
| 変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
| PERPLEXITY_API_KEY | Perplexity AI の API キー | はい | - |
| PERPLEXITY_MODEL | リサーチに使用するモデル | いいえ | sonar-medium-online |
| PERPLEXITY_TIMEOUT | API リクエストのタイムアウト(秒) | いいえ | 90 |
| PERPLEXITY_MAX_RETRIES | 最大リトライ回数 | いいえ | 2 |
| PERPLEXITY_INITIAL_BACKOFF | 初期バックオフ時間(秒) | いいえ | 1 |
| PERPLEXITY_MAX_BACKOFF | 最大バックオフ時間(秒) | いいえ | 10 |
使用方法
- 必要な環境変数を設定します(
.envファイルを使用できます) - サービスをビルドして実行します。
go build
./ResearchMCP
.env ファイルの例
PERPLEXITY_API_KEY=your_api_key_here
PERPLEXITY_MODEL=sonar-medium-online
PERPLEXITY_TIMEOUT=120
PERPLEXITY_MAX_RETRIES=3
PERPLEXITY_INITIAL_BACKOFF=2
PERPLEXITY_MAX_BACKOFF=15
API
リサーチツール
名前:research
入力スキーマ:
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The research query or question"
}
},
"required": ["query"]
}
リクエストの例:
{
"name": "research",
"arguments": {
"query": "What is the current state of quantum computing?"
}
}
レスポンスの例:
{
"content": [
{
"type": "text",
"text": "Comprehensive research report on quantum computing...\n\nSources:\n- https://example.com/source1\n- https://example.com/source2"
}
]
}
開発
プロジェクト構成
main.go:アプリケーションのエントリーポイントconfig.go:設定の処理logger.go:ロギング基盤perplexity.go:Perplexity API との統合structs.go:データ構造context.go:コンテキストの処理
コードスタイル
付属のスクリプトを使ってフォーマットとリンティングを実行します。
./run_format.sh
./run_lint.sh
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。