Skip to main content
Glama
jina-ai

Jina AI Remote MCP Server

Official
by jina-ai

Jina AI Remote MCP Server

CLI version Install MCP Server Add MCP Server jina-mcp-server to LM Studio

A remote Model Context Protocol (MCP) server that provides access to Jina Reader, Embeddings and Reranker APIs with a suite of URL-to-markdown, web search, image search, and embeddings/reranker tools:

Tool

Description

Is Jina API Key Required?

primer

Get current contextual information for localized, time-aware responses

No

read_url

Extract clean, structured content from web pages as markdown via Reader API

Optional*

capture_screenshot_url

Capture high-quality screenshots of web pages via Reader API

Optional*

guess_datetime_url

Analyze web pages for last update/publish datetime with confidence scores

No

search_web

Search the entire web for current information and news via Reader API

Yes

search_web_deep

Search the web, read each result page via Reader API, then score every passage against the query in one listwise Reranker API call (jina-reranker-v3.5) to return the best paragraph-length passage from each page (typically 2-20s)

Yes

search_arxiv

Search academic papers and preprints on arXiv repository via Reader API

Yes

search_ssrn

Search academic papers on SSRN (Social Science Research Network) via Reader API

Yes

search_images

Search for images across the web (similar to Google Images) via Reader API

Yes

search_jina_blog

Search Jina AI news and blog posts at jina.ai/news

No

search_bibtex

Search for academic papers and return BibTeX citations (DBLP + Semantic Scholar)

No

expand_query

Expand and rewrite search queries based on the query expansion model via Reader API

Yes

parallel_read_url

Read multiple web pages in parallel for efficient content extraction via Reader API

Optional*

parallel_search_web

Run multiple web searches in parallel for comprehensive topic coverage and diverse perspectives via Reader API

Yes

parallel_search_arxiv

Run multiple arXiv searches in parallel for comprehensive research coverage and diverse academic angles via Reader API

Yes

parallel_search_ssrn

Run multiple SSRN searches in parallel for comprehensive social science research coverage via Reader API

Yes

sort_by_relevance

Rerank documents by relevance to a query via Reranker API

Yes

classify_text

Classify texts into user-defined labels via Embeddings API

Yes

deduplicate_strings

Get top-k semantically unique strings via Embeddings API and submodular optimization

Yes

deduplicate_images

Get top-k semantically unique images via Embeddings API and submodular optimization

Yes

extract_pdf

Extract figures, tables, and equations from PDF documents (arXiv papers or any PDF URL) using layout detection

Yes

Optional tools work without an API key but have rate limits. For higher rate limits and better performance, use a Jina API key. You can get a free Jina API key from https://jina.ai

Usage

WARNING

Some clients do not support env variable, so you may need to replace${JINA_API_KEY} below to a hardcoded real API key jina_xxx.

NOTE

The server usesStreamable HTTP transport (MCP spec 2025-03-26). The /sse endpoint is kept as an alias for backward compatibility. See FAQ for details.

For client that supports remote MCP server:

{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}" // optional
      }
    }
  }
}

For client that does not support remote MCP server yet, you need mcp-remote a local proxy to connect to the remote MCP server.

{
  "mcpServers": {
    "jina-mcp-server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.jina.ai/v1",
        "--header",
        "Authorization: Bearer ${JINA_API_KEY}"
      ]
    }
  }
}

For Claude Code:

WARNING

Upgrading from /sse? If you previously added with --transport sse, remove it first with claude mcp remove -s user jina, then re-add using the command below.

claude mcp add -s user --transport http jina https://mcp.jina.ai/v1 \
  --header "Authorization: Bearer ${JINA_API_KEY}"

For OpenAI Codex: find ~/.codex/config.toml and add the following:

[mcp_servers.jina-mcp-server]
command = "npx"
args = [
    "-y",
    "mcp-remote",
    "https://mcp.jina.ai/v1",
    "--header",
    "Authorization: Bearer ${JINA_API_KEY}"]

Related MCP server: Jina AI Remote MCP Server

Tool Filtering before Registering

Every MCP tool requires the LLM to pre-allocate tokens in its context window for the tool's name, description, and schema. For LLMs with limited context windows, registering all 22 tools can consume significant space before any actual work begins.

By filtering tools server-side via query parameters on the endpoint URL (/v1?...), excluded tools are never registered with the MCP client. The client and LLM never see them, saving context window for what matters.

Query Parameters

Parameter

Description

Example

exclude_tools

Comma-separated tool names to exclude

exclude_tools=search_web,search_arxiv

include_tools

Comma-separated tool names to include

include_tools=read_url,search_web

exclude_tags

Comma-separated tags to exclude

exclude_tags=parallel,rerank

include_tags

Comma-separated tags to include

include_tags=search,read

max_tokens

Cap read_url/parallel_read_url response size in tokens. 0 disables truncation

max_tokens=50000

Available Tags

Tag

Tools

search

search_web, search_web_deep, search_arxiv, search_ssrn, search_images, search_jina_blog, search_bibtex

parallel

parallel_search_web, parallel_search_arxiv, parallel_search_ssrn, parallel_read_url

read

read_url, parallel_read_url, capture_screenshot_url

utility

primer, show_api_key, expand_query, guess_datetime_url, extract_pdf

rerank

sort_by_relevance, classify_text, deduplicate_strings, deduplicate_images

Precedence

Filters are applied in this order (highest to lowest priority):

  1. exclude_tools - Always excludes specified tools

  2. exclude_tags - Excludes tools in specified tags

  3. include_tools - Includes specified tools

  4. include_tags - Starts with only tools in specified tags

Examples

Exclude parallel tools (saves ~4 tools worth of context tokens):

{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?exclude_tags=parallel",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Only include search and read tools:

{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?include_tags=search,read",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Exclude specific tools:

{
  "mcpServers": {
    "jina-mcp-server": {
      "url": "https://mcp.jina.ai/v1?exclude_tools=search_images,deduplicate_images",
      "headers": {
        "Authorization": "Bearer ${JINA_API_KEY}"
      }
    }
  }
}

Troubleshooting

I got stuck in a tool calling loop - what happened?

This is a common issue with LMStudio when the default context window is 4096 and you're using a thinking model like gpt-oss-120b or qwen3-4b-thinking. As the thinking and tool calling continue, once you hit the context window limit, the AI starts losing track of the beginning of the task. That's how it gets trapped in this rolling context window.

The solution is to load the model with enough context length to contain the full tool calling chain and thought process.

set long enough context

I can't see all tools.

Some MCP clients have local caching and do not actively update tool definitions. If you're not seeing all the available tools or if tools seem outdated, you may need to remove and re-add the jina-mcp-server to your MCP client configuration. This will force the client to refresh its cached tool definitions. In LMStudio, you can click the refresh button to load new tools.

update local mcp clients

Claude Desktop says "Server disconnected" on Windows

Cursor and Claude Desktop (Windows) have a bug where spaces inside args aren't escaped when it invokes npx, which ends up mangling these values. You can work around it using:

{
  // rest of config...
  "args": [
    "mcp-remote",
    "https://mcp.jina.ai/v1",
    "--header",
    "Authorization:${AUTH_HEADER}" // note no spaces around ':'
  ],
  "env": {
    "AUTH_HEADER": "Bearer <JINA_API_KEY>" // spaces OK in env vars
  }
},

Cursor shows a red dot on this MCP status

Likely a UI bug from Cursor, but the MCP works correctly without any problem. You can toggle off/on to "restart" the MCP if you find the red dot annoying (fact is, since you are using this as a remote MCP, it's not a real "server restart" but mostly a local proxy restart).

cursor shows red dot

My LLM never uses some tools

Assuming all tools are enabled in your MCP client but LLM still never uses some tools or favors some over others, this is pretty common when an LLM is trained with a specific set of tools. For example, we rarely see parallel_* tools being used organically by LLMs unless they are explicitly instructed to do so. Some research says LLMs must be trained to use parallel_*. Models like Qwen3-Next natively prefer to call the singleton version but with multiple queries in an array to achieve parallelism (which our MCP also support now). Either way, in Cursor, you can add the following rule to your .mdc file:

---
alwaysApply: true
---

When you are uncertain about knowledge, or the user doubts your answer, always use Jina MCP tools to search and read best practices and latest information. Use search_arxiv and read_url together when questions relate to theoretical deep learning or algorithm details. Use search_ssrn for social sciences, economics, law, and finance research. search_web, search_arxiv, and search_ssrn cannot be used alone - always combine with read_url or parallel_read_url to read from multiple sources. Remember: every search must be complemented with read_url to read the source URL content. For maximum efficiency, use parallel_* versions of search and read when necessary.

Why is my content truncated?

Claude Code, Claude Desktop, and Cursor enforce a fixed 25k token limit on MCP tool responses. To stop these clients from rejecting a large response outright, this server applies a token guardrail to read_url and parallel_read_url.

Items are kept whole in their original order while they fit. The first item that does not fit is cut to a prefix that does, and anything after it is dropped. A short [jina-mcp] ... note is appended saying what was truncated or omitted, so the model knows it is looking at a partial document rather than a complete one. At least one item always survives, even if that item alone is over budget.

The server deliberately aims under the limit rather than exactly at it. It has to: the server counts tokens with cl100k while the client counts with its own tokenizer, the cut is a proportional character estimate, and the client measures the serialized JSON payload rather than the raw text. On top of the token budget the server therefore enforces a hard ceiling of 3 bytes per allowed token, which holds regardless of tokenizer for both ASCII prose (~3.6 bytes/token) and CJK (~3 bytes/token). A rejected response delivers nothing, so erring low is the cheaper mistake.

Any client can set its own budget with max_tokens on the endpoint URL (for example https://mcp.jina.ai/v1?max_tokens=50000), and max_tokens=0 disables truncation entirely. Clients with configurable limits, such as OpenAI Codex (tool_output_token_limit), are otherwise left alone.

Using parallel tools vs singleton tools with arrays

Claude Code recently started preferring parallel_* tools (like parallel_search_web, parallel_read_url) for concurrent operations. However, models like Qwen3-Next prefer calling singleton tools with multiple queries in an array. Both approaches work: the singleton versions (search_web, search_arxiv, search_ssrn, read_url) accept either a single string or an array of strings for the query/url parameter. When given an array, these tools automatically execute all queries in parallel internally, producing the same concurrent behavior as explicitly calling parallel_* tools. Use whichever style your model prefers. Arrays are capped at 5 entries, the same limit the parallel_* tools enforce.

Why is the endpoint called /sse but using Streamable HTTP?

The /sse endpoint URL is kept for backward compatibility with existing users. The recommended endpoint is now /v1. Both use the same Streamable HTTP transport (the new MCP standard from spec 2025-03-26), not the deprecated SSE transport.

This works seamlessly because:

  • Claude Desktop, Cursor, Windsurf use mcp-remote which defaults to http-first strategy (tries Streamable HTTP first)

  • Claude Code has native support for both transports

  • LM Studio supports direct connection to Streamable HTTP endpoints

The response streaming still uses SSE format (Content-Type: text/event-stream), but the protocol layer (session management, initialization) follows Streamable HTTP spec. All major MCP clients are compatible.

Client-side tool filtering with mcp-remote

If you're using mcp-remote as a local proxy, you can also filter tools client-side using its --ignore-tool flag:

{
  "mcpServers": {
    "jina-mcp-server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.jina.ai/v1",
        "--header",
        "Authorization: Bearer ${JINA_API_KEY}",
        "--ignore-tool", "parallel_search_web",
        "--ignore-tool", "parallel_search_arxiv",
        "--ignore-tool", "parallel_read_url"
      ]
    }
  }
}

This approach filters tools at the proxy level before they reach the MCP client. However, server-side filtering via query parameters (see Tool Filtering) is more efficient as it reduces token usage from the source.

Reading a page with a question in mind

By default read_url returns the whole page, and the model pays for every token of it to answer one question. Pass question and the page is instead split into passages and scored with Reranker v3.5, and only the top-ranked passages come back — literally the same pipeline search_web_deep runs on its result pages, now available on a URL you already have.

Parameter

Default

Effect

question

(unset)

Unset returns the full page, exactly as before. Set, it returns ranked passages instead of content.

chunk_size

100

Target passage size, counted in words (characters for CJK). Not a token count — 100 words is roughly 130-150 tokens of English. Passages only split at sentence boundaries, so this is a target, not a hard cut. Larger keeps more surrounding context, smaller pinpoints the answer.

topk

1

Number of passages returned, best first.

All three are optional and question gates the other two, so existing calls are byte-for-byte unchanged.

// full page: 13,713 bytes, 233 ms
{ "url": "https://jina.ai/news/what-late-chunking-really-is-and-what-its-not-part-ii/" }

// one passage: 756 bytes (5.5%), 569 ms
{ "url": "https://jina.ai/news/what-late-chunking-really-is-and-what-its-not-part-ii/",
  "question": "Which embedding models support late chunking?", "topk": 2 }

A question-grounded response carries question, snippets and snippet_source: content, and omits content. When extraction cannot run — an empty page, an unreadable one, or no API key to rank with — the full body is returned with snippet_source: full_content and a note saying so, rather than a prefix masquerading as a ranked answer.

Three things worth knowing before tuning:

  • The score doubles as a confidence signal. Asking a page a question it does not answer scores an order of magnitude lower than a genuine hit (measured: 0.02 against 0.51–0.81). A low top score means "this page does not say", not "ranking failed".

  • Code blocks and tables are stripped before ranking. The chunker removes them along with nav furniture, which is what stops boilerplate from winning on lexical overlap. The trade-off is that install commands and spec tables are not eligible passages, so "how do I install X" is a weak fit for this parameter.

  • Latency is roughly double a plain read, since the passage extraction runs alongside the fetch and adds a rerank call. parallel_read_url raises its own timeout floor to 60s when any entry has a question.

What is the difference between search_web and search_web_deep?

search_web returns the snippet the search engine picked — around 20 words, often a keyword-bearing fragment that never answers the question. search_web_deep also reads each page via Reader, splits it into ~100-word passages at sentence boundaries, and scores every passage from every page in one listwise Reranker call, so any page's passage can outrank any other's. snippet_source=auto (the default) enters each page's engine snippet as one more candidate and the snippet_source field on each result says which won; content never enters it and omits pages it could not read, so it may return fewer than num.

Top 5 per mode from the live server. Snippets keep their start and end, middle replaced by (...n chars...) so length stays visible:

English — what is the latest model from jina ai

#

search_web

deep·auto

deep·content

1

jina.ai/modelsWe've been moving the needle in search (...82 chars...) discover each milestone.

elastic.co/search-labs/blog/on-p…All 28 Jina AI models available, (...74 chars...) and jina-reranker-v3 .

jina.aiTech blog Bootstrapping Audio (...1950 chars...) 30, 2023 Jina Embeddi

2

jina.aiJina models natively inside Elasticsearc (...94 chars...) May 30, 2024 Jina CLIP:

jina.ai/embeddingsjina-embeddings-v4 is our latest (...101 chars...) late-interaction retrieval

jina.ai/embeddingsarXiv July 20, 2026 jina-reranker-v3.5: (...1833 chars...) Sentence Embedding Models

3

huggingface.co/jinaaiJina AI: Embeddings, Rerankers and (...102 chars...) Recently updated jinaai

huggingface.co/jinaaiJina AI: Embeddings, Rerankers and (...99 chars...) Sort: Recently updated

huggingface.co/jinaaiRecent Activity florian-hoenickeupdated (...586 chars...) ago • 6 Team members 23

4

jina.ai/embeddingsjina-embeddings-v4 is our latest (...101 chars...) late-interaction retrieval

jina.aiTech blog Bootstrapping Audio (...1950 chars...) 30, 2023 Jina Embeddi

cloud.google.com/blog/products/a…Jina Reader isn't just another scraper; (...715 chars...) beyond simple rules.

5

elastic.co/search-labs/blog/on-p…All 28 Jina AI models available, (...74 chars...) and jina-reranker-v3 .

newrelic.com/instant-observabili…Early issue detection: Detect and (...483 chars...) These reports include:

jina.ai/modelswarning calendar\month 2023-06-17 The (...331 chars...) 2026Q2 2026Q1 2025Q4

Chinese — jina ai 最新的模型是什么

#

search_web

deep·auto

deep·content

1

jina.ai/zh-TW/about-usJina AI 由肖涵博士於2020年創建,是一家領先的搜索AI 公司。我們專注開發向量模型、重排器、Reader和小型語言模型,幫助企業和開發者構建強大的搜索

ithome.com.tw/news/159507Jina AI最新第二代文字嵌入模型jina-embeddings-v2,已可處 (...138 chars...) 型現在可以處理多達8,192個token上下文長度。

ithome.com.tw/news/159507Jina AI最新第二代文字嵌入模型jina-embeddings-v2,已可處 (...138 chars...) 型現在可以處理多達8,192個token上下文長度。

2

jina.ai/zh-TW/news/jina-reader-f…Grounding 技術對GenAI 應用程式來說至關重要。我們全新的https (...27 chars...) 的最新知識,實現搜尋grounding,讓回應更值得

jina.ai/zh-CN/embeddings两者都与 v5-text 完全兼容——无需重新索引。 v5-text:最新最先进 (...148 chars...) English 和检索任务中树立了新的基准。

jina.ai/zh-CN/embeddings两者都与 v5-text 完全兼容——无需重新索引。 v5-text:最新最先进 (...148 chars...) English 和检索任务中树立了新的基准。

3

elastic.co/cn/jina-search-models什么是Jina 搜索模型? Jina 模型是开源的、前沿的检索AI (...40 chars...) 和文档中提取和构建内容的读取器。

elastic.co/cn/jina-search-models您可以从 semantic_text 开始,或访问各模型子页面,查看代码示例、A (...138 chars...) Inference Service 上使用。

elastic.co/cn/jina-search-models您可以从 semantic_text 开始,或访问各模型子页面,查看代码示例、A (...138 chars...) Inference Service 上使用。

4

milvus.io/docs/zh-hant/embed-wit…Jina AI. Jina AI 的嵌入模型是高性能的文字嵌入模型,可以將文字輸入轉換為數字表示,捕捉文字的語義。這些模型在密集檢索、語義文字相似性和多語言理解等應用中表現

milvus.io/docs/zh-hant/embed-wit…Jina AI’s embedding models are (...541 chars...) an API key from Jina AI.

jina.ai/zh-TW/about-us我們專注開發向量模型、重排器、Reader和小型語言模型,幫助企業和開發者構建強 (...51 chars...) 被 Elastic(NYSE: ESTC)收購。

5

jina.ai/zh-CN/embeddingsv5-omni:一个向量,涵盖所有模态 文本、图像、音频、视频——共享同一个向量 (...36 chars...) 亿时性能最佳的开放权重全向模型。v5-

jina.ai/zh-TW/about-usJina AI 由肖涵博士於2020年創建,是一家領先的搜索AI 公司。我們專注開發向量模型、重排器、Reader和小型語言模型,幫助企業和開發者構建強大的

jina.ai/zh-TW/news/jina-reader-f…因為阻止企業向數百萬用戶部署 LLMs 的主要障礙是信任度:答案是真實的,還是僅 (...86 chars...) 就能從網路上搜尋最新的世界知識。

  • The engine snippet is sometimes the better answer. The top three English auto results came back as serp — short, and the first answers the query more directly than any extracted passage, while content promotes jina.ai homepage navigation instead. Prefer auto unless something downstream needs full passages.

  • The reranker scores relevance, not freshness. Both Chinese deep runs rank a 2023 jina-embeddings-v2 article first for a query asking which model is latest. Bound the window with tbs, or check each result's date.

  • Passages are not uniformly ~100 words. Navigation-heavy pages lack the sentence punctuation to split on, so the first two English content results run to ~2,000 characters — the per-passage ceiling.

Developer Guide

Local Development

# Clone the repository
git clone https://github.com/jina-ai/MCP.git
cd MCP

# Install dependencies
npm install

# Start development server
npm run start

Deploy to Cloudflare Workers

Deploy to Workers

This will deploy your MCP server to a URL like: jina-mcp-server.<your-account>.workers.dev/v1

Available Tools

19 tools
capture_screenshot_urlA

Capture high-quality screenshots of web pages in base64 encoded JPEG format. Use this tool when you need to visually inspect a website, take a snapshot for analysis, or show users what a webpage looks like.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe complete HTTP/HTTPS URL of the webpage to capture (e.g., 'https://example.com')
firstScreenOnlyNoSet to true for a single screen capture (faster), false for full page capture including content below the fold
return_urlNoSet to true to return screenshot URLs instead of downloading images as base64

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 carries the full burden of behavioral disclosure. It mentions the output format (base64 JPEG) and general use cases but lacks details on potential behavioral traits like rate limits, authentication needs, error conditions, or performance implications (e.g., timeouts for slow-loading pages). The description is functional but insufficient for a mutation-like tool (capturing external resources) without annotation support.

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 two sentences: the first states the core functionality and output format, and the second provides usage guidelines. Every sentence adds value without redundancy, making it easy to parse and front-loaded with essential information.

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 complexity of a screenshot tool (involving external web interactions) and the absence of both annotations and an output schema, the description is moderately complete. It covers purpose and usage but lacks details on behavioral aspects like error handling or output specifics (e.g., what the base64 string or URL looks like). This leaves gaps that could hinder effective tool invocation by an AI agent.

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 100%, so the schema fully documents all three parameters (url, firstScreenOnly, return_url) with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema, but this is acceptable given the high coverage, 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 purpose with specific verbs ('capture high-quality screenshots') and resources ('web pages'), specifying the output format ('base64 encoded JPEG format'). It distinguishes itself from sibling tools like 'read_url' or 'search_web' by focusing on visual capture rather than text extraction or searching.

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 provides clear usage contexts ('visually inspect a website', 'take a snapshot for analysis', 'show users what a webpage looks like'), giving practical scenarios for when to use this tool. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among siblings, such as 'read_url' for text content instead of screenshots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deduplicate_imagesA

Get top-k semantically unique images (URLs or base64-encoded) using Jina CLIP v2 embeddings and submodular optimization. Use this when you have many visually similar images and want the most diverse subset.

ParametersJSON Schema
NameRequiredDescriptionDefault
imagesYesArray of image inputs to deduplicate. Each item can be either an HTTP(S) URL or a raw base64-encoded image string (without data URI prefix).
kNoNumber of unique images to return. If not provided, automatically finds optimal k by looking at diminishing return

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 the full burden of behavioral disclosure. It effectively describes key traits: it's a read-only operation (implied by 'get'), uses semantic analysis via embeddings, and includes optimization logic. However, it lacks details on performance aspects like rate limits or error handling, which would be helpful for a tool with computational complexity.

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 front-loaded with the core purpose in the first sentence and usage guidelines in the second. Both sentences earn their place by adding essential information without redundancy, making it efficient and well-structured for quick comprehension.

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 complexity (involving embeddings and optimization) and no output schema, the description is mostly complete. It covers purpose, usage, and high-level behavior, but could benefit from mentioning output format (e.g., returned structure) or limitations to fully compensate for the lack of output schema.

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 100%, so the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'top-k' and 'semantically unique,' but doesn't provide additional syntax or format details. This meets the baseline for high schema 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?

The description clearly states the tool's purpose with specific verbs ('get top-k semantically unique images') and resources ('images (URLs or base64-encoded)'), and distinguishes it from sibling tools by specifying its unique function of deduplication using Jina CLIP v2 embeddings and submodular optimization, unlike other tools like search_images or deduplicate_strings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'when you have many visually similar images and want the most diverse subset.' This provides clear context and distinguishes it from alternatives like search_images (for finding images) or deduplicate_strings (for text deduplication), making it easy for an agent to select appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deduplicate_stringsA

Get top-k semantically unique strings from a list using Jina embeddings and submodular optimization. Use this when you have many similar strings and want to select the most diverse subset that covers the semantic space. Perfect for removing duplicates, selecting representative samples, or finding diverse content.

ParametersJSON Schema
NameRequiredDescriptionDefault
stringsYesArray of strings to deduplicate
kNoNumber of unique strings to return. If not provided, automatically finds optimal k by looking at diminishing return

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 the full burden of behavioral disclosure. It effectively describes the tool's behavior: using Jina embeddings and submodular optimization for semantic deduplication, returning top-k results, and automatically determining optimal k if not provided. However, it doesn't mention performance characteristics like computational complexity or 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?

The description is perfectly structured and concise: three sentences that each earn their place. The first states the core functionality, the second provides usage guidelines, and the third lists specific applications. No wasted words, front-loaded with essential information.

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 tool with no annotations and no output schema, the description provides good context about what the tool does and when to use it. However, it doesn't describe the return format or what 'semantically unique' means in practice. Given the complexity of semantic deduplication, more detail about the output would be helpful.

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 100%, so the schema already documents both parameters thoroughly. The description adds some context about the 'k' parameter's automatic optimization behavior, but doesn't provide additional semantic meaning beyond what's in the schema descriptions. This meets the baseline for high schema 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?

The description clearly states the tool's purpose with specific verbs ('get top-k semantically unique strings') and resources ('from a list using Jina embeddings and submodular optimization'). It distinguishes itself from siblings like deduplicate_images by focusing on strings rather than images, and from other tools by its semantic deduplication approach.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('when you have many similar strings and want to select the most diverse subset that covers the semantic space') and provides three specific use cases ('removing duplicates, selecting representative samples, or finding diverse content'). It differentiates from siblings by not overlapping with their domains (e.g., images, web search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

expand_queryA

Expand and rewrite search queries based on an up-to-date query expansion model. This tool takes an initial query and returns multiple expanded queries that can be used for more diversed and deeper searches. Useful for improving deep research results by searching broader and deeper.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query to expand (e.g., 'machine learning', 'climate change')

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 mentions the tool 'returns multiple expanded queries' but lacks details on behavioral traits such as rate limits, authentication needs, response format, or potential side effects. For a tool with no annotation coverage, this leaves significant gaps in understanding its operation.

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 appropriately sized and front-loaded, with the core purpose stated first. However, the second sentence could be more concise (e.g., 'diversed' is misspelled as 'diversed'), and some phrasing is slightly redundant, though overall it avoids unnecessary elaboration.

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 moderate complexity (1 parameter, no output schema, no annotations), the description is partially complete. It covers the purpose and usage context but lacks details on behavioral aspects and output format. Without annotations or output schema, more information on what 'multiple expanded queries' entails would improve completeness.

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 100%, with the parameter 'query' well-documented in the schema. The description adds minimal value beyond the schema by implying the query is 'initial' and used for expansion, but does not provide additional syntax, format, or constraints. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

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 with specific verbs ('expand and rewrite search queries') and resource ('search queries'), distinguishing it from sibling tools like search_web or search_arxiv by focusing on query expansion rather than direct searching. It explicitly mentions using 'an up-to-date query expansion model' for transformation.

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 provides clear context for when to use the tool ('useful for improving deep research results by searching broader and deeper'), but does not explicitly state when not to use it or name specific alternatives among siblings. It implies usage for enhancing search effectiveness without direct exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_pdfA

Extract figures, tables, and equations from PDF documents using layout detection. Perfect for extracting visual elements from academic papers on arXiv or any PDF URL. Returns base64-encoded images of detected elements with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoarXiv paper ID (e.g., '2301.12345' or 'hep-th/9901001'). Either id or url is required.
urlNoDirect PDF URL. Either id or url is required.
max_edgeNoMaximum edge size for extracted images in pixels (default: 1024)
typeNoFilter by float types (comma-separated): figure, table, equation. If not specified, returns all types.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the core functionality and output format ('Returns base64-encoded images of detected elements with metadata'), but lacks details about error conditions, rate limits, authentication requirements, or what happens with malformed PDFs. The description adds value but leaves behavioral 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 perfectly front-loaded with the core purpose in the first clause, followed by usage context and output details. Every sentence earns its place with zero wasted words, making it highly efficient and scannable.

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 moderate complexity (4 parameters, no output schema, no annotations), the description covers the core purpose and output format adequately but lacks details about error handling, performance characteristics, or limitations. It's complete enough for basic understanding but leaves operational questions unanswered.

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 100%, so the schema already fully documents all 4 parameters. The description mentions 'arXiv paper ID' and 'PDF URL' which aligns with the schema, but adds no additional parameter semantics beyond what the schema provides. The baseline score of 3 is appropriate when the schema does the heavy lifting.

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 action ('extract figures, tables, and equations'), the resource ('PDF documents'), and the method ('using layout detection'). It distinguishes from sibling tools by focusing on PDF content extraction rather than searching, reading, or processing other data types.

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 provides clear context for when to use this tool ('Perfect for extracting visual elements from academic papers on arXiv or any PDF URL'), but does not explicitly state when not to use it or name specific alternatives among the sibling tools for different PDF-related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guess_datetime_urlA

Guess the last updated or published datetime of a web page. This tool examines HTTP headers, HTML metadata, Schema.org data, visible dates, JavaScript timestamps, HTML comments, Git information, RSS/Atom feeds, sitemaps, and international date formats to provide the most accurate update time with confidence scores. Returns the best guess timestamp and confidence level.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe complete HTTP/HTTPS URL of the webpage to guess datetime information

TDQS

A3.9/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 of behavioral disclosure. It effectively describes the tool's approach by listing multiple data sources examined (e.g., HTTP headers, HTML metadata) and outputs (timestamp with confidence scores), giving a clear picture of its heuristic and probabilistic nature. However, it lacks details on error handling or performance characteristics.

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 appropriately sized and front-loaded, starting with the core purpose and following with key details on methods and outputs. It avoids redundancy, though it could be slightly more streamlined by combining some of the listed data sources into broader categories.

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 complexity (heuristic datetime guessing) and lack of annotations or output schema, the description does a good job of explaining the process and return values. It covers the input parameter indirectly and outlines the output structure, though it could benefit from more explicit details on confidence score ranges or error cases.

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 input schema has 100% description coverage, with the 'url' parameter well-documented in the schema itself. The description does not add any additional meaning or constraints beyond what the schema provides, such as URL format examples or validation rules, so it meets the baseline for high schema 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?

The description clearly states the specific action ('guess the last updated or published datetime') and resource ('a web page'), distinguishing it from sibling tools like 'read_url' or 'capture_screenshot_url' that focus on different webpage interactions. It specifies the exact temporal information being extracted, making the purpose 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 when temporal metadata about a webpage is needed, but does not explicitly state when to use this tool versus alternatives like 'read_url' (which might return raw content) or 'parallel_search_web' (which might provide search results). No exclusions or prerequisites are mentioned, leaving the context somewhat open-ended.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_read_urlA

Read multiple web pages in parallel to extract clean content efficiently. For best results, provide multiple URLs that you need to extract simultaneously. This is useful for comparing content across multiple sources or gathering information from multiple pages at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesArray of URL configurations to read in parallel (maximum 5 URLs for optimal performance)
timeoutNoTimeout in milliseconds for all URL reads

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions efficiency benefits and the parallel nature of the operation, but doesn't disclose important behavioral traits like error handling, rate limits, authentication requirements, or what happens when URLs fail. It mentions 'optimal performance' with max 5 URLs but doesn't explain consequences of exceeding this limit.

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 perfectly concise with three sentences that each earn their place: first states the core functionality, second provides usage guidance, third gives concrete use cases. It's front-loaded with the main purpose and wastes no words while being comprehensive.

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 no output schema, the description should do more to explain behavioral aspects and expected outputs. While it covers purpose and usage well, it doesn't describe what the tool returns (clean content format, error responses, or structured data from links/images). For a tool with 2 parameters and no annotation coverage, the description is adequate but leaves gaps in behavioral transparency.

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 100%, so the schema already documents both parameters thoroughly. The description adds minimal parameter semantics beyond what's in the schema - it mentions 'multiple URLs' which aligns with the 'urls' parameter, but doesn't provide additional context about parameter usage or relationships beyond what the schema already specifies.

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 with specific verbs ('read multiple web pages in parallel', 'extract clean content efficiently') and distinguishes it from sibling tools like 'read_url' by emphasizing parallel processing and multi-URL capability. It explicitly mentions the resource ('web pages') and the efficiency benefit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'provide multiple URLs that you need to extract simultaneously' and gives concrete use cases ('comparing content across multiple sources', 'gathering information from multiple pages at once'). It distinguishes from single-URL alternatives by emphasizing parallel processing for multiple URLs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_search_arxivA

Run multiple arXiv searches in parallel for comprehensive research coverage and diverse academic angles. For best results, provide multiple search queries that explore different research angles and methodologies. You can use expand_query to help generate diverse queries, or create them yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchesYesArray of arXiv search configurations to execute in parallel (maximum 5 searches for optimal performance)
timeoutNoTimeout in milliseconds for all searches

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the parallel execution nature and performance optimization ('maximum 5 searches for optimal performance'), which is useful. However, it doesn't disclose important behavioral aspects like rate limits, authentication requirements, error handling, or what the return format looks like (though there's no output schema). The description doesn't contradict any annotations since none exist.

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 in three sentences. The first sentence states the core purpose, the second provides usage guidance, and the third offers a helpful tip about query generation. Every sentence adds value with zero wasted words, making it appropriately front-loaded and 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?

Given the tool's moderate complexity (parallel execution of searches) and 100% schema coverage but no annotations or output schema, the description is adequate but has gaps. It explains the parallel nature and provides usage tips, but doesn't cover behavioral aspects like performance characteristics, error handling, or result format. For a tool executing parallel searches without output schema, more context about what to expect would be helpful.

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 100%, so the schema already documents all parameters thoroughly. The description adds minimal parameter semantics beyond the schema - it mentions 'multiple search queries' which aligns with the 'searches' array parameter, but doesn't provide additional context about parameter usage or constraints that aren't already in the schema descriptions. With high schema coverage, baseline 3 is appropriate.

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: 'Run multiple arXiv searches in parallel for comprehensive research coverage and diverse academic angles.' It specifies the verb ('run'), resource ('arXiv searches'), and scope ('in parallel'), distinguishing it from the sibling 'search_arxiv' tool which presumably handles single searches. The description explicitly mentions the parallel execution capability.

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 provides clear usage context: 'For best results, provide multiple search queries that explore different research angles and methodologies.' It also suggests using 'expand_query' to generate diverse queries. However, it doesn't explicitly state when NOT to use this tool (e.g., for single searches where 'search_arxiv' might be more appropriate) or provide direct alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_search_ssrnA

Run multiple SSRN searches in parallel for comprehensive social science research coverage and diverse academic angles. For best results, provide multiple search queries that explore different research angles and methodologies. You can use expand_query to help generate diverse queries, or create them yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchesYesArray of SSRN search configurations to execute in parallel (maximum 5 searches for optimal performance)
timeoutNoTimeout in milliseconds for all searches

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 and does well by disclosing key behavioral traits: it's a search operation (implied read-only), mentions 'optimal performance' with maximum 5 searches (implied rate/performance consideration), and suggests 'best results' with diverse queries. It doesn't explicitly mention authentication needs or rate limits, but provides practical usage 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?

The description is appropriately sized with three sentences, each earning its place: first states purpose, second provides usage guidance, third mentions alternative approaches. It's front-loaded with the core functionality and wastes no words on redundant information.

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 no annotations and no output schema, the description does well by covering purpose, usage guidelines, and behavioral context. It could be more complete by explicitly mentioning the read-only nature or expected return format, but for a search tool with good schema coverage, it provides sufficient context for effective use.

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 100%, so the baseline is 3. The description adds some value by explaining the purpose of providing 'multiple search queries' and mentioning 'diverse academic angles,' which gives context for the 'searches' array parameter, but doesn't add significant semantic detail beyond what the schema already documents about individual search parameters.

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 with specific verbs ('run multiple SSRN searches in parallel') and resource ('SSRN searches'), distinguishing it from siblings like 'search_ssrn' by emphasizing parallel execution for comprehensive coverage and diverse academic angles. It explicitly mentions social science research context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('for comprehensive social science research coverage and diverse academic angles'), how to use it ('provide multiple search queries'), and mentions an alternative tool ('expand_query') for generating diverse queries. It also suggests creating queries manually as another option.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_search_webA

Run multiple web searches in parallel for comprehensive topic coverage and diverse perspectives. For best results, provide multiple search queries that explore different aspects of your topic. You can use expand_query to help generate diverse queries, or create them yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchesYesArray of search configurations to execute in parallel (maximum 5 searches for optimal performance)
timeoutNoTimeout in milliseconds for all searches

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'parallel' execution and 'optimal performance' with max 5 searches, which adds useful context beyond the schema. However, it doesn't disclose critical behavioral traits like rate limits, error handling, authentication needs, or what the output looks like (since no output schema exists). The description provides some operational context but leaves significant gaps for a tool that performs multiple external searches.

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 perfectly concise and well-structured: three sentences that each earn their place. The first states the core purpose, the second provides usage guidance, and the third suggests a complementary tool. No wasted words, and the most important information (parallel execution for comprehensive coverage) is front-loaded.

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 complexity (parallel web searches with multiple configurable parameters) and the absence of both annotations and an output schema, the description is incomplete. While it explains the parallel nature and suggests query diversity, it doesn't address what results look like, how errors are handled, or performance considerations beyond the 5-search limit mentioned in the schema. For a tool with no output schema and no annotations, more behavioral context would be needed for full completeness.

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 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'multiple search queries' which aligns with the 'searches' parameter, but provides no additional syntax, format, or semantic details. The baseline score of 3 is appropriate when the schema does all the parameter documentation work.

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: 'Run multiple web searches in parallel for comprehensive topic coverage and diverse perspectives.' It specifies the verb ('run'), resource ('web searches'), and key characteristic ('in parallel'), distinguishing it from sibling tools like 'search_web' (which presumably runs single searches). However, it doesn't explicitly contrast with 'parallel_search_arxiv' or 'parallel_search_ssrn' beyond mentioning 'web' searches.

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 provides clear context for usage: 'For best results, provide multiple search queries that explore different aspects of your topic.' It also suggests an alternative tool: 'You can use expand_query to help generate diverse queries.' This gives practical guidance on when to use this tool (for parallel searches with diverse queries) and mentions a complementary tool. However, it doesn't explicitly state when NOT to use it (e.g., vs. single 'search_web' for simple queries).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

primerA

Get up-to-date contextual information of the current session to provide localized, time-aware responses. Use this when you need to know the current time, user's location, or network environment to give more relevant and personalized information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 carries the full burden. It discloses that the tool retrieves 'up-to-date contextual information' and specifies the types (time, location, network environment), which is useful behavioral context. However, it lacks details on data freshness, privacy implications, or response format, leaving gaps for a tool that handles sensitive session data. This is adequate but not comprehensive.

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 two sentences, front-loaded with the core purpose followed by usage guidance. Every word earns its place: the first sentence defines what the tool does, and the second specifies when to use it. There is no fluff or repetition, making it highly efficient and well-structured.

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 low complexity (0 parameters, no output schema, no annotations), the description is reasonably complete. It covers purpose, usage, and the types of information retrieved. However, without annotations or output schema, it could benefit from more detail on response structure or data sources, slightly limiting completeness for a session-context 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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose and usage. This meets the baseline of 4 for zero-parameter tools, as it adds value without redundancy.

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: 'Get up-to-date contextual information of the current session to provide localized, time-aware responses.' It specifies the verb ('get') and resource ('contextual information'), and distinguishes it from sibling tools by focusing on session metadata rather than search, extraction, or processing operations. However, it doesn't explicitly differentiate from all siblings (e.g., 'show_api_key' might also provide session info), keeping it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use the tool: 'Use this when you need to know the current time, user's location, or network environment to give more relevant and personalized information.' It clearly defines the triggering context (needing time, location, or network data for personalization) without needing to specify exclusions, as the context is distinct from sibling tools' purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_urlA

Extract and convert web page content to clean, readable markdown format. Perfect for reading articles, documentation, blog posts, or any web content. Use this when you need to analyze text content from websites, bypass paywalls, or get structured data.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe complete URL of the webpage or PDF file to read and convert (e.g., 'https://example.com/article'). Can be a single URL string or an array of URLs for parallel reading.
withAllLinksNoSet to true to extract and return all hyperlinks found on the page as structured data
withAllImagesNoSet to true to extract and return all images found on the page as structured data

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions capabilities like bypassing paywalls and extracting structured data, which adds useful context beyond basic functionality. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics that would be important for an agent to use it effectively.

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 appropriately sized and front-loaded, starting with the core purpose. Every sentence adds value, such as use cases and capabilities. It could be slightly more concise by combining some phrases, but overall it avoids redundancy and maintains clarity.

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 complexity (web content extraction with multiple parameters) and no output schema, the description is moderately complete. It covers the purpose and use cases but lacks details on return values, error conditions, or limitations. With no annotations and no output schema, more behavioral context would improve completeness for agent usage.

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 100%, so the schema already documents all parameters thoroughly. The description does not add any parameter-specific information beyond what the schema provides (e.g., it doesn't explain URL formats or the implications of withAllLinks/withAllImages). Baseline 3 is appropriate when the schema does the heavy lifting.

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 with specific verbs ('extract and convert') and resources ('web page content'), distinguishing it from siblings like capture_screenshot_url (visual capture) or extract_pdf (PDF-specific). It explicitly mentions the output format ('clean, readable markdown format'), which helps differentiate its function.

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 provides clear context for when to use the tool ('when you need to analyze text content from websites, bypass paywalls, or get structured data'), including specific use cases like reading articles or documentation. However, it does not explicitly state when NOT to use it or name alternatives among sibling tools, such as extract_pdf for PDF files or parallel_read_url for batch processing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_arxivA

Search academic papers and preprints on arXiv repository. Perfect for finding research papers, scientific studies, technical papers, and academic literature. Use this when researching scientific topics, looking for papers by specific authors, or finding the latest research in fields like AI, physics, mathematics, computer science, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesAcademic search terms, author names, or research topics (e.g., 'transformer neural networks', 'Einstein relativity', 'machine learning optimization'). Can be a single query string or an array of queries for parallel search.
numNoMaximum number of academic papers to return, between 1-100
tbsNoTime-based search parameter, e.g., 'qdr:h' for past hour, can be qdr:h, qdr:d, qdr:w, qdr:m, qdr:y

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 mentions the tool is 'perfect for finding research papers' and lists use cases, but doesn't disclose behavioral traits like rate limits, authentication needs, pagination behavior, error handling, or what the return format looks like. For a search tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

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 appropriately sized with two sentences: first states the purpose, second provides usage guidelines. It's front-loaded with the core function and avoids unnecessary repetition. Every sentence adds value, though it could be slightly more concise by integrating the examples more tightly.

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 no output schema, the description provides good purpose and usage context but lacks behavioral details (e.g., return format, error cases). For a search tool with 3 parameters and 100% schema coverage, it's adequate but has clear gaps in transparency that reduce completeness.

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 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain query syntax further or provide examples of tbs values). Baseline 3 is appropriate when the schema does the heavy lifting.

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 and preprints on arXiv repository, specifying the resource (arXiv repository) and verb (search). It distinguishes from siblings like search_web, search_images, and search_ssrn by focusing specifically on academic/scientific content, making the purpose specific and differentiated.

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 provides clear context for when to use it: 'when researching scientific topics, looking for papers by specific authors, or finding the latest research in fields like AI, physics, mathematics, computer science, etc.' It doesn't explicitly state when NOT to use it or name alternatives (e.g., parallel_search_arxiv), but the context is sufficiently detailed for informed usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_imagesA

Search for images across the web, similar to Google Images. Use this when you need to find photos, illustrations, diagrams, charts, logos, or any visual content. Perfect for finding images to illustrate concepts, locating specific pictures, or discovering visual resources. Images are returned by default as small base64-encoded JPEG images.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesImage search terms describing what you want to find (e.g., 'sunset over mountains', 'vintage car illustration', 'data visualization chart')
return_urlNoSet to true to return image URLs, title, shapes, and other metadata. By default, images are downloaded as base64 and returned as rendered images.
tbsNoTime-based search parameter, e.g., 'qdr:h' for past hour, can be qdr:h, qdr:d, qdr:w, qdr:m, qdr:y
locationNoLocation for search results, e.g., 'London', 'New York', 'Tokyo'
glNoCountry code, e.g., 'dz' for Algeria
hlNoLanguage code, e.g., 'zh-cn' for Simplified Chinese

TDQS

A4.3/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 of behavioral disclosure. It effectively describes key behaviors: the search scope ('across the web'), the default return format ('small base64-encoded JPEG images'), and the alternative return option ('return image URLs, title, shapes, and other metadata'). It doesn't mention rate limits, authentication needs, or pagination behavior, but covers the essential operational characteristics.

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 appropriately sized with three sentences that each serve a distinct purpose: stating the tool's function, providing usage guidelines, and describing return behavior. It's front-loaded with the core purpose and avoids unnecessary repetition. The final sentence about default return format could be slightly more concise.

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 6 parameters (1 required), 100% schema coverage, and no output schema, the description provides good contextual completeness. It covers the tool's purpose, usage scenarios, and key behavioral characteristics. The main gap is the lack of information about response format details beyond the base64/URL distinction, but given the schema coverage and tool complexity, this is reasonably complete.

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 100%, so the schema already documents all 6 parameters thoroughly. The description mentions the default return behavior (base64 images vs URLs) which relates to the 'return_url' parameter, but doesn't add significant semantic value beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

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 with specific verbs ('Search for images across the web') and distinguishes it from siblings by specifying it's for visual content like photos, illustrations, diagrams, etc. It explicitly mentions it's 'similar to Google Images' which provides clear context about its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'Use this when you need to find photos, illustrations, diagrams, charts, logos, or any visual content.' It gives three specific use cases: illustrating concepts, locating specific pictures, or discovering visual resources. This clearly distinguishes it from text-based search siblings like search_web or search_arxiv.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jina_blogA

Search Jina AI news and blog posts at jina.ai/news for articles about AI, machine learning, neural search, embeddings, and Jina products. Use this to find official Jina documentation, tutorials, product announcements, and technical deep-dives.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms to find relevant Jina blog posts (e.g., 'embeddings', 'reranker', 'ColBERT'). Can be a single query string or an array of queries for parallel search.
numNoMaximum number of blog posts to return, between 1-100
tbsNoTime-based search parameter, e.g., 'qdr:h' for past hour, can be qdr:h, qdr:d, qdr:w, qdr:m, qdr:y

TDQS

A3.6/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 burden for behavioral disclosure. While it mentions what content is searched (Jina blog/news), it doesn't describe important behavioral traits: whether results are paginated, what format they return, authentication requirements, rate limits, or error conditions. For a search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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 appropriately sized with two sentences that efficiently convey purpose and usage. The first sentence establishes what the tool searches and where, while the second provides use cases. There's minimal redundancy, though the second sentence could be slightly more concise by combining some elements.

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 3 parameters, 100% schema coverage, but no annotations and no output schema, the description provides adequate purpose and usage context but lacks behavioral transparency. The description covers what content is searched and use cases, but without annotations or output schema, it should ideally describe result format, pagination, or other behavioral aspects to be more complete.

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 100%, so the schema already fully documents all three parameters. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions general search terms but doesn't provide additional syntax, format, or usage details for parameters. Baseline 3 is appropriate when schema does the heavy lifting.

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 Jina AI news and blog posts at a specific URL (jina.ai/news), listing specific content types (articles about AI, machine learning, neural search, embeddings, Jina products) and use cases (official documentation, tutorials, product announcements, technical deep-dives). It distinguishes from sibling tools like search_arxiv or search_web by specifying the Jina-specific source and content focus.

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 provides clear context for when to use this tool: to find Jina-specific content including documentation, tutorials, announcements, and technical articles. It doesn't explicitly state when NOT to use it or name specific alternatives, but the Jina focus implicitly distinguishes it from general web search siblings like search_web.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_ssrnA

Search academic papers and preprints on SSRN (Social Science Research Network). Perfect for finding research papers in social sciences, economics, law, finance, accounting, management, and humanities. Use this when researching social science topics, looking for working papers, or finding the latest research in business and economics fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesAcademic search terms, author names, or research topics (e.g., 'corporate governance', 'behavioral finance', 'contract law'). Can be a single query string or an array of queries for parallel search.
numNoMaximum number of academic papers to return, between 1-100
tbsNoTime-based search parameter, e.g., 'qdr:h' for past hour, can be qdr:h, qdr:d, qdr:w, qdr:m, qdr:y

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 carries full burden. While it mentions the platform (SSRN) and subject areas, it doesn't disclose behavioral traits like rate limits, authentication requirements, pagination behavior, error conditions, or what the return format looks like (since no output schema exists). The description adds some context about academic focus but lacks operational 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?

Two well-structured sentences that efficiently convey purpose and usage guidelines. The first sentence establishes core functionality, the second provides usage context. No wasted words, though it could be slightly more concise by combining some elements.

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 3 parameters (100% schema coverage) but no annotations and no output schema, the description provides good purpose and usage context but lacks behavioral transparency about how results are returned, formatted, or limited. The absence of output schema means the description should ideally hint at return structure, which it doesn't.

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 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. Baseline 3 is appropriate when the schema does the heavy lifting, though no additional value is added.

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 resource ('academic papers and preprints on SSRN'), and distinguishes from siblings by specifying the academic/social sciences focus versus general web search (search_web) or other academic sources (search_arxiv). It explicitly mentions the Social Science Research Network platform.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Perfect for finding research papers in social sciences, economics, law, finance, accounting, management, and humanities' and 'Use this when researching social science topics, looking for working papers, or finding the latest research in business and economics fields.' It implicitly distinguishes from parallel_search_ssrn by not mentioning parallel capabilities.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_webA

Search the entire web for current information, news, articles, and websites. Use this when you need up-to-date information, want to find specific websites, research topics, or get the latest news. Ideal for answering questions about recent events, finding resources, or discovering relevant content.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms or keywords to find relevant web content (e.g., 'climate change news 2024', 'best pizza recipe'). Can be a single query string or an array of queries for parallel search.
numNoMaximum number of search results to return, between 1-100
tbsNoTime-based search parameter, e.g., 'qdr:h' for past hour, can be qdr:h, qdr:d, qdr:w, qdr:m, qdr:y
locationNoLocation for search results, e.g., 'London', 'New York', 'Tokyo'
glNoCountry code, e.g., 'dz' for Algeria
hlNoLanguage code, e.g., 'zh-cn' for Simplified Chinese

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 carries the full burden. It mentions the tool provides 'current information' and 'up-to-date information,' which implies freshness but doesn't disclose rate limits, authentication needs, or result format. The description adds some behavioral context (e.g., 'ideal for answering questions about recent events') but lacks details on pagination, error handling, or performance characteristics.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by usage guidelines. Every sentence earns its place by providing specific guidance (e.g., 'Ideal for answering questions about recent events') without redundancy or 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?

Given the tool's complexity (6 parameters, no output schema, no annotations), the description is moderately complete. It covers purpose and usage well but lacks details on behavioral traits like rate limits or result structure. Without annotations or output schema, more context on what the tool returns or its limitations would improve completeness.

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 100%, so the schema already documents all 6 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain 'query' syntax or 'tbs' usage). With high schema coverage, the baseline is 3, as the description doesn't compensate with additional param semantics.

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: 'Search the entire web for current information, news, articles, and websites.' It specifies the verb ('Search') and resource ('the entire web'), and distinguishes from siblings like search_arxiv, search_ssrn, and search_images by emphasizing web content rather than academic papers or images.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Use this when you need up-to-date information, want to find specific websites, research topics, or get the latest news.' It provides clear alternatives by naming specific use cases (e.g., 'answering questions about recent events') and implicitly distinguishes from siblings like search_arxiv for academic content.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_api_keyC

Return the bearer token from the Authorization header of the MCP settings, which is used to debug.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.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 carries the full burden. It states the tool returns a bearer token, which implies a read-only operation, but it doesn't disclose behavioral traits like security implications, rate limits, or whether the token is exposed in logs. The mention of 'debug' hints at a sensitive use case, but details are lacking.

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 single, clear sentence that states the purpose upfront. It's appropriately sized for a simple tool, though it could be slightly more polished (e.g., 'Returns' instead of 'Return'). Overall, it's efficient with minimal waste.

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 (a tool that returns sensitive authentication data) and no annotations or output schema, the description is incomplete. It doesn't explain the return format, security warnings, or potential side effects, which are crucial for such a tool. The 'debug' context is insufficient for safe usage.

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 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info beyond the schema, but with zero params, the baseline is 4 as it adequately handles the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Return[s] the bearer token from the Authorization header of the MCP settings' which specifies the verb ('Return') and resource ('bearer token'), but it's somewhat vague about the exact purpose beyond debugging. It doesn't clearly differentiate from sibling tools, which are unrelated to API key retrieval.

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 'used to debug', implying a context for usage, but it doesn't provide explicit guidance on when to use this tool versus alternatives or any exclusions. No sibling tools are directly related, so there's minimal comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sort_by_relevanceA

Rerank a list of documents by relevance to a query using Jina Reranker API. Use this when you have multiple documents and want to sort them by how well they match a specific query or topic. Perfect for document retrieval, content filtering, or finding the most relevant information from a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query or topic to rank documents against (e.g., 'machine learning algorithms', 'climate change solutions')
documentsYesArray of document texts to rerank by relevance
top_nNoMaximum number of top results to return

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 mentions the tool uses the Jina Reranker API, which implies external service calls and potential rate limits or authentication needs, but does not explicitly disclose these behavioral traits. The description is accurate but lacks details on performance, errors, or output 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 appropriately sized and front-loaded, with the first sentence stating the core functionality. Each subsequent sentence adds useful context without redundancy, making it efficient and well-structured with zero 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 tool's moderate complexity (3 parameters, no annotations, no output schema), the description is reasonably complete. It explains what the tool does, when to use it, and the API involved, but could improve by detailing output format or error handling. Without an output schema, some gaps remain in understanding the return values.

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 100%, providing clear descriptions for all three parameters. The description adds minimal value beyond the schema by implying the tool's purpose involves ranking documents against a query, but does not elaborate on parameter usage, constraints, or examples beyond what the schema already states.

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 with specific verbs ('rerank a list of documents by relevance') and resources ('documents'), using the Jina Reranker API. It distinguishes from sibling tools by focusing on document relevance ranking rather than search, extraction, or other operations listed among siblings.

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 provides clear context for when to use this tool ('when you have multiple documents and want to sort them by how well they match a specific query or topic') and gives examples of use cases ('document retrieval, content filtering, or finding the most relevant information from a collection'). However, it does not explicitly state when not to use it or name specific alternatives among siblings.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • Addedextract_pdf
    • Addedparallel_search_ssrn
    • Changedprimer1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedread_url4 fields changed
      • addedInput schema / properties / url / anyOf
        Added value: +[
        +  {
        +    "format": "uri",
        +    "type": "string"
        +  },
        +  {
        +    "items": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / url / description
        Previous value: -"The complete URL of the webpage or PDF file to read and convert (e.g., 'https://example.com/article')"New value: +"The complete URL of the webpage or PDF file to read and convert (e.g., 'https://example.com/article'). Can be a single URL string or an array of URLs for parallel reading."
      • removedInput schema / properties / url / format
        Removed value: -"uri"
      • removedInput schema / properties / url / type
        Removed value: -"string"
    • Changedsearch_arxiv3 fields changed
      • addedInput schema / properties / query / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / query / description
        Previous value: -"Academic search terms, author names, or research topics (e.g., 'transformer neural networks', 'Einstein relativity', 'machine learning optimization')"New value: +"Academic search terms, author names, or research topics (e.g., 'transformer neural networks', 'Einstein relativity', 'machine learning optimization'). Can be a single query string or an array of queries for parallel search."
      • removedInput schema / properties / query / type
        Removed value: -"string"
    • Addedsearch_jina_blog
    • Addedsearch_ssrn
    • Changedsearch_web3 fields changed
      • addedInput schema / properties / query / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / query / description
        Previous value: -"Search terms or keywords to find relevant web content (e.g., 'climate change news 2024', 'best pizza recipe')"New value: +"Search terms or keywords to find relevant web content (e.g., 'climate change news 2024', 'best pizza recipe'). Can be a single query string or an array of queries for parallel search."
      • removedInput schema / properties / query / type
        Removed value: -"string"
    • Changedshow_api_key1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 15 tool updates
    • First observedcapture_screenshot_url
    • First observeddeduplicate_images
    • First observeddeduplicate_strings
    • First observedexpand_query
    • First observedguess_datetime_url
    • First observedparallel_read_url
    • First observedparallel_search_arxiv
    • First observedparallel_search_web
    • First observedprimer
    • First observedread_url
    • First observedsearch_arxiv
    • First observedsearch_images
    • First observedsearch_web
    • First observedshow_api_key
    • First observedsort_by_relevance

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes, such as capture_screenshot_url for visual snapshots, read_url for text extraction, and various search tools for different sources. However, there is some overlap between parallel_search_web and search_web, which could cause confusion about when to use parallel vs. single searches, and deduplicate_images and deduplicate_strings share similar semantic deduplication logic but apply to different data types.

Naming Consistency4/5

Tool names predominantly follow a consistent verb_noun pattern (e.g., capture_screenshot_url, read_url, search_web), with clear and descriptive naming. Minor deviations exist, such as primer and show_api_key, which don't follow the verb_noun convention, but these are exceptions in an otherwise uniform set.

Tool Count4/5

With 19 tools, the count is slightly high but reasonable for a server focused on web and document processing, search, and AI utilities. It covers a broad scope without being excessive, though some tools like parallel_search_arxiv and search_arxiv might be consolidated for efficiency.

Completeness5/5

The toolset provides comprehensive coverage for web and document processing, including content extraction (read_url, extract_pdf), search across multiple sources (web, arXiv, SSRN), deduplication, query expansion, and relevance sorting. No obvious gaps exist; it supports full workflows from data gathering to analysis and refinement.

Maintenance

ActivityMaintained
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides access to Jina AI's suite of web tools including URL reading, web/image/academic search, content extraction, embeddings, and reranking capabilities. Enables AI assistants to search the web, extract content from URLs, and process information with semantic understanding.
    19
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to Jina's web search, content extraction, image search, and AI-powered reranking tools through a comprehensive suite of URL processing and semantic analysis capabilities. Enables users to search the web, extract clean markdown from URLs, capture screenshots, search academic papers, and perform advanced text/image deduplication with embeddings.
    Apache 2.0
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides access to Jina AI's suite of tools including web search, URL reading, image search, embeddings, and reranking capabilities. Enables users to extract web content as markdown, search academic papers, capture screenshots, and perform semantic operations through natural language.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to Jina AI's web reading, search, embeddings, and reranking capabilities. Enables URL content extraction, web/arXiv/image search, document deduplication, and relevance ranking through natural language.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jina-ai/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server