Skip to main content
Glama
openags

Paper Search MCP

by openags

Paper Search MCP

一个用于从多个来源搜索和下载学术论文的模型上下文协议(MCP)服务器。该项目遵循免费优先策略:优先使用开放和公共数据源,在 API 密钥能提升稳定性或覆盖范围时提供可选的 API 密钥支持,并保持特定来源的连接器可扩展,以满足高级用户需求。

PyPI License Python


目录


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 应明确说明这些权衡,而不是假装每个来源都支持全文检索。


功能特性

  • 两层架构

    • 第 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 集成:兼容 MCP 客户端,用于 LLM 上下文增强。

  • 可扩展设计:通过扩展 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 线索。

推荐的免费优先路线图:

  1. 保持当前公共来源稳定。

  2. 添加 OpenAlex 作为广泛的免费元数据来源。

  3. 添加 PubMed Central 和 Europe PMC 以增强生物医学全文访问。

  4. 添加 CORE 和 OpenAIRE 用于基于存储库的开放获取检索。

  5. 主要将 Google Scholar 用作发现回退,而非主要规范来源。

平台能力矩阵

此矩阵反映了本仓库中功能性和端到端回归测试的已验证实时集成结果。各列显示正常条件下观察到的最高能力级别。

平台

搜索

下载

阅读

备注

arXiv

开放 API;稳定可靠

PubMed

⚠️ 仅信息

开放 API;稳定可靠

bioRxiv

开放 API;稳定可靠

medRxiv

开放 API;稳定可靠

Google Scholar

⚠️

有机器人检测;请设置 PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL

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 端点间歇性不可用 / 重定向到网络存档

DOAJ

⚠️ (取决于 URL)

⚠️ (取决于 URL)

PDF 可用性因文章而异;免费密钥可提高速率限制

BASE

⚠️

✅ (取决于记录)

✅ (取决于记录)

OAI-PMH 端点需要机构 IP 注册;否则优雅地返回空结果

Zenodo

✅ (取决于记录)

✅ (取决于记录)

开放 API;稳定可靠

HAL

✅ (取决于记录)

✅ (取决于记录)

开放 API;稳定可靠

SSRN

⚠️

⚠️ 尽力而为

⚠️ 尽力而为

403 机器人检测生效;仅公开 PDF

Unpaywall

✅ (DOI 查询)

需要 PAPER_SEARCH_MCP_UNPAYWALL_EMAIL

Sci-Hub(可选)

⚠️ 仅回退

可选;镜像不稳定;用户自行承担责任

IEEE Xplore 🔑

🚧 骨架

🚧 骨架

🚧 骨架

需要 PAPER_SEARCH_MCP_IEEE_API_KEY 才能激活

ACM DL 🔑

🚧 骨架

🚧 骨架

🚧 骨架

需要 PAPER_SEARCH_MCP_ACM_API_KEY 才能激活

✅ = 实时测试中稳定可靠。⚠️ = 可用但受上游不稳定或访问限制影响。❌ = 不支持。🔑 = 需要密钥。🚧 = 仅骨架。


凭据与 API 密钥要求

除非另有说明,所有密钥均为可选。请在 ~/.config/paper-search-mcp/.env(推荐)中配置,或作为 shell 导出变量。

环境变量

提供方

是否必需?

获取方式

PAPER_SEARCH_MCP_UNPAYWALL_EMAIL

Unpaywall

(未设置则禁用 Unpaywall)

任意有效邮箱;在 unpaywall.org 注册

PAPER_SEARCH_MCP_CORE_API_KEY

CORE

推荐

core.ac.uk/services/api 免费获取

PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY

Semantic Scholar

可选

semanticscholar.org 免费获取 — 可提升速率限制

PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL

Google Scholar

可选

你的 HTTP/HTTPS 代理 URL — 可绕过机器人检测

PAPER_SEARCH_MCP_DOAJ_API_KEY

DOAJ

可选

doaj.org 免费获取 — 可提高每小时速率限制

PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN

Zenodo

可选

zenodo.org 免费获取 — 访问私有记录时必需

PAPER_SEARCH_MCP_IEEE_API_KEY

IEEE Xplore

激活所必需

developer.ieee.org 免费获取

PAPER_SEARCH_MCP_ACM_API_KEY

ACM DL

激活所必需

参见 libraries.acm.org/digital-library/acm-open

所有变量均遵循 PAPER_SEARCH_MCP_<NAME> 前缀命名方案。不带前缀的旧名称(如 CORE_API_KEYUNPAYWALL_EMAIL)仍受支持,以保持向后兼容。


已知上游限制

某些搜索失败是由外部提供方的不稳定性造成的,而非本项目中的缺陷:

来源

症状

原因

解决方法

Google Scholar

返回 0 条结果 / 空 HTML

机器人检测(CAPTCHA)

PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL 设置为代理

Semantic Scholar

429 速率受限响应

匿名访问速率限制

设置 PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY;若密钥被拒绝(403),连接器会自动在无密钥情况下重试

CORE

500 / 超时错误

未认证的速率限制

设置 PAPER_SEARCH_MCP_CORE_API_KEY(免费);连接器以指数退避重试,并在 401/403 时回退到无密钥模式

OpenAIRE

瞬时 403 响应

基于 IP 的会话速率限制

连接器按配置文件重试 3 次,逐级升级:普通会话 → XML Accept 头 → 使用 Mozilla UA 的原始 requests.get

CiteSeerX

通过 Web 存档重定向返回 404

PSU 端点间歇性重定向到存档

无解决方法;连接器优雅地返回空结果

BASE

搜索返回 0 条结果

OAI-PMH 端点需要机构 IP 注册

base-search.net 注册以获取 API 访问权限;否则连接器优雅地返回空结果

SSRN

HTTP 403

机器人检测(Cloudflare)

无解决方法;连接器尝试两个端点,失败时返回明确消息

PMC / Europe PMC

PDF 下载 ProxyError

本地代理阻止直接 HTTPS PDF 下载

禁用代理或改用 download_with_fallback

Unpaywall

完全跳过

未设置 UNPAYWALL_EMAIL 环境变量

~/.config/paper-search-mcp/.env 中设置 PAPER_SEARCH_MCP_UNPAYWALL_EMAIL

可选付费平台连接器(第三阶段)

IEEE Xplore 和 ACM Digital Library 连接器作为可选加入的骨架包含在内。 它们默认禁用 — 除非你显式配置相应的密钥,否则不会发起任何 API 调用。

平台

环境变量

状态

IEEE Xplore

PAPER_SEARCH_MCP_IEEE_API_KEY

🚧 骨架 — 搜索已注册,下载/阅读抛出 NotImplementedError

ACM Digital Library

PAPER_SEARCH_MCP_ACM_API_KEY

🚧 骨架 — 搜索已注册,下载/阅读抛出 NotImplementedError

如何启用:

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_acmdownload_ieee / download_acmread_ieee_paper / read_acm_paper)会在服务器启动时注册。

未设置密钥时,连接器仅记录一条启动警告 — 服务器的其余部分不受影响。

免费来源扩展(第四阶段)

三个额外的免费来源连接器现已集成到 MCP 服务器中:

  • zenodo:官方 Zenodo REST API 连接器(搜索 + 依赖记录的 PDF/阅读支持)。

  • hal:HAL 公共 API 连接器(搜索 + 依赖记录的 PDF/阅读支持)。

  • ssrn:以发现优先的连接器,具有强化的解析器,并在存在直接公共 PDF 链接时尽力下载/阅读。

  • unpaywall:以 DOI 为中心的开放获取元数据来源,用于独立查询(search_unpaywall)和回退 URL 解析。

SSRN 集成仍然以合规为先:它仅尝试 SSRN 页面公开的直接公共 PDF 链接。如果需要登录/受限交付,连接器会返回明确消息,而不是绕过访问控制。

Sci-Hub 声明

Sci-Hub 支持可以作为可选连接器保留,供明确选择启用它的用户使用,但不应被视为默认或推荐的全文获取路径。

  • 可用性不稳定,镜像地址频繁变更。

  • 法律和政策风险因司法管辖区而异。

  • README 和工具描述应明确说明用户有责任自行启用和使用它。

  • 应尽可能优先尝试开放获取和出版商许可的来源。


安装

选择最适合你工作流程的方法。所有方法都支持相同的可选 API 密钥


Claude Code(技能)— 推荐给 Claude Code 用户

作为 Claude Code 技能而非 MCP 服务器安装。这样,当你提到查找论文、学术文献等内容时,Claude 会自动获得论文搜索能力 — 无需 MCP 配置。

前置条件uvClaude 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 密钥:

创建 ~/.config/paper-search-mcp/.env 以配置可选 API 密钥(参见环境变量)。

就这样。 下次启动 Claude Code 时,直接让它查找论文 — 技能会自动激活。例如:

  • "帮我找一些关于 CRISPR 碱基编辑的最新论文"

  • "在 arxiv 和 semantic scholar 上搜索 transformer 注意力机制"

  • "下载 arxiv 论文 2106.12345 的 PDF"

该技能使用一个 CLI(paper-search),它封装了与 MCP 服务器相同的库,搜索/下载输出 JSON,阅读输出纯文本。


MCP 服务器配置文件位置(适用于以下方法)

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows%APPDATA%\Claude\claude_desktop_config.json

  • Linux~/.config/Claude/claude_desktop_config.json


方法 1 — Smithery(一条命令,推荐用于 Claude Desktop)

npx -y @smithery/cli install @openags/paper-search-mcp --client claude

Smithery 会自动为你写入正确的配置块。无需手动编辑 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-mcp

Claude 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-mcp

Claude 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/python3C:\Python311\python.exe)。运行 which python3 / where python 来查找它。


方法 5 — npx(通过 Smithery CLI,无需本地 Python)

npx -y @smithery/cli run @openags/paper-search-mcp

Claude 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-mcp

Claude 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.server

Claude 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 installvenv

对于活跃开发,可选安装可编辑副本:

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/.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=

要使用自定义路径:export PAPER_SEARCH_MCP_ENV_FILE=/absolute/path/to/.env

不带 PAPER_SEARCH_MCP_ 前缀的旧变量名(如 CORE_API_KEYUNPAYWALL_EMAIL)仍受支持,以保持向后兼容。


贡献

我们欢迎贡献!以下是入门方法:

  1. Fork 仓库: 在 GitHub 上点击 "Fork"。

  2. 克隆并设置

    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]"
  3. 进行更改

    • academic_platforms/ 中添加新平台。

    • 更新 tests/ 中的测试。

  4. 提交 Pull Request: 推送更改并在 GitHub 上创建 PR。


演示

待办事项

计划中的学术平台

  • [√] arXiv

  • [√] PubMed

  • [√] bioRxiv

  • [√] medRxiv

  • [√] Google Scholar

  • [√] IACR ePrint Archive

  • [√] Semantic Scholar

  • [√] Crossref

  • [√] PubMed Central (PMC)

  • [√] CORE

  • [√] Europe PMC

  • [√] Sci-Hub 警告和启用文档

开发任务

  • [√] 修复 Async 搜索错误,确保可靠的快速 MCP 事件

  • [√] 端到端完整流水线测试脚本(搜索、解析、下载)

  • [√] 建立两层联邦架构(第 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


Star 历史

Star History Chart


许可证

本项目根据 MIT 许可证授权。详情请参阅 LICENSE 文件。


祝您使用 paper-search-mcp 研究愉快!如果您遇到问题,请打开一个 GitHub issue。

Available Tools

57 tools
download_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose1/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
save_pathNo./downloads
base_urlNohttps://sci-hub.se

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
paper_idYes
doiNo
titleNo
save_pathNo./downloads
use_scihubNo
scihub_base_urlNohttps://sci-hub.se

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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")

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior1/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose1/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
save_pathNo./downloads

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo
filterNo
sortNo
orderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo
fetch_detailsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_results_per_sourceNo
sourcesNoall
yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
yearNo
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 57 tool updatesv0.1.4
    • First observeddownload_arxiv
    • First observeddownload_base
    • First observeddownload_biorxiv
    • First observeddownload_citeseerx
    • First observeddownload_crossref
    • First observeddownload_dblp
    • First observeddownload_doaj
    • First observeddownload_hal
    • First observeddownload_iacr
    • First observeddownload_medrxiv
    • First observeddownload_openaire
    • First observeddownload_openalex
    • First observeddownload_pubmed
    • First observeddownload_scihub
    • First observeddownload_semantic
    • First observeddownload_ssrn
    • First observeddownload_with_fallback
    • First observeddownload_zenodo
    • First observedget_crossref_paper_by_doi
    • First observedread_arxiv_paper
    • First observedread_base_paper
    • First observedread_biorxiv_paper
    • First observedread_citeseerx_paper
    • First observedread_crossref_paper
    • First observedread_dblp_paper
    • First observedread_doaj_paper
    • First observedread_hal_paper
    • First observedread_iacr_paper
    • First observedread_medrxiv_paper
    • First observedread_openaire_paper
    • First observedread_openalex_paper
    • First observedread_pubmed_paper
    • First observedread_semantic_paper
    • First observedread_ssrn_paper
    • First observedread_zenodo_paper
    • First observedsearch_arxiv
    • First observedsearch_base
    • First observedsearch_biorxiv
    • First observedsearch_citeseerx
    • First observedsearch_core
    • First observedsearch_crossref
    • First observedsearch_dblp
    • First observedsearch_doaj
    • First observedsearch_europepmc
    • First observedsearch_google_scholar
    • First observedsearch_hal
    • First observedsearch_iacr
    • First observedsearch_medrxiv
    • First observedsearch_openaire
    • First observedsearch_openalex
    • First observedsearch_papers
    • First observedsearch_pmc
    • First observedsearch_pubmed
    • First observedsearch_semantic
    • First observedsearch_ssrn
    • First observedsearch_unpaywall
    • First observedsearch_zenodo

TDQS

B3.2/5.0

Scored across 57 tools

Disambiguation2/5

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.

Naming Consistency5/5

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.

Tool Count1/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    4
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A local MCP server for searching and reading arXiv papers, enabling paper search, retrieval, and summarization through Claude.
    6
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for searching, downloading, and reading academic papers from multiple sources such as arXiv, Google Scholar, and Elsevier.
    6
    MIT