Skip to main content
Glama

搜索书籍

search_books
Read-only

Search WeChat Reading's bookstore by keyword to locate books and obtain their book IDs, enabling follow-up actions like fetching details or highlights.

Instructions

在微信读书书城搜索(/store/search)。

    用户说书名时先用本工具拿 bookId,再调用其它工具。

    注意:请求参数 `scope` 和回包 `results[].scope` 不是一回事——请求 `scope=10` 时
    电子书分组回包可能是 `scope=17`,**不要**用 `results[].scope == 10` 过滤结果;
    标题为「电子书」或含 `books` 的分组都可以展示。

    翻页:`hasMore=1` 时,用最后一条的 `searchIdx` 作为下一次的 `max_idx`。
    搜索结果只是分页片段,表述用「为您找到」,不要说「共有/一共/总共」。
    空结果时回复:抱歉,没有找到与「{keyword}」相关的结果。
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo每页数量。用户没有指定数量时不要传(服务端默认 15)。
scopeNo搜索类型,必须显式传:0=全部(泛搜索),10=电子书(明确找书/要 bookId),16=网文小说,14=微信听书/有声书/专辑/播客,6=作者,12=全文,13=书单,2=公众号,4=文章。
keywordYes搜索关键词。需要先去掉「帮我 / 搜一下 / 有没有」等口语化前后缀,只保留核心检索词;同时给出书名和作者时用区分度更高的词。
max_idxNo翻页偏移:取上一页最后一条的 searchIdx。首页不传。

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: the scope request/response mismatch warning, the pagination contract using searchIdx/max_idx, and the instruction not to claim total counts. It doesn't describe rate limits or auth, but for a read-only search tool the disclosed behaviors are substantial.

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 compact and front-loaded with the core purpose, then covers critical caveats. Every sentence earns its place: the scope warning, pagination rule, and empty-result phrasing are all necessary for correct invocation. It is slightly dense but well-organized with line breaks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with a rich output schema and full parameter documentation, the description covers the essential operational details: when to use it, how to paginate, how to interpret scope, and how to phrase results. The output schema handles return values, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds extra semantic value by explaining the scope mismatch trap and the pagination flow, which are not in the schema. It also clarifies that count should be omitted when the user doesn't specify a number. This goes beyond the baseline 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 states a specific verb and resource: search the WeRead bookstore via `/store/search`. It also explicitly says to use this tool first to get a bookId when the user mentions a book title, which distinguishes it from sibling tools like get_book_info or recommend_books. The title is in Chinese but the description clarifies the exact endpoint and role.

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 gives explicit when-to-use guidance: '用户说书名时先用本工具拿 bookId,再调用其它工具' (when the user says a book title, first use this tool to get bookId, then call other tools). It also provides detailed pagination and response-handling rules, and even specifies what to say for empty results. This is far beyond a minimal usage note.

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