Skip to main content
Glama

Search and organize gallery works

eh_search_gallery_works
Read-onlyIdempotent

Search E-Hentai/ExHentai galleries, merge variant uploads into works, and group installments into series with metadata and confidence levels.

Instructions

Search up to 10 result pages, fetch official metadata, merge official version links and likely language/upload variants into works, then group installments into series. galleryCount counts unique gallery uploads; uniqueWorkCount is heuristic and every work includes a confidence level plus all source galleries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nextNoResume cursor returned by a previous truncated work search
siteNoTarget site; gallery URLs override this when a URL is providede-hentai
queryNoNative E-Hentai query, e.g. language:chinese$ artist:name$
pageToNoOne-based last result page to scan
maxPagesNoMaximum result pages to scan; each page consumes one rate-limited search request
pageFromNoOne-based first result page to scan
minRatingNoMinimum rating from 2 through 5
categoriesNoGallery categories to include; omit to use all categories
hasTorrentNoWhen true, require galleries with torrent metadata
browseExpungedNoWhen true, include expunged galleries where supported
disableTagFilterNoDisable the site's default tag filtering
disableLanguageFilterNoDisable the site's default language filtering
disableUploaderFilterNoDisable the site's default uploader filtering

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv0.3.0
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / gid / description
      Removed value: -"Gallery ID"
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / gid / exclusiveMinimum
      Removed value: -0
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / gid / maximum
      Removed value: -9007199254740991
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / gid / type
      Previous value: -"integer"New value: +"number"
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / pages / anyOf
      Previous value: -[
      -  {
      -    "maximum": 9007199254740991,
      -    "minimum": -9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / token / description
      Removed value: -"10-character gallery token"
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / token / pattern
      Removed value: -"^[0-9a-f]{10}$"
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / gid / description
      Removed value: -"Gallery ID"
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / gid / exclusiveMinimum
      Removed value: -0
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / gid / maximum
      Removed value: -9007199254740991
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / gid / type
      Previous value: -"integer"New value: +"number"
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / pages / anyOf
      Previous value: -[
      -  {
      -    "maximum": 9007199254740991,
      -    "minimum": -9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / token / description
      Removed value: -"10-character gallery token"
    • removedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / token / pattern
      Removed value: -"^[0-9a-f]{10}$"
  2. Changed4 schema fields changedv0.2.0
    • addedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / properties / site
      Added value: +{
      +  "enum": [
      +    "e-hentai",
      +    "exhentai"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / preferredGallery / required
      Previous value: -[
      -  "gid",
      -  "token",
      -  "url",
      -  "title",
      -  "titleJpn",
      -  "category",
      -  "posted",
      -  "pages",
      -  "rating",
      -  "languages"
      -]New value: +[
      +  "gid",
      +  "token",
      +  "site",
      +  "url",
      +  "title",
      +  "titleJpn",
      +  "category",
      +  "posted",
      +  "pages",
      +  "rating",
      +  "languages"
      +]
    • addedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / properties / site
      Added value: +{
      +  "enum": [
      +    "e-hentai",
      +    "exhentai"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / properties / variants / items / required
      Previous value: -[
      -  "gid",
      -  "token",
      -  "url",
      -  "title",
      -  "titleJpn",
      -  "category",
      -  "posted",
      -  "pages",
      -  "rating",
      -  "languages"
      -]New value: +[
      +  "gid",
      +  "token",
      +  "site",
      +  "url",
      +  "title",
      +  "titleJpn",
      +  "category",
      +  "posted",
      +  "pages",
      +  "rating",
      +  "languages"
      +]
  3. Changed10 schema fields changedv0.1.2
    • addedInput schema / properties / browseExpunged / description
      Added value: +"When true, include expunged galleries where supported"
    • addedInput schema / properties / categories / description
      Added value: +"Gallery categories to include; omit to use all categories"
    • addedInput schema / properties / disableLanguageFilter / description
      Added value: +"Disable the site's default language filtering"
    • addedInput schema / properties / disableTagFilter / description
      Added value: +"Disable the site's default tag filtering"
    • addedInput schema / properties / disableUploaderFilter / description
      Added value: +"Disable the site's default uploader filtering"
    • addedInput schema / properties / hasTorrent / description
      Added value: +"When true, require galleries with torrent metadata"
    • addedInput schema / properties / minRating / description
      Added value: +"Minimum rating from 2 through 5"
    • addedInput schema / properties / pageFrom / description
      Added value: +"One-based first result page to scan"
    • addedInput schema / properties / pageTo / description
      Added value: +"One-based last result page to scan"
    • addedInput schema / properties / site / description
      Added value: +"Target site; gallery URLs override this when a URL is provided"
  4. Changed3 schema fields changedv0.1.1
    • addedOutput schema / properties / result / properties / series / items / properties / works / items / properties / groupingBasis
      Added value: +{
      +  "enum": [
      +    "official-version-chain",
      +    "normalized-title-and-creator",
      +    "standalone"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / series / items / properties / works / items / properties / groupingExplanation
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / result / properties / series / items / properties / works / items / required
      Previous value: -[
      -  "key",
      -  "title",
      -  "installment",
      -  "creators",
      -  "availableLanguages",
      -  "groupingConfidence",
      -  "preferredGallery",
      -  "variants"
      -]New value: +[
      +  "key",
      +  "title",
      +  "installment",
      +  "creators",
      +  "availableLanguages",
      +  "groupingConfidence",
      +  "groupingBasis",
      +  "groupingExplanation",
      +  "preferredGallery",
      +  "variants"
      +]
  5. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open world), so the description is free to add transformation semantics: that results are merged into works, installments grouped into series, uniqueWorkCount is heuristic, and every work carries a confidence level. These are genuinely useful behavioral disclosures beyond the structured fields, though rate-limiting implications are left to the schema's maxPages text.

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 dense sentences with no filler, front-loading the search scope and pipeline before the output-shape note about galleryCount and uniqueWorkCount. Efficient, though the second sentence packs several distinct facts together.

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?

With an output schema present, the description need not explain return structure, yet it helpfully clarifies the semantics of galleryCount vs uniqueWorkCount and the confidence level. For a 13-parameter, merge-heavy tool this is close to complete; the main missing piece is routing guidance relative to sibling search tools.

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 13 parameters including the rate-limited maxPages and next cursor. The description only echoes the 'up to 10 result pages' constraint (maxPages) without adding format or interaction detail, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific multi-step pipeline: search result pages, fetch official metadata, merge version/language variants into works, and group installments into series. That is far more informative than a tautology. It does not, however, differentiate itself from close siblings like eh_search_galleries or eh_search_galleries_batch, leaving the agent to infer the distinction.

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?

There is no explicit when-to-use, when-not-to-use, or named alternative. The agent is told what the tool does but not under what conditions it should be preferred over eh_search_galleries or eh_search_galleries_batch, which appear to cover overlapping ground.

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