MCP-researcher Server
MCP研究者サーバー
Cline および Claude Desktop と統合された強力なリサーチ アシスタントです。Perplexity AI を活用して、インテリジェントな検索、ドキュメントの取得、API の検出、コードの最新化支援など、すべてコーディング中に実行できます。
特徴
シームレスなコンテキストトラッキング: SQLiteデータベースに会話履歴を維持し、複数のクエリにわたって一貫した応答を提供します。
高度なクエリ処理: Perplexity の Sonar モデルを使用して、複雑な質問に対する高度な推論と詳細な回答を生成します。
インテリジェントなレート管理: 指数バックオフによる適応型レート制限を実装し、制限に達することなく API の使用を最大化します。
高性能ネットワーク:接続プールと自動再試行ロジックを使用して API 呼び出しを最適化し、信頼性の高い操作を実現します。
Related MCP server: Perplexity Tool for Claude Desktop
ツール
1. 検索
一般的な検索クエリを実行して、あらゆるトピックに関する包括的な情報を取得します。この例では、異なる詳細レベル(簡潔、標準、詳細)を使用して、適切な回答を取得する方法を示します。
2. ドキュメントを入手する
特定のテクノロジー、ライブラリ、またはAPIのドキュメントと使用例を取得します。この例では、ベストプラクティスやよくある落とし穴を含む、Reactフックに関する包括的なドキュメントの取得方法を示します。
3. APIを探す
プロジェクトに統合可能なAPIを発見し、評価します。この例では、機能、価格、統合の複雑さを詳細に分析し、決済処理APIを見つける方法を示します。
4. 非推奨のコードを確認する
非推奨の機能やパターンがないかコードを解析し、移行ガイダンスを提供します。この例では、Reactのクラスコンポーネントとライフサイクルメソッドをチェックして、最新の代替手段を探す方法を示します。
インストール
必要に応じて、この部分を直接 claude に貼り付けると、AI がインストールします。
まだインストールされていない場合は、まずNode.jsをインストールします(nodejs.orgから)。
リポジトリをクローンする
依存関係をインストールしてビルドする
https://www.perplexity.ai/settings/apiから Perplexity API キーを取得します。
OS に応じて適切な場所に MCP 設定ファイルを作成します。
Claude Desktop で使用するには、サーバー設定を追加します。
Cline で使用するには、mcpServers に追加します。
{
"mcpServers": {
"perplexity-server": {
"command": "node",
"args": ["[path/to/researcher-mcp/build/index.js]"],
"env": {
"PERPLEXITY_API_KEY": "pplx-...",
"PERPLEXITY_MODEL": "sonar-reasoning" // you can use different models
},
"disabled": false,
"alwaysAllow": [],
"autoApprove": [
"search",
"get_documentation",
"find_apis",
"check_deprecated_code",
"get_request_status"
]
}
}
}サーバーをビルドする: npm run build
Available Tools
4 toolscheck_deprecated_codeC
Check if code or dependencies might be using deprecated features
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code snippet or dependency to check | |
| technology | No | The technology or framework context (e.g., 'React', 'Node.js') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond its basic function. It does not state if the check is read-only, whether it executes the code, what input format is expected, or what output is produced. With no annotations, this lack of detail is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant information. It gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the small parameter count, the description lacks crucial information about the tool's behavior and return value. Without an output schema or annotations, the agent is left without a clear picture of what to expect. The description is too minimal to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes both parameters (code and technology), so the description doesn't need to elaborate. The description adds no additional parameter context beyond the schema, aligning with the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: checking code or dependencies for deprecated features. It distinguishes from sibling tools like search and get_documentation by focusing on deprecation analysis rather than general information retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like search or get_documentation. The description only states what it does, implying usage but offering no exclusions or comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_apisC
Find and evaluate APIs that could be integrated into a project
| Name | Required | Description | Default |
|---|---|---|---|
| requirement | Yes | The functionality or requirement you're looking to fulfill | |
| context | No | Additional context about the project or specific needs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the purpose. It doesn't mention whether the tool performs live searches, what evaluation criteria are used, what output format is returned, or any side effects. This is a significant lack of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded and directly conveys the tool's purpose. Every word earns its place, and there is no unnecessary detail or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should compensate by explaining return values, research process, or usage context. It does none of this, leaving the agent without a clear picture of the tool's output, behavior, or when to choose it over siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (requirement and context) with 100% coverage, so the baseline is 3. The tool description adds no additional meaning beyond the schema; it doesn't explain how the parameters influence behavior or results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds and evaluates APIs for project integration, using a specific verb and resource. It distinguishes itself from sibling tools like general search and get_documentation, though it doesn't detail the evaluation criteria or depth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It doesn't mention any exclusions, prerequisites, or comparisons with sibling tools like search or get_documentation, leaving the appropriate usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentationB
Get documentation and usage examples for a specific technology, library, or API
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The technology, library, or API to get documentation for | |
| context | No | Additional context or specific aspects to focus on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only restates the primary function and reveals nothing about potential side effects, output format, source reliability, or limitations. The agent is left guessing about what 'documentation' entails (e.g., official docs, community examples, version specifics).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main verb and resource. There is no wasted wording or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with full schema coverage and no output schema, the description is minimally viable but lacks usage guidance and behavioral context. It could be more complete by explaining what types of documentation are returned or how it differs from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides; it merely reiterates 'specific technology, library, or API' which matches the 'query' parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and the resource ('documentation and usage examples') for a 'specific technology, library, or API.' This is specific and distinguishes it from generic search, though it doesn't explicitly call out sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like search, find_apis, or chat_perplexity. The description implies a documentation-focused purpose but provides no exclusions, prerequisites, or contextual cues for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Perform a general search query to get comprehensive information on any topic
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query or question | |
| detail_level | No | Optional: Desired level of detail (brief, normal, detailed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only promises 'comprehensive information' without noting whether the tool is read-only, what data source it accesses, whether it has rate limits, or what the response format looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence description is efficient and front-loaded with the verb and resource. It contains no filler, though its brevity limits the amount of actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema and lack of an output schema, the description still leaves important gaps: it does not explain what kind of results are returned, when this tool should be preferred over sibling tools, or how the optional detail_level affects behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with descriptions, giving 100% coverage. The description adds only generic context ('any topic') and does not enrich the meaning of the parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Perform a general search query') and resource ('search') to gather information. However, it does not differentiate this from sibling tools like get_documentation or find_apis, so it stops short of full clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over alternatives. The phrase 'any topic' is extremely broad and gives no context or exclusions, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
check_deprecated_code - First observed
find_apis - First observed
get_documentation - First observed
search
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: checking deprecated code, finding APIs, getting documentation, and performing general searches. The descriptions make it easy for an agent to select the right tool for each specific research task.
Three tools follow a consistent verb_noun pattern (check_deprecated_code, find_apis, get_documentation), but 'search' deviates as a single verb without an object. This minor inconsistency slightly affects predictability, though all names remain readable.
With only 4 tools, the set feels thin for a research server that aims to cover broad information-gathering tasks. While each tool is useful, the scope suggests more specialized research operations could be missing, making it borderline appropriate.
The tools cover key research functions like checking deprecations, finding APIs, getting docs, and general searches, but there are notable gaps. For example, missing tools for comparing technologies, validating information sources, or tracking research progress limit comprehensive workflow coverage.
Maintenance
Related MCP Connectors
Real-time web search, reasoning, and research through Perplexity's API
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Enable AI assistants to perform web searches using Perplexity's Sonar Pro.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables intelligent code analysis and debugging through the Perplexity AI's API, offering detailed error analysis, pattern detection, and comprehensive solutions, with integration support for the Claude desktop client.1988 npm13MIT
- AlicenseCqualityFmaintenanceA custom MCP tool that integrates Perplexity AI's API with Claude Desktop, allowing Claude to perform web-based research and provide answers with citations.16MIT
- FlicenseAqualityDmaintenanceIntegrates Perplexity AI's search-enhanced language models with Claude Desktop, providing three tools with different complexity levels for quick fact-checking, technical analysis, and deep research.32-
- AlicenseNot gradedqualityDmaintenanceExposes Perplexity AI's search capabilities to Claude, enabling real-time web search and information retrieval within the assistant. The project is currently in active development with plans to support Perplexity Spaces and multi-source data synthesis.Apache 2.0