Paper Search MCP
Paper Search MCP
学術論文を複数のソースから検索・ダウンロードするためのModel Context Protocol(MCP)サーバーです。このプロジェクトは「フリー優先」戦略に従います。オープンで公開されたデータソースを優先し、安定性やカバレッジが向上する場合にはオプションのAPIキーをサポートし、ソース固有のコネクタは上級ユーザー向けに拡張可能に保ちます。
目次
Related MCP server: Academic Paper MCP HTTP/SSE Server
概要
paper-search-mcp は、さまざまなプラットフォームから学術論文を検索・ダウンロードするためのPythonベースのツールです。論文の検索、PDFのダウンロード、テキスト抽出のためのツールを提供し、研究者やAI駆動のワークフローに最適です。MCPサーバー(Claude Desktopやその他のMCPクライアント向け)として、またはCLIインターフェースを備えたClaude Codeスキルとして使用できます。
プロジェクトの原則
フリー優先: 公開・オープンなソースをデフォルトのロードマップとします。有料または制限付きのソースは、このプロジェクトの中心的な方向性ではありません。
オプションのAPIキー: APIキーは、安定性、レート制限、メタデータ品質を向上させる場合にのみサポートされます。MCPは可能な限りキーなしでも使用できるようにする必要があります。
LLMに優しい取得: 検索結果は、下流のLLMワークフローのために標準化され、重複排除され、可能な限り完全であるべきです。
ソースの透明性: ソースによって強みが異なります。MCPは、すべてのソースが全文取得をサポートしているかのように装うのではなく、それらのトレードオフを明示する必要があります。
特徴
2層アーキテクチャ:
レイヤー1(統合ツール): 複数ソースの並行検索と重複排除を行う高レベルな
search_papersと、出版社のオープンアクセスリンクに依存し、順次フォールバックするdownload_with_fallback。レイヤー2(プラットフォームコネクタ): 特定の学術プラットフォーム(arXiv、PubMed、bioRxiv、Semantic Scholarなど)向けのモジュール式コネクタ。正規表現テキスト分析またはAPIフィールドによるインテリジェントなDOI抽出を備えています。
複数ソース対応: arXiv、PubMed、bioRxiv、medRxiv、Google Scholar、IACR ePrint Archive、Semantic Scholar、Crossref、OpenAlex、PubMed Central(PMC)、CORE、Europe PMC、dblp、OpenAIRE、CiteSeerX、DOAJ、BASE、Zenodo、HAL、SSRN、Unpaywall(DOIルックアップ)、およびオプションのSci-Hubワークフローから論文を検索・ダウンロードできます。
標準化された出力: 論文は
Paperクラスを介して一貫した辞書形式で返されます。フリー優先設計: オープンで公開されたソースが、オプションの商用または制限付き統合よりも優先されます。
オプションのAPIキー拡張: Semantic Scholarなどのソースは、ユーザー提供のAPIキーでより良く動作しますが、有料利用を強制するものではありません。
発見と取得のワークフロー: Google ScholarとCrossrefは発見とDOIの補完に使用でき、オープンリポジトリと出版社リンクは、利用可能な場合の合法的な全文解決に使用されます。
OA優先フォールバックチェーン:
download_with_fallbackは、ソースネイティブのダウンロード → OpenAIRE/CORE/Europe PMC/PMCの発見 → UnpaywallのDOI解決 → オプションのSci-Hubの順に従います。MCP統合: LLMコンテキスト拡張のためのMCPクライアントと互換性があります。
拡張可能な設計:
academic_platformsモジュールを拡張することで、新しい学術プラットフォームを簡単に追加できます。
ソース戦略
長期的な目標は、単一の検索エンジンに依存することではなく、明確な役割を持つ複数の無料・公開ソースを組み合わせることです。
オープンメタデータのバックボーン: Crossref、OpenAlex、Semantic Scholar、dblp、CiteSeerX、SSRN、Unpaywall(DOI中心のOAメタデータ)。
分野固有のソース: arXiv、PubMed、PubMed Central、Europe PMC、IACR。
オープンアクセスの全文ソース: arXiv、PMC、CORE、OpenAIRE、DOAJ、BASE、Zenodo、HAL、出版社のオープンアクセスリンク。
発見とDOIの回復: Google Scholarは、他の公開メタデータソースが不完全な場合に、タイトル、バージョン、DOIの手がかりを見つけるのに役立ちます。
推奨されるフリー優先ロードマップ:
現在の公開ソースを安定に保つ。
広範な無料メタデータソースとしてOpenAlexを追加する。
生物医学の全文アクセスを強化するためにPubMed CentralとEurope PMCを追加する。
リポジトリベースのオープンアクセス取得のためにCOREとOpenAIREを追加する。
Google Scholarは主に発見のフォールバックとして使用し、主要な正規ソースとしては使用しない。
プラットフォーム機能マトリックス
このマトリックスは、このリポジトリの機能テストとエンドツーエンドの回帰テストから得られた検証済みのライブ統合結果を反映しています。列は、通常の条件下で観察された最高の機能レベルを示しています。
プラットフォーム | 検索 | ダウンロード | 読み取り | 備考 |
arXiv | ✅ | ✅ | ✅ | オープンAPI; 信頼性あり |
PubMed | ✅ | ❌ | ⚠️ 情報のみ | オープンAPI; 信頼性あり |
bioRxiv | ✅ | ✅ | ✅ | オープンAPI; 信頼性あり |
medRxiv | ✅ | ✅ | ✅ | オープンAPI; 信頼性あり |
Google Scholar | ⚠️ | ❌ | ❌ | ボット検出が有効; |
IACR | ✅ | ✅ | ✅ | オープンAPI; 信頼性あり |
Semantic Scholar | ✅ | ✅ (OA) | ✅ (OA) | キーなしで動作(レート制限あり); キーで制限が改善; キー拒否(403)は自動的にキーなしで再試行 |
Crossref | ✅ | ❌ | ⚠️ 情報のみ | オープンAPI; 信頼性あり |
OpenAlex | ✅ | ❌ | ⚠️ 情報のみ | オープンAPI; 信頼性あり |
PMC | ✅ | ✅ (OAのみ) | ✅ (OAのみ) | OA PDFのみ; 一部のプロキシ環境では直接ダウンロードがブロックされる可能性あり |
CORE | ✅ | ✅ (レコード依存) | ✅ (レコード依存) | 無料キー推奨; コネクタはバックオフで再試行し、401/403ではキーなしにフォールバック |
Europe PMC | ✅ | ✅ (OA) | ✅ (OA) | OA PDFのみ; 一部のプロキシ環境では直接ダウンロードがブロックされる可能性あり |
dblp | ✅ | ❌ | ⚠️ 情報のみ | オープンAPI; 信頼性あり |
OpenAIRE | ✅ | ❌ | ❌ | オープンAPI; 一時的な403では段階的なリクエストプロファイルで3回再試行 |
CiteSeerX | ⚠️ | ✅ (レコード依存) | ⚠️ | APIエンドポイントが断続的に利用不可 / Webアーカイブにリダイレクト |
DOAJ | ✅ | ⚠️ (URL依存) | ⚠️ (URL依存) | PDFの利用可能性は記事によって異なります; 無料キーでレート制限が向上 |
BASE | ⚠️ | ✅ (レコード依存) | ✅ (レコード依存) | OAI-PMHエンドポイントは機関IP登録が必要; それ以外の場合は空を返す |
Zenodo | ✅ | ✅ (レコード依存) | ✅ (レコード依存) | オープンAPI; 信頼性あり |
HAL | ✅ | ✅ (レコード依存) | ✅ (レコード依存) | オープンAPI; 信頼性あり |
SSRN | ⚠️ | ⚠️ ベストエフォート | ⚠️ ベストエフォート | 403ボット検出が有効; 公開PDFのみ |
Unpaywall | ✅ (DOIルックアップ) | ❌ | ❌ | 必須: |
Sci-Hub (オプション) | ⚠️ フォールバックのみ | ✅ | ❌ | オプション; 不安定なミラー; ユーザー責任 |
IEEE Xplore 🔑 | 🚧 スケルトン | 🚧 スケルトン | 🚧 スケルトン | 有効化には |
ACM DL 🔑 | 🚧 スケルトン | 🚧 スケルトン | 🚧 スケルトン | 有効化には |
✅ = ライブテストで信頼性あり。 ⚠️ = 動作するが、上流の不安定性やアクセス制限の影響を受ける。 ❌ = サポートされていない。 🔑 = キーが必要。 🚧 = スケルトンのみ。
資格情報とAPIキーの要件
すべてのキーは、特に記載がない限りオプションです。~/.config/paper-search-mcp/.env(推奨)またはシェルのエクスポートで設定してください。
環境変数 | プロバイダー | 必須かどうか | 取得方法 |
| Unpaywall | 必須(設定しない場合Unpaywallは無効) | 有効なメールアドレスであれば何でも可。unpaywall.org で登録 |
| CORE | 推奨 | core.ac.uk/services/api で無料取得 |
| Semantic Scholar | 任意 | semanticscholar.org で無料取得 — レート制限が改善される |
| Google Scholar | 任意 | 自身のHTTP/HTTPSプロキシURL — ボット検出を回避 |
| DOAJ | 任意 | doaj.org で無料取得 — 時間あたりのレート制限が引き上げられる |
| Zenodo | 任意 | zenodo.org で無料取得 — 非公開レコードに必要 |
| IEEE Xplore | 有効化に必須 | developer.ieee.org で無料取得 |
| ACM DL | 有効化に必須 |
すべての変数は PAPER_SEARCH_MCP_<NAME> プレフィックス方式に従います。プレフィックスなしの旧名称(例: CORE_API_KEY、UNPAYWALL_EMAIL)も後方互換性のために引き続きサポートされています。
既知の上流側の制限事項
一部の検索失敗は、このプロジェクトのバグではなく、外部プロバイダーの不安定性が原因です:
ソース | 症状 | 原因 | 回避策 |
Google Scholar | 0件の結果 / 空のHTMLを返す | ボット検出(CAPTCHA) |
|
Semantic Scholar | 429レート制限レスポンス | 匿名アクセスのレート制限 |
|
CORE | 500 / タイムアウトエラー | 未認証のレート制限 |
|
OpenAIRE | 一時的な403レスポンス | IPベースのセッションレート制限 | コネクタはプロファイルごとに3回再試行し、段階的に: 通常セッション → XML Acceptヘッダー → Mozilla UA付きの生の |
CiteSeerX | Webアーカイブリダイレクト経由の404 | PSUエンドポイントが断続的にアーカイブへリダイレクト | 回避策なし。コネクタは空の結果を正常に返す |
BASE | 検索が0件を返す | OAI-PMHエンドポイントが機関IP登録を要求 | base-search.net でAPIアクセスを登録。それ以外の場合、コネクタは空の結果を正常に返す |
SSRN | HTTP 403 | ボット検出(Cloudflare) | 回避策なし。コネクタは2つのエンドポイントを試し、失敗時には明確なメッセージを返す |
PMC / Europe PMC | PDFダウンロードのProxyError | ローカルプロキシが直接HTTPS PDFダウンロードをブロック | プロキシを無効にするか、代わりに |
Unpaywall | 完全にスキップされる |
|
|
オプションの有料プラットフォームコネクタ(フェーズ3)
IEEE Xplore と ACM Digital Library のコネクタは オプトインのスケルトン として含まれています。 デフォルトでは無効 — 対応するキーを明示的に設定しない限り、API呼び出しは行われません。
プラットフォーム | 環境変数 | ステータス |
IEEE Xplore |
| 🚧 スケルトン — 検索は登録済み、ダウンロード/読み取りは |
ACM Digital Library |
| 🚧 スケルトン — 検索は登録済み、ダウンロード/読み取りは |
有効化方法:
export PAPER_SEARCH_MCP_IEEE_API_KEY=<your_ieee_key> # free key at https://developer.ieee.org/
export PAPER_SEARCH_MCP_ACM_API_KEY=<your_acm_key> # see https://libraries.acm.org/digital-libraryキーが設定されると、対応するソースが自動的に ALL_SOURCES に追加され、そのMCPツール(search_ieee / search_acm、download_ieee / download_acm、read_ieee_paper / read_acm_paper)がサーバー起動時に登録されます。
キーがない場合、コネクタは起動時の警告をログに出力するだけです — サーバーの他の部分には影響しません。
無料ソースの拡張(フェーズ4)
3つの追加の無料ソースコネクタがMCPサーバーに統合されました:
zenodo: 公式Zenodo REST APIコネクタ(検索 + レコード依存のPDF/読み取りサポート)。hal: HAL公開APIコネクタ(検索 + レコード依存のPDF/読み取りサポート)。ssrn: 堅牢化されたパーサーを備えたディスカバリ優先コネクタ。直接の公開PDFリンクが利用可能な場合にベストエフォートのダウンロード/読み取りを実行。unpaywall: スタンドアロン検索(search_unpaywall)とフォールバックURL解決のためのDOI中心のOAメタデータソース。
SSRN統合はコンプライアンス優先のままです: SSRNページが公開する直接の公開PDFリンクのみを試みます。ログイン/制限付き配信が必要な場合、コネクタはアクセス制御を迂回する代わりに明確なメッセージを返します。
Sci-Hubに関する注意
Sci-Hubサポートは、明示的に有効化を選択したユーザー向けのオプションのコネクタとして引き続き利用可能ですが、デフォルトまたは推奨の全文パスとして扱うべきではありません。
可用性は不安定で、ミラーは頻繁に変更されます。
法的・政策的リスクは管轄区域によって異なります。
READMEとツールの説明には、有効化と使用の責任はユーザーにあることを明確に記載する必要があります。
オープンアクセスおよび出版社が許可したソースを、可能な限り最初に試すべきです。
インストール
ワークフローに最適な方法を選択してください。すべての方法で同じオプションのAPIキーがサポートされています。
Claude Code(スキル)— Claude Codeユーザーに推奨
MCPサーバーではなく、Claude Codeスキルとしてインストールします。これにより、論文検索や学術文献などについて言及した際に、Claudeが自動的に論文検索にアクセスできるようになります — MCP設定は不要です。
前提条件: uv と Claude Code。
ステップ1 — CLIをインストール:
uv tool install paper-search-mcpステップ2 — スキルをインストール:
mkdir -p ~/.claude/skills/paper-search
curl -fsSL https://raw.githubusercontent.com/openags/paper-search-mcp/main/claude-code/SKILL.md \
-o ~/.claude/skills/paper-search/SKILL.mdステップ3(任意)— APIキーを設定:
オプションのAPIキー用に ~/.config/paper-search-mcp/.env を作成します(環境変数を参照)。
これで完了です。 次回Claude Codeを起動したら、論文を探すように依頼するだけで、スキルが自動的に有効化されます。例:
"CRISPR塩基編集に関する最近の論文を探して"
"トランスフォーマー注意機構についてarxivとsemantic scholarで検索して"
"arxiv論文2106.12345のPDFをダウンロードして"
このスキルは、MCPサーバーと同じライブラリをラップするCLI(paper-search)を使用し、検索/ダウンロードにはJSON、読み取りにはプレーンテキストを出力します。
MCPサーバー設定ファイルの場所(以下の方法の場合)
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
方法1 — Smithery(ワンコマンド、Claude Desktopに推奨)
npx -y @smithery/cli install @openags/paper-search-mcp --client claudeSmitheryが正しい設定ブロックを自動的に書き込んでくれます。手動でのJSON編集は不要です。
方法2 — uvx(インストール不要、常に最新版)
uvx はPyPIからパッケージを恒久的なインストールなしで直接実行します。uv が必要です。
# Install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh⚠️ macOSの注意:
uvxが生成するラッパースクリプトはrealpathに依存しますが、これはmacOSにはデフォルトで含まれていません。realpath: command not foundエラーが表示された場合は、GNU coreutilsをインストールするか(brew install coreutils)、代わりに**方法3(uv run)**を使用してください — この制限はありません。
Claude Desktop設定:
{
"mcpServers": {
"paper-search-mcp": {
"command": "uvx",
"args": ["paper-search-mcp"],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}方法3 — uv(永続的インストール)
uv tool install paper-search-mcpClaude Desktop設定:
{
"mcpServers": {
"paper-search-mcp": {
"command": "uv",
"args": ["tool", "run", "paper-search-mcp"],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}方法4 — pip(標準のPythonインストール)
pip install paper-search-mcpClaude Desktop設定:
{
"mcpServers": {
"paper-search-mcp": {
"command": "python",
"args": ["-m", "paper_search_mcp.server"],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}
pythonがPATHにない場合は、フルパスに置き換えてください(例:/usr/bin/python3またはC:\Python311\python.exe)。which python3/where pythonを実行して場所を確認してください。
方法5 — npx(Smithery CLI経由、ローカルPython不要)
npx -y @smithery/cli run @openags/paper-search-mcpClaude Desktop設定:
{
"mcpServers": {
"paper-search-mcp": {
"command": "npx",
"args": ["-y", "@smithery/cli", "run", "@openags/paper-search-mcp"],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": ""
}
}
}
}方法6 — Docker
docker build -t paper-search-mcp .
docker run --rm -i \
-e PAPER_SEARCH_MCP_UNPAYWALL_EMAIL=your@email.com \
-e PAPER_SEARCH_MCP_CORE_API_KEY=your_core_key \
paper-search-mcpClaude Desktop設定:
{
"mcpServers": {
"paper-search-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "paper-search-mcp"],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}方法7 — ソースからクローンして実行(開発用 / macOSローカルに推奨)
これはmacOSで最も信頼性の高い方法です — ラッパースクリプトも realpath の問題もありません。
# 1. Install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Clone repo
git clone https://github.com/openags/paper-search-mcp.git
cd paper-search-mcp
# 3. Verify it runs (uv auto-resolves dependencies, no manual install needed)
uv run -m paper_search_mcp.serverClaude Desktop設定(ディレクトリパスを実際のクローン場所に置き換えてください):
{
"mcpServers": {
"paper-search-mcp": {
"command": "uv",
"args": [
"run",
"--directory", "/path/to/paper-search-mcp",
"-m", "paper_search_mcp.server"
],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}例えば、/Users/mac/Pengsong/paper-search-mcp にクローンした場合:
"args": ["run", "--directory", "/Users/mac/Pengsong/paper-search-mcp", "-m", "paper_search_mcp.server"]
uv runは初回実行時に依存関係を分離された環境に自動的にインストールします —pip installやvenvは不要です。
活発な開発の場合は、オプションで編集可能なコピーをインストールできます:
uv venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"環境変数(.env ファイル)
JSON設定に直接キーを置く代わりに、ユーザー設定ファイルに保存できます(起動時に自動ロードされます):
mkdir -p ~/.config/paper-search-mcp
curl -fsSL https://raw.githubusercontent.com/openags/paper-search-mcp/main/.env.example \
-o ~/.config/paper-search-mcp/.env
$EDITOR ~/.config/paper-search-mcp/.envPAPER_SEARCH_MCP_UNPAYWALL_EMAIL=your@email.com
PAPER_SEARCH_MCP_CORE_API_KEY=
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY=
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN=
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL=
PAPER_SEARCH_MCP_IEEE_API_KEY=
PAPER_SEARCH_MCP_ACM_API_KEY=カスタムパスを使用する場合: export PAPER_SEARCH_MCP_ENV_FILE=/absolute/path/to/.env
PAPER_SEARCH_MCP_プレフィックスなしの旧変数名(例:CORE_API_KEY、UNPAYWALL_EMAIL)は後方互換性のために引き続きサポートされています。
コントリビューション
コントリビューションを歓迎します!始め方は以下のとおりです:
リポジトリをフォーク: GitHubで「Fork」をクリック。
クローンしてセットアップ:
git clone https://github.com/yourusername/paper-search-mcp.git cd paper-search-mcp uv venv && source .venv/bin/activate uv pip install -e ".[dev]"変更を加える:
academic_platforms/に新しいプラットフォームを追加。tests/のテストを更新。
プルリクエストを送信: 変更をプッシュし、GitHubでPRを作成。
デモ
TODO
予定されている学術プラットフォーム
[√] arXiv
[√] PubMed
[√] bioRxiv
[√] medRxiv
[√] Google Scholar
[√] IACR ePrint Archive
[√] Semantic Scholar
[√] Crossref
[√] PubMed Central (PMC)
[√] CORE
[√] Europe PMC
[√] Sci-Hubの警告と有効化ドキュメント
開発タスク
[√] Async検索のバグを修正し、信頼性の高い高速MCPイベントを保証
[√] エンドツーエンドのフルパイプラインテストスクリプト(検索、解析、ダウンロード)
[√] 2層フェデレーションアーキテクチャを確立(レイヤー1ツール:
search_papers)[√] メタデータフィールド全体でのDOI抽出とアブストラクトのフォールバックを確実に
引用グラフと論文関係コンテキスト機能
[√] フルスタックのOpenAlexプロバイダーを拡張
優先的な無料・オープンソース
[√] PubMed Central (PMC)
[√] CORE
[√] OpenAlex
[√] Europe PMC
[√] OpenAIRE
[√] dblp
[√] CiteSeerX
[√] DOAJ
[√] BASE
[√] Zenodo
[√] HAL
[√] SSRN(発見 + ベストエフォートの全文)
[√] Unpaywall(スタンドアロンのDOI検索ソース)
オプションおよび非コア統合
ResearchGate
JSTOR
ScienceDirect
Springer Link
[√] IEEE Xplore(オプションのスケルトン —
IEEE_API_KEYで有効化)[√] ACM Digital Library(オプションのスケルトン —
ACM_API_KEYで有効化)Web of Science
Scopus
スター履歴
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
paper-search-mcp で楽しい研究を!問題が発生した場合は、GitHubのIssueを開いてください。
Available Tools
57 toolsdownload_arxivA
Download PDF of an arXiv paper.
Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return value ('Path to the downloaded PDF file') and specifies it downloads a PDF, which implies file creation. However, it does not mention error handling, overwrite behavior, or network requirements, preventing a perfect score.
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, well-structured paragraph with no wasted words. It front-loads the action, then concisely lists args and returns in a clean docstring format.
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 download tool with an existing output schema, the description is reasonably complete. It covers the action, parameters, and return value. Minor omissions (e.g., file overwrite policy, network dependency) prevent a perfect score, but overall it meets the tool's needs.
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 description coverage is 0%, so the description must add meaning. It explains both parameters: paper_id with an example format ('e.g., '2106.12345'') and save_path with a default value ('./downloads'), adding significant value beyond the schema's basic names and types.
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 action: 'Download PDF of an arXiv paper.' It uses a specific verb ('download') and resource ('PDF of an arXiv paper'), and distinguishes from sibling tools by explicitly naming arXiv, which is unique among many download_* 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?
The description implies usage for arXiv papers but does not provide explicit guidance on when to use this tool versus alternatives (e.g., download_biorxiv, read_arxiv_paper). No when-not or exclusion criteria are stated, leaving the agent to infer context from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_baseB
Download PDF for a paper from BASE.
Args: paper_id: BASE paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility. It fails to disclose what happens if the paper is not found, any authentication needed, or side effects (e.g., file overwrite behavior). Merely stating the return type is insufficient.
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 concise at three sentences with a clear Arg/Returns structure, but it is somewhat boilerplate and could be more succinct.
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 presence of an output schema and no nested objects, the description adequately covers the basic functionality. However, it could mention overwrite behavior or file size limits to be fully 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?
With 0% schema description coverage, the description adds meaningful information for both parameters: paper_id is identified as a BASE identifier, and save_path is given a default directory. This compensates well for the schema gap.
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 'Download PDF for a paper from BASE.', using a specific verb (download) and resource (PDF from BASE). This distinguishes it from sibling tools like download_arxiv which target different sources.
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 (e.g., download_with_fallback, read_base_paper). It lacks context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_biorxivA
Download PDF of a bioRxiv paper.
Args: paper_id: bioRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the tool downloads a PDF and describes parameters, but does not disclose error handling, authorization, or behavior when the paper is not found.
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 concise and well-structured with an Args/Returns section. Every sentence provides necessary information without redundancy.
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 2-parameter tool with simple behavior, the description covers the key aspects. However, it could mention that the paper must be available on bioRxiv. The presence of an output schema (though not shown) reduces the need to detail return values.
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 description coverage is 0%, so the description adds value by explaining 'paper_id' is a bioRxiv DOI and 'save_path' is a directory with a default. However, it does not specify the exact format of the DOI.
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 explicitly states 'Download PDF of a bioRxiv paper', clearly identifying the action and resource. It distinguishes from sibling download tools by specifying 'bioRxiv' as the source.
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 explicit guidance on when to use this tool vs alternatives. While the source is clear from the name, there is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_citeseerxA
Download PDF for a paper from CiteSeerX.
Args: paper_id: CiteSeerX paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF or error message.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. States it downloads and returns path or error, but does not mention file system side effects, authentication, or error handling details.
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?
Concise docstring format with args, returns. Every sentence is necessary; no 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?
Tool is simple with 2 params, output described. Sufficient for basic use, though could mention what happens on invalid paper_id or network failure. Overall adequate given simplicity.
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 0%, but description explains paper_id as 'CiteSeerX paper identifier' and save_path with default and directory purpose. Adds meaningful context beyond parameter names.
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?
Clearly states it downloads a PDF from CiteSeerX, with specific verb and resource. Distinguishes from siblings like download_arxiv.
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 on when to use this tool vs alternatives like download_scihub or read_citeseerx_paper. Simply describes function without contextual recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_crossrefA
Attempt to download PDF of a CrossRef paper.
Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported.
Note: CrossRef is a citation database and doesn't provide direct PDF downloads. Use the DOI to access the paper through the publisher's website.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It transparently states that the tool always returns a failure message because CrossRef does not support PDF downloads, fully disclosing the tool's behavior beyond any annotations.
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 concise with clear Args/Returns/Note sections, though it could be slightly shorter without losing clarity.
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 tool's simple behavior (always fails), the description is complete, covering purpose, parameters, return value, and context. Adequate for a limited-function tool.
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 description explains paper_id as a CrossRef DOI with an example, and save_path as a directory with default, adding meaning beyond the bare schema.
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 that the tool attempts to download a PDF from CrossRef but returns a message indicating it is not supported. This is specific and distinguishes it from other download tools that may succeed.
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 suggests using the DOI to access the paper through the publisher's website as an alternative, but it does not explicitly compare to sibling tools like download_scihub or provide when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_dblpC
Download PDF for a paper from dblp.
Note: dblp doesn't provide direct PDF access. This function returns an informative message.
Args: paper_id: dblp paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It discloses that dblp does not support direct PDF download and that the function returns a message. However, it does not clarify whether any network request is made or if the function is essentially a no-op. The actual behavior (no download) is partially transparent but could be more explicit.
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 relatively short and uses a clear note and parameter list. However, it is not optimally structured: the key contradiction between the first sentence and the note undermines conciseness. A more upfront disclosure of the tool's limitation would improve clarity without increasing length.
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 tool's misleading name and purpose, the description fails to provide complete context. It does not explain why this tool exists, what alternative tools should be used for PDF downloads, or what the meaningful use case is. The output schema is implied but not leveraged to add completeness. The description leaves the agent with insufficient information to decide to invoke this tool.
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 description adds meaning for both parameters: 'paper_id' is identified as a dblp identifier, and 'save_path' is described as a directory with a default. Since schema coverage is 0%, the description compensates well, but the semantics for 'save_path' are misleading because the tool does not actually save anything. Overall, it adds value but suffers from the tool's behavioral contradiction.
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 first states 'Download PDF for a paper from dblp' but then immediately contradicts itself by noting dblp doesn't provide direct PDF access and that the function returns an informative message. This makes the purpose misleading: the tool does not download PDFs, despite its name and initial claim.
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 mentions that dblp lacks direct PDF access, providing some context for when not to use this tool. However, it does not explicitly guide the agent on when to use this tool versus alternatives (e.g., download_scihub), nor does it suggest any alternative actions. The guidance is implicit and insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_doajA
Download PDF for a paper from DOAJ.
Args: paper_id: DOAJ paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks behavioral details: no mention of error handling, authentication needs, rate limits, or whether the tool is read-only. Annotations are absent, so description carries full burden but provides minimal context.
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?
Extremely concise (one-line description plus docstring for parameters), no wasted words, front-loaded with purpose.
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?
Adequately covers parameters and return type with output schema, but lacks behavioral context (e.g., error scenarios, idempotency) that would be expected given the absence of annotations.
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?
Adds meaning beyond schema for both parameters: explains paper_id as 'DOAJ paper identifier' and save_path as 'Directory to save the PDF (default: ./downloads)'. Compensates for 0% schema description coverage.
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?
Clearly states the verb (Download), resource (PDF), and source (DOAJ), distinguishing it from sibling tools targeting other repositories.
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 on when to use this tool vs alternatives (e.g., download_with_fallback, read_* tools) or any prerequisites for using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_halB
Download PDF for a paper from HAL.
Args: paper_id: HAL paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states it downloads a PDF. It does not disclose error handling, authentication needs, rate limits, or behavior on missing papers.
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?
Concise and front-loaded with the core purpose, followed by parameter and return descriptions. No wasted words, but could organize args section more cleanly.
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 download operation and presence of an output schema, the description covers purpose, inputs, and output adequately. Minor gap: no mention of error scenarios.
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 0%, so description partially compensates by explaining paper_id as 'HAL paper identifier' and save_path as directory with default. However, it lacks details like ID format.
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 action ('Download PDF') and the resource ('paper from HAL'), distinguishing it from sibling download tools for other sources.
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 on when to use this tool versus alternatives like download_scihub or download_with_fallback. Usage is implied only by the source name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_iacrA
Download PDF of an IACR ePrint paper.
Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It only states 'Download PDF' and returns a path, but it does not disclose behavioral traits such as whether it is idempotent, if it overwrites files, or any network dependencies. Minimal disclosure.
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 short and structured: a clear one-line summary, followed by bullet-style args and returns. Every sentence is necessary and easy to parse.
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 no annotations and a simple download operation, the description is largely complete. It mentions the return path but could be improved by noting file naming behavior or error handling. Output schema exists but is not shown here.
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 description adds significant meaning beyond the input schema by explaining the purpose of both parameters (paper_id with example, save_path with default explanation). Schema coverage is 0%, so this compensation is critical.
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 explicitly states 'Download PDF of an IACR ePrint paper,' which is a specific verb+resource combination. It clearly distinguishes itself from sibling tools that download from other sources (e.g., download_arxiv) or perform read/search operations.
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 provides the tool's purpose but does not give explicit guidance on when to use it versus alternatives. The context implies it is for IACR papers, but no exclusions or when-not-to-use conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_medrxivA
Download PDF of a medRxiv paper.
Args: paper_id: medRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It mentions the return value (path to PDF) but does not disclose potential side effects, authentication needs, rate limits, or file overwriting behavior. Basic transparency is present but lacks depth.
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?
Extremely concise: a single-purpose sentence followed by parameter descriptions. No superfluous content, front-loaded with the main action.
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?
Covers the essential aspects: action, parameters, and return value. However, missing details like file naming, error handling, and whether the file is overwritten. With an output schema present, completeness is adequate for a simple tool.
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?
With 0% schema coverage, the description adds meaningful context: 'paper_id: medRxiv DOI' and 'save_path: Directory to save the PDF (default: ./downloads)', which clarifies the parameter purpose beyond the schema's bare property names.
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 'Download PDF of a medRxiv paper' with a specific verb and resource, and the name includes 'medrxiv', distinguishing it from siblings like download_arxiv or download_biorxiv.
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 on when to use this tool versus alternatives like read_medrxiv_paper or other download tools. No prerequisites or context for selection provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_openaireA
Download PDF for a paper from OpenAIRE.
Args: paper_id: OpenAIRE paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF or error message.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose safety, permissions, and side effects. It only states 'Download PDF' and returns path/error, omitting whether this is read-only, auth requirements, or potential issues like rate limits.
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?
Extremely concise: two sentences for description, then structured Args/Returns. Every sentence is necessary and front-loaded.
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 download tool with output schema, the description covers purpose, parameters, and return. Missing explicit mention that file is actually saved (not a link) and error handling, but still adequate.
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?
Despite 0% schema coverage, the description adds meaning: paper_id is described as 'OpenAIRE paper identifier', save_path has default and directory role. It explains the return type. More detail on paper_id format would improve clarity.
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 'Download PDF for a paper from OpenAIRE', specifying the action (download), resource (PDF), and source (OpenAIRE). This distinguishes it from sibling tools targeting other repositories.
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 on when to use this tool versus alternatives like download_arxiv or search_openaire. The description lacks any comparison or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_openalexC
Download PDF for a paper from OpenAlex.
Args: paper_id: OpenAlex paper ID. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Error message, typically OpenAlex relies on extracted pdf_url instead of direct downloads.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It hints at indirect downloads but does not fully explain behavior, such as what the tool actually does (attempts download? returns URL?). The return is only described as an error message, which is misleading for a download tool.
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 short but includes a one-line purpose and docstring-style args/returns. It is reasonably concise, though the return line is confusing and could be better structured.
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 complexity of many sibling tools, the description is incomplete. It fails to explain the tool's role in the ecosystem, what happens on success, or the actual output beyond an error message. The presence of an output schema (not shown) might mitigate, but the description alone is insufficient.
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 0%, so the description compensates by defining paper_id as 'OpenAlex paper ID' and save_path as 'Directory to save the PDF'. This adds basic meaning beyond the schema, but lacks format details for paper_id and usage of default.
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 'Download PDF for a paper from OpenAlex', specifying the verb, resource, and source. However, it mentions reliance on pdf_url rather than direct downloads, which introduces ambiguity about the actual function.
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 over the many sibling download sources. The description does not differentiate OpenAlex from others or specify prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_pubmedB
Attempt to download PDF of a PubMed paper.
Args: paper_id: PubMed ID (PMID). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns a message indicating direct PDF download is not supported, which is a key behavioral trait. However, it uses 'attempt' which implies potential success, creating ambiguity. With no annotations, the description partially carries the burden but could be more explicit.
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 concise with two sentences plus Args/Returns section. It efficiently conveys purpose, parameters, and return behavior. However, the first sentence could be more precise than 'attempt to download' given the actual outcome.
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?
The description adequately covers the tool's simple behavior: it always returns a message that download is not supported. With an output schema likely existing (though not shown), the return description is sufficient. For a stub tool, completeness is high.
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 description explains both parameters: paper_id is a PubMed ID (PMID), and save_path is a directory with default './downloads'. This adds meaning beyond the schema titles, especially since schema description coverage is 0%. The parameter descriptions are clear and directly useful.
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 it attempts to download a PubMed paper PDF, identifying the specific resource (PubMed) and action (download). However, the return value contradicts this by indicating direct PDF download is not supported, causing some confusion about the tool's true purpose.
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. Among siblings, there are many working download tools for other sources and read tools for PubMed. The description does not warn that this tool will not actually download, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_scihubA
Download paper PDF via Sci-Hub (optional fallback connector).
Args: identifier: DOI, title, PMID, or paper URL. save_path: Directory to save the PDF. base_url: Sci-Hub mirror URL. Returns: Downloaded PDF path on success; error message on failure.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| save_path | No | ./downloads | |
| base_url | No | https://sci-hub.se |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It mentions 'optional fallback connector' and returns 'downloaded PDF path on success; error message on failure', adding some behavioral context. However, it does not disclose side effects (e.g., file system writes), network requirements, or potential legal/access issues with Sci-Hub.
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 short (one sentence plus bullet-like args and return) with no wasted words. It is front-loaded with the core purpose, making it easy to scan.
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 presence of an output schema (not shown), the description covers the essential aspects: purpose, parameters, and return value. It could be more complete by elaborating on the fallback behavior or prerequisites, but overall it is adequate for a simple download tool.
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 description coverage is 0%, but the description compensates fully. It explains each parameter: identifier (DOI, title, PMID, or paper URL), save_path (directory), and base_url (Sci-Hub mirror URL), adding meaning beyond the schema titles and defaults. The explicit formats for identifier are especially helpful.
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 'Download paper PDF via Sci-Hub', which is a specific verb and resource. The tool name and description distinguish it from many sibling download tools (e.g., download_arxiv) by naming the source Sci-Hub. The optional fallback connector adds minor context but does not hinder 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?
The description does not explicitly state when to use this tool over alternatives. Usage is implied by the source name 'Sci-Hub', but no guidance is given on whether to use fallback or when not to use it. The sibling tools have similar structures, so the agent must infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_semanticA
Download PDF of a Semantic Scholar paper.
Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI: (e.g., "DOI:10.18653/v1/N18-3011") - ARXIV: (e.g., "ARXIV:2106.15928") - MAG: (e.g., "MAG:112218234") - ACL: (e.g., "ACL:W12-3903") - PMID: (e.g., "PMID:19872477") - PMCID: (e.g., "PMCID:2323736") - URL: (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It only states it downloads a PDF and returns the path, but does not disclose authentication requirements, rate limits, error handling (e.g., paper not found), or any side effects. This is insufficient for a download tool.
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 structured in a docstring format with Args and Returns sections. However, it is verbose and could be more concise. The parameter formats are repeated across lines, and the overall length exceeds what is necessary for a simple download tool.
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 that an output schema exists (though not shown), the description adequately covers the return path and parameter details. However, it lacks information about error cases, file overwriting behavior, or performance considerations. For a download tool, this is nearly complete but missing some practical context.
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 has 0% description coverage, but the description provides extensive parameter details: paper_id lists 7 explicit formats with examples, and save_path has a default. This adds significant meaning beyond the schema's minimal titles.
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 'Download PDF of a Semantic Scholar paper,' which is a specific verb+resource combination. This distinguishes it from siblings like download_arxiv (different source) and read_semantic_paper (read vs download).
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 does not explicitly state when to use this tool vs alternatives. While the parameter details for paper_id imply Semantic Scholar identifiers, there is no guidance on when to prefer this over download_with_fallback or other download tools. Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_ssrnC
Download PDF for a paper from SSRN.
Note: SSRN connector is metadata-only and download is not supported.
Args: paper_id: SSRN paper identifier. save_path: Directory to save the PDF (unused). Returns: str: Error message from metadata-only SSRN connector.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the tool returns an error message, but the first sentence implies a download capability, misleading the agent. No annotations provided.
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 short and to the point, but the contradictory first sentence could be reworded for clarity.
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 tool that always fails, the description does not explain why or what to use instead, leaving the agent without a clear alternative.
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?
With 0% schema description coverage, the description adds value by explaining paper_id and explicitly noting save_path is unused, which the schema does not convey.
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 'Download PDF for a paper from SSRN' but immediately contradicts with 'SSRN connector is metadata-only and download is not supported', creating confusion about the tool's actual purpose.
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 on when to use this tool vs alternatives like download_arxiv or read_ssrn_paper. The note about metadata-only hints at unsuitability but doesn't name a substitute.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_with_fallbackA
Try source-native download, OA repositories, Unpaywall, then optional Sci-Hub.
Args: source: Source name (arxiv, biorxiv, medrxiv, iacr, semantic, crossref, pubmed, pmc, core, europepmc, citeseerx, doaj, base, zenodo, hal, ssrn). paper_id: Source-native paper identifier. doi: Optional DOI used for repository/unpaywall/Sci-Hub fallback. title: Optional title used for repository/Sci-Hub fallback when DOI is unavailable. save_path: Directory to save downloaded files. use_scihub: Whether to fallback to Sci-Hub after OA attempts fail. scihub_base_url: Sci-Hub mirror URL for fallback. Returns: Download path on success or explanatory error message.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | ||
| paper_id | Yes | ||
| doi | No | ||
| title | No | ||
| save_path | No | ./downloads | |
| use_scihub | No | ||
| scihub_base_url | No | https://sci-hub.se |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently discloses the fallback sequence, parameter roles, and return value. However, it omits details like rate limits, authentication needs, or potential failures beyond an error message.
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 concise: a single opening sentence stating the fallback strategy, followed by a bullet-like argument list and return info. Every sentence adds value, and the key purpose is front-loaded.
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 no annotations, 0% schema coverage, 7 params, and an output schema, the description is complete. It covers purpose, all parameters with examples, behavior (fallback chain), and return format, leaving no major gaps.
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?
Given 0% schema description coverage, the description fully compensates by explaining each parameter's purpose (e.g., 'doi: Optional DOI used for repository/unpaywall/Sci-Hub fallback'). It adds meaning beyond the schema's types and defaults.
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 purpose: it attempts a multi-stage fallback download chain (source-native, OA repositories, Unpaywall, optional Sci-Hub). This distinguishes it from sibling source-specific download tools which lack fallback logic.
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 implies usage for obtaining papers via multiple access points but does not explicitly state when to avoid this tool or list alternative siblings. The fallback chain is clearly outlined, providing context but not exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_zenodoA
Download PDF for a paper from Zenodo.
Args: paper_id: Zenodo paper identifier. save_path: Directory to save the PDF (default: './downloads'). Returns: str: Path to downloaded PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It states the download and return but omits potential side effects (e.g., file overwriting), authentication needs, or error handling.
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 extremely concise with a single sentence and a structured Args list. Every sentence is necessary, and the purpose is front-loaded.
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 tool's simplicity and presence of an output schema, the description is largely complete. It covers inputs, output, and default behavior, though it lacks error conditions.
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 has 0% description coverage, but the tool's description provides clear parameter explanations (paper_id is 'Zenodo paper identifier', save_path defaults to './downloads'). This adds significant value.
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 'Download PDF for a paper from Zenodo,' specifying the action and source. This distinguishes it from siblings like download_arxiv or read_zenodo_paper.
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 (e.g., download_scihub or read_zenodo_paper). No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crossref_paper_by_doiA
Get a specific paper from CrossRef by its DOI.
Args: doi: Digital Object Identifier (e.g., '10.1038/nature12373'). Returns: Paper metadata in dictionary format, or empty dict if not found.
Example: get_crossref_paper_by_doi("10.1038/nature12373")
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that it returns 'paper metadata in dictionary format, or empty dict if not found', which is beyond the input schema. This provides useful behavioral expectations. No annotations exist to compare, so no contradiction.
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?
Description is extremely concise with just three sentences covering purpose, parameter, return, and example. No unnecessary words.
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 an output schema exists, the description doesn't need to detail return format. It covers the tool's purpose, parameter, and return behavior sufficiently. Could mention if metadata is full or partial, but not a critical gap.
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?
Description adds meaning over the input schema by explaining 'Digital Object Identifier' and providing an example. Schema had no description for the param, so this fills the gap well.
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?
Description uses specific verb 'Get' and identifies resource 'paper from CrossRef' with unique identifier 'DOI'. This clearly distinguishes it from sibling search tools (e.g., search_crossref) and download tools (e.g., download_crossref).
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 explicit when-to-use or when-not-to-use guidance is provided. However, the description implies it is for fetching metadata by DOI, which contrasts with search or download siblings. A clearer exclusion of alternatives would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_arxiv_paperA
Read and extract text content from an arXiv paper PDF.
Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should disclose behavior. It mentions text extraction but omits potential issues like PDF parsing failures, rate limits, or that it may download the PDF (implied by save_path). Unclear if it reads an existing file or always downloads. Insufficient for an agent to anticipate side effects.
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?
Extremely concise: one sentence for purpose, then straightforward Args/Returns sections. No unnecessary words. Front-loaded with the core action. Every sentence provides value.
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 tool's simplicity (2 params, clear purpose) and existence of an output schema (return type stated), the description is mostly complete. However, it lacks error handling context and does not explicitly state whether the PDF is downloaded or assumed present. Still, it covers the main functionality well.
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 0%, so description adds crucial meaning: paper_id is explained with an example ('2106.12345'), and save_path is described as a directory for saving/reading PDFs with default './downloads'. This goes beyond the bare schema and helps the agent understand parameter usage.
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 it reads and extracts text from an arXiv paper PDF, using a specific verb ('read') and resource ('arXiv paper PDF'). It distinguishes itself from sibling 'read_*' tools by specifying the source (arXiv) and from 'download_arxiv' and 'search_arxiv' by focusing on text extraction. This provides unambiguous purpose.
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 on when to use this tool vs other 'read_*' tools (e.g., for different sources) or vs download/search tools. No mention of prerequisites like internet access or paper existence. Lacks context for tool selection among many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_base_paperB
Read and extract text content from a BASE paper.
Args: paper_id: BASE paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text content.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions reading and extracting text, but fails to clarify side effects (e.g., whether the PDF is downloaded, cached, or if network access is required), error handling, or what happens if the paper is not found. The description is insufficient for 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 concise, using a single paragraph with clearly structured Args and Returns sections. There is no extraneous information, and the key purpose is stated upfront. It could be slightly more streamlined, but is already very efficient.
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?
The description covers the basic purpose, parameters, and return type. However, it lacks important context such as whether the tool downloads papers, handles errors, or requires prerequisites. Given the simplicity of the tool (2 params, 1 required), the gaps are notable, earning a 3.
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?
Despite 0% schema description coverage, the description adds meaning to both parameters: 'paper_id' is described as 'BASE paper identifier' (though vague on format), and 'save_path' is explained as a directory with a default. This provides some guidance but not enough detail for the paper_id format, resulting in a 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 action ('Read and extract text content') and the resource ('a BASE paper'). The name 'read_base_paper' combined with the description effectively distinguishes this tool from numerous sibling read_* tools targeting other sources.
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 does not explicitly state when to use this tool versus alternatives (e.g., download_base or other read_* tools). However, the tool name and resource mention 'BASE', which implies it is for BASE papers. The usage context is implied rather than stated, earning a score of 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_biorxiv_paperA
Read and extract text content from a bioRxiv paper PDF.
Args: paper_id: bioRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it saves a PDF to a directory (side-effect) and returns string text, but no info on error handling, permissions, or rate limits; no contradictions with absent annotations.
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?
Very concise with clear structure: purpose sentence, labeled args, and return type; every part earns its place.
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?
Explains all inputs and output, mentions default save path, but could note behavior if paper not found or file already exists.
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?
Adds meaning beyond schema: paper_id explained as 'bioRxiv DOI' and save_path as 'directory where PDF is saved', clarifying usage beyond plain titles and types.
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?
Clearly states it reads and extracts text from a bioRxiv paper PDF, with the source distinct from sibling read_* tools for other repositories.
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 on when to use this tool versus alternatives like download_biorxiv or other read tools; no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_citeseerx_paperA
Read and extract text content from a CiteSeerX paper.
Args: paper_id: CiteSeerX paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text or fallback abstract/error message.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It clearly states the tool reads and extracts text, and discloses fallback behavior ('fallback abstract/error message') in the Returns section. This is good transparency for a read-only tool without destructive actions.
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 well-structured docstring with Args and Returns sections. It is concise, though the first sentence could be slightly tighter. Every sentence adds value; no waste.
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 output schema exists (though not shown), the description of return values is adequate. It covers the main purpose and parameter details. With many siblings, it could use more differentiation, but the source specificity helps.
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 description coverage is 0%, so the description must add meaning. It does so by explaining 'paper_id' as 'CiteSeerX paper identifier' and 'save_path' as 'Directory where the PDF is/will be saved (default: './downloads')', adding value beyond the plain schema titles.
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 action 'Read and extract text content from a CiteSeerX paper', which is a specific verb+resource combination. It effectively distinguishes from sibling tools like 'download_citeseerx' (downloads PDF) and other 'read_*' tools for different sources.
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 implies usage for reading CiteSeerX papers but provides no explicit guidance on when to use this tool over alternatives (e.g., read_arxiv_paper) or when not to use it. No exclusions or contextual hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_crossref_paperA
Attempt to read and extract text content from a CrossRef paper.
Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Message indicating that direct paper reading is not supported.
Note: CrossRef is a citation database and doesn't provide direct paper content. Use the DOI to access the paper through the publisher's website.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It clearly states that direct paper reading is not supported and that the tool returns a message to that effect. The behavioral limitation is transparently disclosed.
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 reasonably structured with Args, Returns, and Note sections. It is front-loaded with the purpose. However, it could be slightly more concise, as the note could be integrated earlier.
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 tool's simple behavior and lack of annotations, the description covers the key aspects: what the tool does, its limitations, and an alternative action. The return type is mentioned, and the output schema exists (context indicates true). Good completeness.
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 description coverage is 0%, so the description must add meaning. It explains paper_id as a CrossRef DOI with an example, and save_path as a directory with a default. This adds clarity beyond the bare schema.
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 indicates the tool attempts to read a CrossRef paper but then states it doesn't support direct paper reading. The purpose is clear: to inform the user that CrossRef does not provide paper content. However, the initial phrasing is slightly misleading as it says 'attempt to read' but ultimately returns a failure message.
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 explicit guidance on when to use this tool versus the numerous sibling tools that read papers from other sources. The note suggests using the publisher's website instead, but does not name alternative tools. Usage context is not well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_dblp_paperA
Attempt to read and extract text content from a dblp paper.
Note: dblp doesn't provide direct paper content access. This function returns an informative message.
Args: paper_id: dblp paper identifier. save_path: Directory where the PDF would be saved (unused). Returns: str: Message indicating that direct paper reading is not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses that the tool does not return paper content, only an informative message. It also notes that save_path is unused. This is honest and prevents misuse, though it could mention the nature of the message.
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 concise, with each sentence serving a purpose. It uses a clear docstring format with Args and Returns sections, front-loading the key limitation. No redundant text.
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 tool (2 params, no nested objects, output schema exists), the description covers behavior, unused parameter, and return type. Could be slightly improved by hinting at the message content or suggesting download alternatives, but it is largely adequate.
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 0%, but the description explains paper_id as 'dblp paper identifier' and save_path as 'unused'. This adds some meaning, but the format of paper_id is not specified, and save_path's irrelevance is clearly stated.
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 the tool attempts to read a dblp paper but immediately clarifies that dblp does not provide direct access, so it returns an informative message. This clearly differentiates it from other read_* tools that may succeed, and avoids false expectations.
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 explicit when-to-use or when-not-to-use guidance. The note about dblp's limitation implies that users should not expect actual content, but it does not suggest alternatives like download_dblp. Sibling tools exist but are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_doaj_paperA
Read and extract text content from a DOAJ paper.
Args: paper_id: DOAJ paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text content.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It reveals that the tool likely downloads the PDF to `save_path` before extracting text, which is a key behavioral insight. However, it does not mention network dependencies, caching, or error states.
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 extremely concise: one line for purpose, then clearly structured Args and Returns sections. No extraneous information, every sentence serves a purpose.
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 many sibling tools, the description adequately covers the core functionality and parameters. It assumes the agent knows that paper IDs come from a search tool. With an output schema present (true), not explaining return values is acceptable. Minor gap: no mention of error handling or missing papers.
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 description coverage is 0%, so the description must explain each parameter. It clearly defines `paper_id` as a DOAJ identifier and `save_path` as the directory for PDF storage with a default. This adds meaningful context beyond the schema titles.
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?
Clear verb ('Read') and specific resource ('DOAJ paper') are stated. Distinguishes from siblings like download_doaj (downloads PDF) and search_doaj (searches), though not explicitly contrasted. The purpose is unambiguous.
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 explicit guidance on when to use this tool versus alternatives like download_doaj or search_doaj. The description assumes the agent infers from its name and purpose, but no exclusions or context cues are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_hal_paperA
Read and extract text content from a HAL paper.
Args: paper_id: HAL paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text content.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses the core read/extract action and save_path side effect, but does not mention caching, network requirements, or error behavior.
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 reasonably concise with the core purpose front-loaded. The Args and Returns sections add structure, though slightly verbose.
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 read tool with output schema, the description covers main functionality but misses error handling, format, and prerequisites. Could be more complete given many 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?
Schema coverage is 0%, but the description explains both parameters: paper_id as 'HAL paper identifier' and save_path as directory for saving PDF. This adds meaning beyond the schema names and types.
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 'Read and extract text content from a HAL paper', specifying the verb, resource, and output. It distinguishes from sibling read tools for other sources.
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 on when to use this tool versus alternative read tools for different sources or when to use download_hal instead. The description assumes the user knows to choose HAL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_iacr_paperA
Read and extract text content from an IACR ePrint paper PDF.
Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It partially discloses behavior (reads PDF, returns text, saves PDF to directory) but does not mention authorization, rate limits, or what happens if the PDF is missing.
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 concise and well-structured with separate sections for Args and Returns. The first sentence directly states the main purpose, and every line adds value.
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?
The description covers purpose, parameters, return type, and save path default. However, it lacks usage context, behavioral details (e.g., download behavior), and potential failure modes, which would make it more 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?
Despite 0% schema description coverage, the docstring-style description explains each parameter (paper_id, save_path) with examples and default values, adding significant meaning beyond the minimal schema.
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 'Read and extract text content' and the specific resource 'IACR ePrint paper PDF', distinguishing it from sibling read_* tools for other sources.
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 does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. Sibling tools like download_iacr exist, but no comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_medrxiv_paperA
Read and extract text content from a medRxiv paper PDF.
Args: paper_id: medRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the basic action (read and extract text) but does not specify behavioral traits such as whether it downloads the PDF locally, any side effects, authentication requirements, or rate limits. With no annotations, the description is insufficient for full 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 extremely concise with two sentences plus parameter bullets. There is no redundancy or unnecessary information, and the structure is front-loaded with the core action.
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?
The description covers the basic function and parameter details, but lacks completeness regarding error scenarios, output format intricacies, and the relationship to sibling tools. Given the presence of an output schema (not shown), the return value is partially addressed.
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?
Both parameters are explained: paper_id is described as a medRxiv DOI, and save_path is described as a directory with a default value. Since the input schema has 0% description coverage, the description effectively compensates by adding missing meaning.
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 'Read and extract' and the resource 'medRxiv paper PDF', and the paper_id parameter specifies it's a medRxiv DOI, distinguishing it from sibling read_*_paper tools for other sources.
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 read_arxiv_paper or download_medrxiv. The agent is left to infer based solely on the tool name, with no explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_openaire_paperA
Attempt to read and extract text content from an OpenAIRE paper.
Args: paper_id: OpenAIRE paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text or error message.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description uses 'Attempt to read,' hinting at possible failure, but does not disclose whether the tool downloads the PDF first, requires prior download, or other behavioral traits. With no annotations, the description carries full burden and is insufficient.
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 extremely concise with two sentences plus parameter definitions. Every sentence is necessary and front-loaded, with no redundancy.
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 existence of an output schema (not shown), the description doesn't need to explain return values. However, it lacks context on how this read tool differs from the download sibling and what prerequisites exist. It is adequate but not 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?
Schema description coverage is 0%, but the description adds meaning for both parameters: paper_id is identified as 'OpenAIRE paper identifier' and save_path as 'Directory where the PDF is/will be saved.' This adds value beyond the schema, though it could provide more detail like ID format.
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 action: 'read and extract text content from an OpenAIRE paper.' It uses a specific verb and resource, and distinguishes from sibling tools like download_openaire which likely handles PDF download.
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 does not provide explicit guidance on when to use this tool versus other read_* tools or how it relates to download_openaire. Usage is implied but lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_openalex_paperC
Attempt to read and extract text content from an OpenAlex paper.
Args: paper_id: OpenAlex paper ID. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Message indicating that direct paper reading is not supported natively.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Attempt to read' but the return value states reading is not supported, effectively indicating failure. This is misleading; the tool's true behavior (returning a failure message) is not disclosed upfront. No annotations exist to mitigate this.
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 concise with a clear structure: purpose, Args, Returns. No extraneous text. However, the content is misleading, which reduces effectiveness.
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 that an output schema exists, the description does not elaborate on the return value beyond 'str: Message indicating...'. The tool is non-functional as a reader, and the description does not clarify its limitations or offer alternatives, making it incomplete for practical use.
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 description adds meaning beyond the input schema: it explains paper_id as an OpenAlex paper ID and save_path as a directory for saving, including a default. Since schema coverage is 0%, this is valuable clarification.
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 'Attempt to read and extract text content from an OpenAlex paper,' but the return message indicates 'direct paper reading is not supported natively,' creating confusion about the tool's actual purpose. It is not a tautology, but it is vague and contradictory.
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 on when to use this tool versus sibling read tools (e.g., read_arxiv_paper). No when-not-to-use or alternative suggestions are provided. The misleading implication that it can read papers makes the usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_pubmed_paperD
Read and extract text content from a PubMed paper.
Args: paper_id: PubMed ID (PMID). save_path: Directory where the PDF would be saved (unused). Returns: str: Message indicating that direct paper reading is not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It fails to transparently state that the tool returns an error message and does not actually read papers. The contradiction between the stated purpose and actual return is misleading.
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 somewhat concise but poorly structured. The contradictory nature ('read' vs 'unsupported') makes the information less efficient. It could be clearer and more front-loaded.
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?
The description does not fully explain the tool's behavior. It omits that the tool is non-functional or returns an error. With no output schema provided, the agent lacks complete information to decide whether to use it.
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 description adds meaning to both parameters: paper_id is explained as 'PubMed ID (PMID)' and save_path is noted as 'unused', which goes beyond the bare schema. Given 0% schema coverage, this is helpful.
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 'Read and extract text content from a PubMed paper' but the Returns section reveals that direct paper reading is not supported, creating a contradiction and making the purpose unclear.
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. Sibling tools include numerous read_* and search_* tools, but the description does not differentiate or offer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_semantic_paperA
Read and extract text content from a Semantic Scholar paper.
Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI: (e.g., "DOI:10.18653/v1/N18-3011") - ARXIV: (e.g., "ARXIV:2106.15928") - MAG: (e.g., "MAG:112218234") - ACL: (e.g., "ACL:W12-3903") - PMID: (e.g., "PMID:19872477") - PMCID: (e.g., "PMCID:2323736") - URL: (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read-only operation but does not disclose potential issues such as rate limits, authentication needs, or behavior when a paper is not found. The multiple identifier formats are useful but insufficient for 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 well-structured with an Args section and front-loaded purpose. It is reasonably concise for the detail it provides, though the list of paper_id formats could be shortened with a general pattern. No unnecessary sentences.
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 presence of many sibling read_ tools, the description adequately specifies that it works on Semantic Scholar papers. With an output schema present, the return type 'str' is sufficient. However, it lacks information on error handling, prerequisites for using save_path, and when to prefer this over other read 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 0%, so the description must compensate. It provides detailed, example-rich explanations for paper_id, covering many accepted formats. The save_path parameter is explained with a default value, though its specific role (downloading/reading PDF) is implicit. Overall, adds significant meaning beyond the schema.
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 explicitly states 'Read and extract text content from a Semantic Scholar paper,' with a clear verb and resource. It distinguishes itself from sibling tools (e.g., read_arxiv_paper) by specifying the source.
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 thoroughly documents the paper_id formats, which guides correct invocation. However, it lacks explicit guidance on when to use this tool versus alternatives like other read_* tools or download tools, and does not mention prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_ssrn_paperB
Read paper content from SSRN.
Note: SSRN connector is metadata-only and read is not supported.
Args: paper_id: SSRN paper identifier. save_path: Directory where the PDF is/will be saved (unused). Returns: str: Error message from metadata-only SSRN connector.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently discloses that the tool returns an error message because SSRN is metadata-only, and that the save_path parameter is unused. This clearly communicates the tool's behavior and limitations.
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 short and front-loaded, with the main action stated first, followed by a crucial note. The Args and Returns are clearly formatted. However, the first sentence alone is misleading without the note, slightly reducing conciseness effectiveness.
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 that the tool always returns an error string, the description covers the essential behavior. However, it does not specify the exact error message format or whether other errors (e.g., invalid paper_id) could occur. The output schema is not shown, so the return type is vaguely described.
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 description adds meaning to both parameters: paper_id is described as 'SSRN paper identifier' (schema says 'Paper Id'), and save_path is noted as 'Directory where the PDF is/will be saved (unused)'. Since schema description coverage is 0%, the description compensates but the explanations are minimal, lacking format details for paper_id.
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 'Read paper content from SSRN' which clearly identifies the intended action and resource. It immediately follows with a note that the SSRN connector is metadata-only and read is not supported, clarifying that the tool returns an error. This distinguishes it from other read_* tools that actually return content.
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 provides no explicit guidance on when to use this tool vs alternatives. While it states that reading is not supported, it does not recommend using download_ssrn or other tools. The note implies this tool is not useful for acquiring content, but fails to direct the user to a viable alternative among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_zenodo_paperA
Read and extract text content from a Zenodo paper.
Args: paper_id: Zenodo paper identifier. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Extracted text content.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It explains that the tool reads and extracts text, and lists parameters, but does not disclose potential rate limits, authentication needs, or error handling behavior. For a read-only tool, this is minimally adequate but lacks depth.
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 extremely concise, with a clear one-line summary and a structured Args section. Every sentence is necessary and there is no wasted text.
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?
The tool is straightforward and the description covers the main behavior and parameters. However, it does not mention what happens if the paper is not found, what format the text is returned in, or any prerequisite like internet access. This leaves gaps for an agent.
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 description coverage is 0%, so the description must compensate. It provides clear semantics for both parameters: paper_id is a 'Zenodo paper identifier' and save_path is 'directory where the PDF is/will be saved'. This adds significant meaning beyond the bare schema.
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 it reads and extracts text from a Zenodo paper. The verb 'Read' and resource 'Zenodo paper' are specific, and the tool is well-distinguished from siblings like download_zenodo and other read_* tools for different sources.
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. Among siblings there are many read_* tools for various sources, and download_zenodo for downloading, but no usage context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_arxivB
Search academic papers from arXiv.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the return format ('List of paper metadata in dictionary format') but doesn't cover important behavioral aspects like rate limits, authentication requirements, error conditions, or what specific metadata fields are included.
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?
Well-structured with clear sections (Args, Returns). The first sentence states the purpose, followed by parameter details. No wasted words, though the 'Returns' section could be slightly more informative given the output schema exists.
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 search tool with 2 parameters and an output schema, the description covers the basics but lacks behavioral context (no annotations). The output schema exists, so describing return values isn't needed, but guidance on when to use this versus other search tools would improve completeness.
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 description coverage is 0%, so the description must compensate. It provides clear explanations for both parameters: query ('Search query string') with an example, and max_results with its default value. This adds meaningful context beyond the bare schema.
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 searches academic papers from arXiv, specifying the resource (arXiv papers) and action (search). It distinguishes from siblings by mentioning arXiv specifically, but doesn't explicitly contrast with other search_* tools in the same server.
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 on when to use this tool versus the many other search_* tools (search_base, search_crossref, etc.) or read_arxiv_paper. The description only states what it does, not when it's appropriate versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_baseA
Search academic papers from BASE (Bielefeld Academic Search Engine).
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not explicitly state the tool is read-only or describe any behavioral traits like idempotency, rate limits, or side effects. It only describes input and output, leaving the agent to infer safety.
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 extremely concise, consisting of a single opening sentence and a structured Args/Returns list. Every sentence serves a purpose, and the most important information (what the tool does) is front-loaded.
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 two simple parameters and the presence of an output schema, the description is fairly complete. It covers the purpose, input parameters, and return format. It does not discuss pagination or errors, but these are reasonable to omit for a simple search tool.
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?
Despite 0% schema description coverage, the description compensates by providing clear semantics for both parameters: the query parameter includes an example ('machine learning'), and max_results is explained with its default value. This adds meaningful context beyond the bare schema.
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 searches academic papers from a specific source (BASE), immediately distinguishing it from sibling search tools for other databases. The verb 'search' and resource 'academic papers from BASE' are specific and unambiguous.
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 implies usage for BASE queries but provides no explicit guidance on when to use this tool versus alternatives (e.g., search_arxiv, search_pubmed). No when-not or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_biorxivA
Search academic papers from bioRxiv.
Note: bioRxiv API filters by category name within the last 30 days, not full-text keyword search. Use a category keyword such as 'bioinformatics', 'neuroscience', 'cell biology', etc.
Args: query: Category name to filter by (e.g., 'bioinformatics', 'neuroscience'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behavioral traits: the API filters by category within the last 30 days, not full-text search. This is important transparency for correct usage.
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 well-structured with a clear first sentence, a note about limitations, and an Args/Returns section. It is concise while providing necessary context, though the note could be integrated more tightly.
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 search tool with two parameters and an output schema, the description covers purpose, constraints, parameters, and return type. It is complete enough for an agent to use correctly, though output schema details are assumed.
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 0%, but the description adds meaningful explanations for both parameters: 'query' is a category name with examples, 'max_results' has default value and purpose. This compensates for the lack of schema descriptions.
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 searches academic papers from bioRxiv and distinguishes it by noting the API's category-based filtering within the last 30 days, which differentiates it from other search 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?
The description explicitly advises to use category keywords (e.g., 'bioinformatics') and mentions the 30-day limitation, providing clear guidance on usage. It does not explicitly mention alternatives but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_citeseerxB
Search academic papers from CiteSeerX digital library.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states that it returns a list of paper metadata, but does not disclose safety (read-only), rate limits, pagination, sorting, or any side effects. This is insufficient for a tool with zero annotation coverage.
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 concise and well-structured, with clear Args/Returns sections. It is front-loaded with the main purpose. No extraneous content, but could be slightly more compact.
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 tool's simplicity (2 parameters, search operation) and the presence of an output schema (though not detailed), the description covers the essential functionality. However, it lacks details on result format, error behavior, and constraints, making it minimally adequate.
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?
With 0% schema description coverage, the description adds meaning: it explains that 'query' is a search string with an example ('machine learning'), and that 'max_results' controls the number of papers (default 10). This provides useful semantic context beyond the bare schema.
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 'Search academic papers from CiteSeerX digital library' uses a specific verb ('Search') and names the resource ('CiteSeerX digital library'). Among sibling tools with similar names for different libraries, this clearly distinguishes the tool.
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 provides no guidance on when to use this tool versus alternatives (e.g., search_arxiv, search_pubmed). It does not mention any context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_coreB
Search academic papers from CORE.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It only mentions returning a list of paper metadata, but does not disclose rate limits, authentication needs, or any side effects. The read-only nature is implied but not stated.
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 concise—two sentences plus an Args section. The purpose is front-loaded. Minor improvement could be separating the args from the main description, but it's well-structured overall.
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?
With an output schema (though not shown), the description needn't detail return values, but it still mentions the return format. Missing usage guidelines and behavioral details make it somewhat incomplete for a search tool with many 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?
Schema coverage is 0%, but the description includes an Args section that adds an example for query ('e.g., 'machine learning') and notes the default for max_results. This adds some value beyond the schema, though it remains relatively basic.
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 'Search academic papers from CORE' which specifies the verb (search) and the resource (academic papers from CORE). Among many sibling tools for different sources, this uniquely identifies the tool's purpose.
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 provides no guidance on when to use this tool versus alternatives like search_arxiv or search_pubmed. It does not mention when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_crossrefA
Search academic papers from CrossRef database.
CrossRef is a scholarly infrastructure organization that provides persistent identifiers (DOIs) for scholarly content and metadata. It's one of the largest citation databases covering millions of academic papers, journals, books, and other scholarly content.
Args: query: Search query string (e.g., 'machine learning', 'climate change'). max_results: Maximum number of papers to return (default: 10, max: 1000). filter: CrossRef filter string (e.g., 'has-full-text:true,from-pub-date:2020'). sort: Sort field ('relevance', 'published', 'updated', 'deposited', etc.). order: Sort order ('asc' or 'desc'). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No | ||
| filter | No | ||
| sort | No | ||
| order | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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. It describes the return format as a list of metadata dictionaries but does not discuss side effects, rate limits, or authentication requirements. The background on CrossRef is contextual but not behavioral.
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 well-structured with Args/Returns sections but includes a somewhat lengthy background paragraph about CrossRef. While informative, it could be more concise without losing clarity.
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 complexity (5 params, 1 required) and the existence of an output schema, the description fully covers the tool's purpose, parameters, and return type. No critical information is missing for an agent to use it correctly.
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?
With 0% schema description coverage, the description compensates by explaining all five parameters with examples and default values. It adds meaning beyond the schema, though sort options are listed but not enumerated.
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 'Search academic papers from CrossRef database' with a specific verb and resource. It distinguishes itself from numerous sibling search tools by specifying CrossRef as the target database.
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?
While the name and context implicitly indicate it's for searching CrossRef, the description does not provide explicit guidance on when to use it versus other search tools (e.g., search_openalex, search_pubmed) or state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dblpA
Search academic papers from dblp computer science bibliography.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only mentions returns and defaults, but lacks details on API behavior, rate limits, authentication, sorting, or result structure beyond 'dictionary format.'
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 extremely concise: three short sentences plus an Args/Returns block. Every sentence adds value, and the purpose is front-loaded. No superfluous content.
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?
With two simple parameters and an output schema, the description is minimally adequate. It covers the core functionality but lacks guidance on return fields (though schema likely covers that) and usage context. Given the sibling set, more context would help.
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 description coverage is 0%, so the description must compensate. It explains 'query' with an example and 'max_results' with its default, adding value beyond the schema's type and title. However, it could elaborate on query syntax or limits.
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 'Search' and the specific resource 'dblp computer science bibliography.' This distinguishes it from sibling tools like search_arxiv or search_pubmed, which target different databases.
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 does not provide any guidance on when to use this tool versus alternatives. Given many search_* siblings for different sources, the agent would need explicit criteria for choosing dblp, which is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_doajA
Search academic papers from DOAJ (Directory of Open Access Journals).
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description does not disclose behaviors like rate limits, pagination, or read-only nature. Minimal behavioral info beyond basic search action.
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?
Short, well-structured using args/returns format. Every sentence is informative with no 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?
Output schema exists, so return details not needed. However, lacks context about DOAJ's scope (open access) and when to prefer this over sibling search tools. Minimal completeness among many similar 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 0%, so description compensates by explaining 'query' (search string with example) and 'max_results' (max papers, default 10). Adds value beyond schema.
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?
Clearly states 'Search academic papers from DOAJ', using specific verb 'Search' and resource 'academic papers from DOAJ'. Distinguishes from sibling download and read 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 explicit guidance on when to use this tool vs alternatives (e.g., search_arxiv, search_pubmed). User must infer from the DOAJ source name; no contextual hints about use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_europepmcA
Search academic papers from Europe PMC.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states that it returns a list of paper metadata but does not disclose any behavioral traits such as rate limits, authentication requirements, idempotency, or pagination behavior beyond the max_results parameter.
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 concise: two lines plus structured Args/Returns sections. The key action is front-loaded in the first sentence. Every element serves a purpose without redundancy.
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?
The description explains the core functionality and parameters. Since an output schema exists (though not shown), the 'Returns' line is supplementary. The tool is simple, and the description covers essential aspects, though it could mention if there are any restrictions or default ordering.
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?
With 0% schema description coverage, the description adds significant value by explaining that 'query' is a search query string (with example 'machine learning') and that 'max_results' controls the number of papers returned, defaulting to 10. This compensates well for the bare schema.
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 'Search academic papers from Europe PMC', specifying the verb 'search' and the specific resource 'Europe PMC', which distinguishes it from sibling search tools targeting other databases (e.g., search_arxiv, search_pubmed).
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 implies usage for searching Europe PMC, but it does not explicitly state when to use this tool over alternatives, nor does it provide any 'when not to use' guidance or mention of overlapping databases like PubMed Central.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_google_scholarB
Search academic papers from Google Scholar.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It states only that results are 'List of paper metadata in dictionary format.' It omits details about authentication, rate limits, pagination, or any side effects—critical for an external API call.
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 concise (four lines) and front-loaded with the purpose. It uses a structured Args/Returns format that is easy to parse. However, the Args section largely duplicates schema information, slightly reducing efficiency.
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?
The tool is a simple search with two parameters and an output schema (not shown). The description covers core functionality but lacks details on error handling, empty results, or rate limits. For a tool with many siblings, more context would aid selection.
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 0%, so the description must compensate. It adds example values for query and explains max_results as 'Maximum number of papers to return (default: 10).' While helpful, it does not specify constraints like allowed length, encoding, or range for max_results, leaving some ambiguity.
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 opens with 'Search academic papers from Google Scholar,' which clearly states the verb (search), resource (academic papers), and specific source (Google Scholar). Among many sibling search_* tools for different sources, this uniquely identifies its target database.
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 implies use for Google Scholar searches but provides no guidance on when to choose it over siblings (e.g., search_pubmed, search_arxiv). No exclusions or alternatives are mentioned, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_halB
Search academic papers from HAL open archive.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 states that it returns 'List of paper metadata in dictionary format.' No mention of rate limits, pagination, error handling, or side effects.
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 structured as a docstring with Args and Returns sections. It is clear and organized, though somewhat repetitive of the schema for defaults. Each sentence serves a purpose, but the text could be slightly more concise.
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 search tool with an output schema present, the description does not need to explain return values in depth. However, it lacks information on pagination, result ordering, or any limitations. It is adequate for basic use but could be more 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?
Schema description coverage is 0%, meaning the schema has no parameter descriptions. The description adds meaningful context: 'query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10).' This compensates for the lack of schema descriptions.
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 'Search academic papers from HAL open archive.' It uses a specific verb ('Search') and resource ('academic papers from HAL open archive'), distinguishing it from sibling tools that target other archives (e.g., arXiv, PubMed).
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_arxiv, search_pubmed, etc. The description does not mention any selection criteria or scenarios where HAL is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_iacrA
Search academic papers from IACR ePrint Archive.
Args: query: Search query string (e.g., 'cryptography', 'secret sharing'). max_results: Maximum number of papers to return (default: 10). fetch_details: Whether to fetch detailed information for each paper (default: True). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No | ||
| fetch_details | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It explains return format and parameter defaults but lacks details on rate limits, authentication, or side effects. It adequately describes the search behavior.
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 concise with a clear structure (Args/Returns). Every sentence provides necessary information without 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 tool's simplicity (3 params, output schema exists), the description covers essential usage and return info. Could improve by mentioning result ordering or API source.
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 description coverage is 0%, but the description compensates by explaining each parameter (query, max_results, fetch_details) with types and defaults, adding meaning beyond the schema.
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 specific verb 'Search' and the resource 'IACR ePrint Archive', distinguishing it from sibling search tools for other archives.
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 implies when to use the tool (to search IACR papers) but does not explicitly mention alternatives or when not to use it. The context is clear given the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_medrxivA
Search academic papers from medRxiv.
Note: medRxiv API filters by category name within the last 30 days, not full-text keyword search. Use a category keyword such as 'infectious_diseases', 'cardiovascular_medicine', 'oncology', etc.
Args: query: Category name to filter by (e.g., 'infectious_diseases', 'oncology'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the search is limited by category and within the last 30 days, which is critical behavioral information. It could additionally mention pagination or rate limits, but the core behavior is well covered.
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 concise: a short purpose sentence, a key limitation note, and structured Args/Returns sections. Every sentence adds value without redundancy.
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 tool's moderate complexity (2 params, 1 required, output schema present), the description covers purpose, behavior, parameter usage, and return type adequately. It could slightly improve by mentioning that results are limited to the last 30 days or details about the output format, but it is sufficient.
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 has 0% description coverage for parameters. The description compensates by explaining the 'query' parameter with concrete examples (like 'infectious_diseases') and restates the default for 'max_results'. This adds meaningful context beyond the schema.
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 'Search academic papers from medRxiv' and explains the specific limitation that the API filters by category name within the last 30 days, not full-text keyword search. This differentiates it from other search_ tools that may support full-text search.
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 explicitly notes the API's behavior (category filter, 30-day window) and provides example category keywords, indicating when to use the tool. However, it does not explicitly guide users away from using it for full-text search or suggest alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_openaireA
Search academic papers from OpenAIRE European Open Access infrastructure.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It mentions return format but omits details like rate limits, pagination, or authentication requirements. For a read-only search, this is adequate but not rich.
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 concise with a clear structure: purpose, Args, Returns. Every sentence adds value, and the key information is front-loaded.
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 two-parameter tool, the description covers what it does, parameters, and return structure. The output schema exists to explain return values, so completeness is high, though some API-specific details are missing.
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?
With 0% schema description coverage, the description adds meaningful context for both parameters: query (with example) and max_results (default value), compensating for the schema's lack of descriptions.
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 'Search' and the specific resource 'academic papers from OpenAIRE European Open Access infrastructure', distinguishing it from other search tools targeting different databases.
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 implies use for OpenAIRE papers but does not explicitly state when to use this tool over siblings like search_arxiv or search_pubmed, nor does it provide exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_openalexA
Search academic papers from OpenAlex.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It does not disclose behavioral traits like read-only nature, pagination, rate limits, or authentication requirements. The basic function is described, but key behavior is omitted.
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 concise: one sentence for purpose, followed by structured Args and Returns sections. No unnecessary text; every sentence serves a purpose.
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 tool's simplicity and the presence of an output schema, the description covers essential usage. It explains inputs and output format. However, it omits nuances like search behavior and field details, which are partially covered by the output schema.
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?
Although the schema has no descriptions (0% coverage), the description adds meaning by explaining each parameter's purpose and provides an example for 'query' and a default for 'max_results'. This compensates well for the schema gap.
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: 'Search academic papers from OpenAlex.' It specifies the verb and resource, and distinguishes from siblings like download_openalex and read_openalex_paper.
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 such as search_arxiv or download_openalex. The description lacks context on prerequisites, exclusions, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_papersA
Unified top-level search across all configured academic platforms.
Args: query: Search query string. max_results_per_source: Max results to fetch from each selected source. sources: Comma-separated source names or 'all'. Available: arxiv,pubmed,biorxiv,medrxiv,google_scholar,iacr,semantic,crossref,openalex,pmc,core,europepmc,dblp,openaire,citeseerx,doaj,base,zenodo,hal,ssrn,unpaywall year: Optional year filter for Semantic Scholar only. Returns: Aggregated dictionary with per-source stats, errors, and deduplicated papers.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results_per_source | No | ||
| sources | No | all | |
| year | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes return type ('Aggregated dictionary with per-source stats, errors, and deduplicated papers'), and notes that the year filter is limited to Semantic Scholar. This is useful behavioral context beyond the schema.
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?
Description is well-structured with Args/Returns sections, front-loading the main purpose. The list of sources is long but informative. Every sentence adds value, though the sources list could be condensed without losing clarity.
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 many per-source search siblings, the description positions this as a unified search, covering return format and source selection. It is largely complete for a top-level aggregation tool, though it could explicitly mention deduplication and cross-source harmonization.
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 description coverage is 0%, so description must compensate. It lists available sources with a default, and clarifies the year parameter's scope (Semantic Scholar only). However, it does not explain other parameters like max_results_per_source beyond their names, nor provide format constraints.
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?
Description clearly states it is a 'unified top-level search across all configured academic platforms', which specifies the verb (search) and resource (academic platforms). It distinguishes from per-source search siblings by being 'top-level', but could be more explicit about aggregating multiple sources.
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 implies this is the recommended tool for broad searches by calling it 'top-level', but does not explicitly state when to use this versus per-source search_* tools. There is no guidance on exclusions or alternatives beyond the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pmcB
Search academic papers from PubMed Central (PMC).
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states it returns a list of paper metadata in dictionary format, but omits any side effects, rate limits, authentication requirements, or details about pagination or filtering. The behavioral profile is minimal.
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 brief and front-loaded with the purpose. The Args and Returns sections are clearly structured. However, the Returns line is somewhat vague and could be more specific, but overall it is efficient.
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 tool has 2 parameters and an output schema (though not shown here), the description covers the basics but lacks examples of query syntax or guidance on result handling. It is minimally complete for a simple search tool.
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 0%, so description must add meaning. It explains 'query' as a search query string with an example, and 'max_results' as maximum number of papers with a default. This adds significant value beyond the schema's type-only definitions.
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 searches academic papers from PubMed Central (PMC), using a specific verb and resource. This distinguishes it from siblings like search_pubmed which searches PubMed, and search_europepmc which searches Europe PMC.
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 on when to use this tool versus alternatives like search_pubmed or search_europepmc. The description does not provide context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pubmedB
Search academic papers from PubMed.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it's a search operation and mentions the return format ('List of paper metadata in dictionary format'), but doesn't disclose important behavioral traits like rate limits, authentication requirements, pagination behavior, error conditions, or what specific metadata fields are included. For a search tool with no annotation coverage, this leaves significant gaps.
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 efficiently structured with clear sections (Args, Returns), uses minimal words to convey essential information, and has no redundant content. Every sentence serves a purpose: stating the tool's function, explaining parameters, and describing the return format.
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 tool has an output schema (which handles return value documentation) and only 2 parameters with good description coverage, the description is reasonably complete for a basic search operation. However, with no annotations and many similar sibling tools, it lacks important context about when to use this specific tool and behavioral constraints that would help an agent use it effectively.
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?
With 0% schema description coverage, the description compensates well by explaining both parameters: 'query' as a 'Search query string' with an example, and 'max_results' with its default value. This adds meaningful context beyond the bare schema, though it doesn't specify query syntax details or result limits beyond the default.
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 purpose: 'Search academic papers from PubMed.' This specifies the verb ('Search') and resource ('academic papers from PubMed'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_pmc' or 'search_europepmc' that might also search PubMed-related databases.
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 provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'search_pmc', 'search_europepmc', and 'download_pubmed', there's no indication of what makes this tool distinct or when it should be preferred over other PubMed-related search or download tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_semanticA
Search academic papers from Semantic Scholar.
Args: query: Search query string (e.g., 'machine learning'). year: Optional year filter (e.g., '2019', '2016-2020', '2010-', '-2015'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| year | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It clearly indicates this is a read-only search operation returning paper metadata. However, it does not mention potential limitations like rate limits, authentication, or API constraints.
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?
Description is concise and well-structured with clear Args/Returns sections. Every line provides useful information with no 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 presence of an output schema (not shown but indicated), the description adequately covers parameters and purpose. It lacks details on pagination or result ordering, but these are minor for a list retrieval tool.
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 description coverage is 0%, yet the description provides meaningful context for all parameters: query with example, year with filter syntax examples, and max_results with default value. This adds significant value beyond the bare schema.
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?
Description starts with a clear verb and resource: 'Search academic papers from Semantic Scholar.' It distinguishes itself from numerous sibling search tools by specifying the source (Semantic Scholar).
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?
While the description explains the parameters and return format, it lacks explicit guidance on when to use this tool over alternatives like search_arxiv or search_pubmed. Usage is implied by the resource name, but no exclusions or comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ssrnA
Search metadata records from SSRN.
Note: SSRN connector is metadata-only and does not support direct PDF download.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses metadata-only limitation and return format. However, it does not mention authentication, rate limits, or error behaviors, which would be helpful for a complete safety profile.
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 concise, with a clear title, a helpful note, and structured Args/Returns section. It is well front-loaded and every sentence adds value.
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 tool is a simple search with an existing output schema, the description covers purpose, parameters, limitations, and return format. It is complete enough for a metadata-only search tool.
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 has 0% description coverage. The description adds meaningful details for both parameters: query with an example ('e.g., 'machine learning') and max_results with default value. This compensates well for the schema gaps.
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 'Search metadata records from SSRN', specifying the verb and resource. Although not explicitly distinguishing from sibling search tools like search_arxiv, the note about being metadata-only helps differentiate.
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 includes a note that the connector is metadata-only and does not support PDF download, implying when not to use it. However, it lacks explicit guidance on when to prefer this tool over other search_* tools, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_unpaywallA
Lookup a DOI via Unpaywall and return OA metadata.
Unpaywall is DOI-centric and does not support generic keyword search.
This tool extracts the first DOI from query and returns at most one record.
Args: query: DOI string or text containing a DOI. max_results: Kept for API consistency; Unpaywall returns max 1 record. Returns: List with one paper metadata dict when DOI is resolvable, else empty list.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool extracts the first DOI from the query, returns at most one record, and that max_results is kept for consistency with no effect. Return format is described as a list with one dict or empty.
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?
Concise, well-structured with Args and Returns sections. Every sentence adds value without redundancy.
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?
The tool is simple, and the description covers all critical aspects: purpose, parameters, behavioral quirks, and output format. No gaps given the context.
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?
With 0% schema description coverage, the description compensates by explaining that 'query' can be a DOI string or text containing a DOI, and that 'max_results' is for API consistency but always returns one record.
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 it looks up a DOI via Unpaywall and returns OA metadata, distinguishing it from generic keyword searches (e.g., search_arxiv). It specifies the exact resource and action.
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?
Explicitly notes that Unpaywall does not support generic keyword search, guiding when not to use. It does not name direct alternatives but provides clear context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_zenodoB
Search academic papers from Zenodo open repository.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the return format ('List of paper metadata') without addressing pagination, rate limits, authentication, or sorting. The default max_results is noted but not elaborated.
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 concise, with a clear purpose sentence followed by structured Args and Returns sections. No redundant information, but the format could be slightly improved by integrating the default value inline rather than in a separate docstring.
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 tool's simplicity and the presence of an output schema (context signal), the description is adequate for basic usage. However, it lacks information on pagination, error handling, and repository-specific quirks, leaving some gaps for complex queries.
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?
Despite 0% schema coverage, the description adds meaningful semantics: 'query: Search query string (e.g., 'machine learning')' provides a concrete example, and 'max_results: Maximum number of papers to return (default: 10)' clarifies the parameter's behavior. This compensates well for the schema's lack of 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 tool's function: 'Search academic papers from Zenodo open repository.' It uses a specific verb (search) and resource (academic papers) and uniquely identifies the repository (Zenodo), distinguishing it from sibling search_* tools for other databases.
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 vs. alternatives like search_arxiv or search_base. The description does not mention coverage, advantages, or situations where Zenodo is appropriate.
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.
57 tool updates
v0.1.4- First observed
download_arxiv - First observed
download_base - First observed
download_biorxiv - First observed
download_citeseerx - First observed
download_crossref - First observed
download_dblp - First observed
download_doaj - First observed
download_hal - First observed
download_iacr - First observed
download_medrxiv - First observed
download_openaire - First observed
download_openalex - First observed
download_pubmed - First observed
download_scihub - First observed
download_semantic - First observed
download_ssrn - First observed
download_with_fallback - First observed
download_zenodo - First observed
get_crossref_paper_by_doi - First observed
read_arxiv_paper - First observed
read_base_paper - First observed
read_biorxiv_paper - First observed
read_citeseerx_paper - First observed
read_crossref_paper - First observed
read_dblp_paper - First observed
read_doaj_paper - First observed
read_hal_paper - First observed
read_iacr_paper - First observed
read_medrxiv_paper - First observed
read_openaire_paper - First observed
read_openalex_paper - First observed
read_pubmed_paper - First observed
read_semantic_paper - First observed
read_ssrn_paper - First observed
read_zenodo_paper - First observed
search_arxiv - First observed
search_base - First observed
search_biorxiv - First observed
search_citeseerx - First observed
search_core - First observed
search_crossref - First observed
search_dblp - First observed
search_doaj - First observed
search_europepmc - First observed
search_google_scholar - First observed
search_hal - First observed
search_iacr - First observed
search_medrxiv - First observed
search_openaire - First observed
search_openalex - First observed
search_papers - First observed
search_pmc - First observed
search_pubmed - First observed
search_semantic - First observed
search_ssrn - First observed
search_unpaywall - First observed
search_zenodo
TDQS
Scored across 57 tools
The tools are highly ambiguous due to extensive overlap across sources; for example, download_arxiv and download_semantic both download PDFs, and search_arxiv and search_semantic both search papers, making it difficult for an agent to choose the right tool without deep knowledge of each source. The descriptions clarify the source but not the functional distinction, leading to potential misselection when the agent doesn't care about the specific source.
Tool names follow a perfectly consistent verb_noun pattern throughout, with all tools using snake_case and clear prefixes like download_, read_, search_, and get_. This predictability makes it easy for an agent to understand the action and target, such as download_arxiv_paper or search_crossref.
With 57 tools, the count is extremely high for a paper search server, far exceeding the typical well-scoped range of 3-15 tools. This creates a bloated and overwhelming interface that is difficult for an agent to navigate efficiently, as many tools are redundant across sources rather than adding unique functionality.
The tool set is highly complete for the domain of paper search and retrieval, covering download, read, search, and metadata retrieval across numerous academic sources. There are no obvious gaps; the tools provide full lifecycle coverage from discovery to content extraction, including a unified search tool for convenience.
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Zotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic…
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that allows Claude AI to search, explore, and compare arXiv papers efficiently through a custom-built local server.418MIT
- AlicenseNot gradedqualityDmaintenanceA MCP server for academic literature retrieval, aggregating multiple data sources like arXiv, Crossref, OpenAlex, PubMed, and Semantic Scholar to provide search, details, citations, trends, and recommendations.4MIT
- FlicenseAqualityDmaintenanceA local MCP server for searching and reading arXiv papers, enabling paper search, retrieval, and summarization through Claude.6-
- AlicenseNot gradedqualityCmaintenanceMCP server for searching, downloading, and reading academic papers from multiple sources such as arXiv, Google Scholar, and Elsevier.6MIT
Appeared in Searches
- Official Consensus.app MCP server for AI-powered research and academic search
- A server for accessing full-text research articles via DOI
- A server for finding academic papers to perform sentiment analysis and develop a consumer-facing voice chatbot
- A tool for finding relevant academic publications and open-source projects on GitHub
- A server for finding academic and scholarly articles