Skip to main content
Glama

jp_lit_refine_results

Read-onlyIdempotent

Refine saved Japanese literature search results locally by sorting, filtering, and set operations without re-querying upstream databases. Optionally clusters duplicate candidates using cached enrichment data.

Instructions

read-only。保存済みの三 candidate tool(jp_lit_search / jp_lit_search_fulltext / jp_lit_record_ndl_browser_search)の result_ref / result_refs を、upstream 再検索せずローカルでソート・フィルタ・集合演算し、必要時だけ重複候補クラスタも返す。互換入力の cache_key / cache_keys と session_id も利用できる。include_enrichment=true なら session_id または enrichment_cache_keys で指定した保存済み jp_lit_enrich_record cache を cluster に重ねるが、Crossref/OpenAlex へ新規照会しない。result_ref を探す段階では jp_lit_search_cache_index または jp_lit_list_cache を使う。cache や session は変更しない

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
limitYes
key_byYes
offsetYes
combineYes
clustersNo
total_afterYes
total_beforeYes
base_cache_keyYes
totals_by_baseYes
base_cache_keysYes
base_result_refYes
cluster_summaryNo
base_result_refsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.14.0
    • addedOutput schema / properties / base_result_ref
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "cache_key": {
      +      "pattern": "^sha256-[0-9a-f]{64}$",
      +      "type": "string"
      +    },
      +    "tool": {
      +      "enum": [
      +        "jp_lit_search",
      +        "jp_lit_search_fulltext",
      +        "jp_lit_record_ndl_browser_search"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "tool",
      +    "cache_key"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / base_result_refs
      Added value: +{
      +  "items": {
      +    "$ref": "#/properties/base_result_ref"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / totals_by_base / items / properties / cache_key / $ref
      Added value: +"#/properties/base_result_ref/properties/cache_key"
    • removedOutput schema / properties / totals_by_base / items / properties / cache_key / type
      Removed value: -"string"
    • addedOutput schema / properties / totals_by_base / items / properties / tool
      Added value: +{
      +  "$ref": "#/properties/base_result_ref/properties/tool"
      +}
    • changedOutput schema / properties / totals_by_base / items / required
      Previous value: -[
      -  "cache_key",
      -  "total"
      -]New value: +[
      +  "tool",
      +  "cache_key",
      +  "total"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "base_cache_key",
      -  "base_cache_keys",
      -  "combine",
      -  "key_by",
      -  "totals_by_base",
      -  "total_before",
      -  "total_after",
      -  "limit",
      -  "offset",
      -  "items"
      -]New value: +[
      +  "base_cache_key",
      +  "base_cache_keys",
      +  "base_result_ref",
      +  "base_result_refs",
      +  "combine",
      +  "key_by",
      +  "totals_by_base",
      +  "total_before",
      +  "total_after",
      +  "limit",
      +  "offset",
      +  "items"
      +]
  2. Changed19 schema fields changedv0.13.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / cache_key
      Removed value: -{
      -  "description": "再抽出する単一の jp_lit_search cache_key。cache_keys と同時指定しない。",
      -  "pattern": "^sha256-[0-9a-f]{64}$",
      -  "type": "string"
      -}
    • removedInput schema / properties / cache_keys
      Removed value: -{
      -  "description": "集合演算する複数の jp_lit_search cache_key。",
      -  "items": {
      -    "$ref": "#/properties/cache_key"
      -  },
      -  "minItems": 1,
      -  "type": "array"
      -}
    • removedInput schema / properties / cluster_limit
      Removed value: -{
      -  "default": 20,
      -  "description": "返す重複クラスタの最大件数。",
      -  "exclusiveMinimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / cluster_member_limit
      Removed value: -{
      -  "default": 5,
      -  "description": "各重複クラスタで preview する member の最大件数。",
      -  "exclusiveMinimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / cluster_offset
      Removed value: -{
      -  "default": 0,
      -  "description": "重複クラスタ一覧の offset。0 始まり。",
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / combine
      Removed value: -{
      -  "default": "union",
      -  "description": "複数 cache の集合演算。union は和集合、intersection は積集合、minus は先頭から後続を除外する。",
      -  "enum": [
      -    "union",
      -    "intersection",
      -    "minus"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / enrichment_cache_keys
      Removed value: -{
      -  "description": "cluster enrichment に使う jp_lit_enrich_record cache_key。未指定なら対象 session の jp_lit_enrich_record 履歴を使う。",
      -  "items": {
      -    "$ref": "#/properties/cache_key"
      -  },
      -  "minItems": 1,
      -  "type": "array"
      -}
    • removedInput schema / properties / filters
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "保存済み結果に対するローカル filter。upstream 再検索は行わない。",
      -  "properties": {
      -    "author_contains": {
      -      "description": "著者名に含まれる語で部分一致 filter する。",
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "digital_collection": {
      -      "description": "availability.digital_collection が指定値と一致する item に絞る。",
      -      "type": "boolean"
      -    },
      -    "issued_from": {
      -      "description": "結果 item の issued_at 下限。",
      -      "type": "string"
      -    },
      -    "issued_to": {
      -      "description": "結果 item の issued_at 上限。",
      -      "type": "string"
      -    },
      -    "online": {
      -      "description": "availability.online が指定値と一致する item に絞る。",
      -      "type": "boolean"
      -    },
      -    "source": {
      -      "description": "結果を特定 source に絞る。未指定の場合は tool ごとの既定動作に従う。",
      -      "enum": [
      -        "ndl_search",
      -        "ndl_catalog",
      -        "ndl_digital",
      -        "ndl_articles",
      -        "ndl_articles_online",
      -        "irdb",
      -        "jdcat",
      -        "jstage_articles",
      -        "japan_search",
      -        "cinii_articles",
      -        "cinii_dissertations",
      -        "cinii_books",
      -        "kokkai_minutes",
      -        "teikoku_minutes",
      -        "nihu_bridge",
      -        "national_archives",
      -        "jacar",
      -        "nijl_articles",
      -        "kokusho",
      -        "ninjal_bibliography"
      -      ],
      -      "type": "string"
      -    },
      -    "title_contains": {
      -      "description": "タイトルに含まれる語で部分一致 filter する。",
      -      "minLength": 1,
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedInput schema / properties / include_duplicate_clusters
      Removed value: -{
      -  "default": false,
      -  "description": "true の場合は重複候補クラスタを追加で返す。",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / include_enrichment
      Removed value: -{
      -  "default": false,
      -  "description": "true の場合は保存済み jp_lit_enrich_record cache を読み、重複クラスタに外部書誌照合 metadata を付与する。外部 API は呼ばない。",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / key_by
      Removed value: -{
      -  "default": "source_record",
      -  "description": "集合演算時に item を同一視するキー。source_record は source+source_id、duplicate_key は正規化重複キー、title_author_year はタイトル著者年。",
      -  "enum": [
      -    "source_record",
      -    "duplicate_key",
      -    "title_author_year"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / limit
      Removed value: -{
      -  "default": 30,
      -  "description": "返す item の最大件数。最大 200。",
      -  "exclusiveMinimum": 0,
      -  "maximum": 200,
      -  "type": "integer"
      -}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "default": 0,
      -  "description": "返す item の offset。0 始まり。",
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / session_id
      Removed value: -{
      -  "description": "セッションに紐づく検索 cache を対象にする場合のセッションID。",
      -  "pattern": "^\\d{4}-\\d{2}-\\d{2}-\\d{6}(?:-[0-9a-f]{8})?$",
      -  "type": "string"
      -}
    • removedInput schema / properties / sort_by
      Removed value: -{
      -  "description": "再抽出結果の並び替え項目。未指定なら元の順序を保つ。",
      -  "enum": [
      -    "issued_at",
      -    "title"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / sort_order
      Removed value: -{
      -  "default": "asc",
      -  "description": "sort_by 指定時の並び順。",
      -  "enum": [
      -    "asc",
      -    "desc"
      -  ],
      -  "type": "string"
      -}
    • changedOutput schema / properties / items / items / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_dissertations",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge",
      -  "national_archives",
      -  "jacar",
      -  "nijl_articles",
      -  "kokusho",
      -  "ninjal_bibliography"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_reference_books",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_dissertations",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar",
      +  "nijl_articles",
      +  "kokusho",
      +  "ninjal_bibliography"
      +]
  3. Changed3 schema fields changedv0.9.0
    • removedInput schema / properties / cache_key / minLength
      Removed value: -1
    • addedInput schema / properties / cache_key / pattern
      Added value: +"^sha256-[0-9a-f]{64}$"
    • changedInput schema / properties / session_id / pattern
      Previous value: -"^\\d{4}-\\d{2}-\\d{2}-\\d{6}$"New value: +"^\\d{4}-\\d{2}-\\d{2}-\\d{6}(?:-[0-9a-f]{8})?$"
  4. Changed5 schema fields changedv0.7.7
    • addedInput schema / properties / enrichment_cache_keys
      Added value: +{
      +  "description": "cluster enrichment に使う jp_lit_enrich_record cache_key。未指定なら対象 session の jp_lit_enrich_record 履歴を使う。",
      +  "items": {
      +    "$ref": "#/properties/cache_key"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / filters / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge",
      -  "national_archives",
      -  "jacar",
      -  "nijl_articles",
      -  "kokusho",
      -  "ninjal_bibliography"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_dissertations",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar",
      +  "nijl_articles",
      +  "kokusho",
      +  "ninjal_bibliography"
      +]
    • addedInput schema / properties / include_enrichment
      Added value: +{
      +  "default": false,
      +  "description": "true の場合は保存済み jp_lit_enrich_record cache を読み、重複クラスタに外部書誌照合 metadata を付与する。外部 API は呼ばない。",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / clusters / items / properties / enrichment
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "caution": {
      +      "type": "string"
      +    },
      +    "evidence_level": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "abstract": {
      +          "enum": [
      +            "confirmed",
      +            "not_checked"
      +          ],
      +          "type": "string"
      +        },
      +        "bibliographic": {
      +          "enum": [
      +            "confirmed",
      +            "partial",
      +            "not_found",
      +            "not_checked"
      +          ],
      +          "type": "string"
      +        },
      +        "fulltext": {
      +          "enum": [
      +            "not_checked"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "bibliographic",
      +        "abstract",
      +        "fulltext"
      +      ],
      +      "type": "object"
      +    },
      +    "identifiers": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "doi": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "doi"
      +      ],
      +      "type": "object"
      +    },
      +    "match_confidence": {
      +      "$ref": "#/properties/clusters/items/properties/enrichment/properties/matched_records/items/properties/match_confidence"
      +    },
      +    "matched_cache_keys": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "matched_records": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "cited_by_count": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "doi": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "match_confidence": {
      +            "enum": [
      +              "high",
      +              "medium",
      +              "low",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "missing": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "provider": {
      +            "enum": [
      +              "crossref",
      +              "openalex"
      +            ],
      +            "type": "string"
      +          },
      +          "reasons": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "provider",
      +          "id",
      +          "doi",
      +          "title",
      +          "match_confidence",
      +          "reasons",
      +          "missing",
      +          "url",
      +          "cited_by_count"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "providers": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "crossref": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "item_count": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "status": {
      +              "enum": [
      +                "ok",
      +                "not_found",
      +                "skipped",
      +                "error"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "item_count",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        "openalex": {
      +          "$ref": "#/properties/clusters/items/properties/enrichment/properties/providers/properties/crossref"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "matched_cache_keys",
      +    "matched_records",
      +    "identifiers",
      +    "match_confidence",
      +    "evidence_level",
      +    "providers",
      +    "caution"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / items / items / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge",
      -  "national_archives",
      -  "jacar",
      -  "nijl_articles",
      -  "kokusho",
      -  "ninjal_bibliography"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_dissertations",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar",
      +  "nijl_articles",
      +  "kokusho",
      +  "ninjal_bibliography"
      +]
  5. Changed24 schema fields changedv0.7.1
    • addedInput schema / properties / cache_key / description
      Added value: +"再抽出する単一の jp_lit_search cache_key。cache_keys と同時指定しない。"
    • addedInput schema / properties / cache_keys / description
      Added value: +"集合演算する複数の jp_lit_search cache_key。"
    • addedInput schema / properties / cache_keys / items / $ref
      Added value: +"#/properties/cache_key"
    • removedInput schema / properties / cache_keys / items / minLength
      Removed value: -1
    • removedInput schema / properties / cache_keys / items / type
      Removed value: -"string"
    • addedInput schema / properties / cluster_limit / description
      Added value: +"返す重複クラスタの最大件数。"
    • addedInput schema / properties / cluster_member_limit / description
      Added value: +"各重複クラスタで preview する member の最大件数。"
    • addedInput schema / properties / cluster_offset / description
      Added value: +"重複クラスタ一覧の offset。0 始まり。"
    • addedInput schema / properties / combine / description
      Added value: +"複数 cache の集合演算。union は和集合、intersection は積集合、minus は先頭から後続を除外する。"
    • addedInput schema / properties / filters / description
      Added value: +"保存済み結果に対するローカル filter。upstream 再検索は行わない。"
    • addedInput schema / properties / filters / properties / author_contains / description
      Added value: +"著者名に含まれる語で部分一致 filter する。"
    • addedInput schema / properties / filters / properties / digital_collection / description
      Added value: +"availability.digital_collection が指定値と一致する item に絞る。"
    • addedInput schema / properties / filters / properties / issued_from / description
      Added value: +"結果 item の issued_at 下限。"
    • addedInput schema / properties / filters / properties / issued_to / description
      Added value: +"結果 item の issued_at 上限。"
    • addedInput schema / properties / filters / properties / online / description
      Added value: +"availability.online が指定値と一致する item に絞る。"
    • addedInput schema / properties / filters / properties / source / description
      Added value: +"結果を特定 source に絞る。未指定の場合は tool ごとの既定動作に従う。"
    • addedInput schema / properties / filters / properties / title_contains / description
      Added value: +"タイトルに含まれる語で部分一致 filter する。"
    • addedInput schema / properties / include_duplicate_clusters / description
      Added value: +"true の場合は重複候補クラスタを追加で返す。"
    • addedInput schema / properties / key_by / description
      Added value: +"集合演算時に item を同一視するキー。source_record は source+source_id、duplicate_key は正規化重複キー、title_author_year はタイトル著者年。"
    • addedInput schema / properties / limit / description
      Added value: +"返す item の最大件数。最大 200。"
    • addedInput schema / properties / offset / description
      Added value: +"返す item の offset。0 始まり。"
    • addedInput schema / properties / session_id / description
      Added value: +"セッションに紐づく検索 cache を対象にする場合のセッションID。"
    • addedInput schema / properties / sort_by / description
      Added value: +"再抽出結果の並び替え項目。未指定なら元の順序を保つ。"
    • addedInput schema / properties / sort_order / description
      Added value: +"sort_by 指定時の並び順。"
  6. Changed2 schema fields changedv0.6.0
    • changedInput schema / properties / filters / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge",
      -  "national_archives",
      -  "jacar"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar",
      +  "nijl_articles",
      +  "kokusho",
      +  "ninjal_bibliography"
      +]
    • changedOutput schema / properties / items / items / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge",
      -  "national_archives",
      -  "jacar"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar",
      +  "nijl_articles",
      +  "kokusho",
      +  "ninjal_bibliography"
      +]
  7. Changed2 schema fields changedv0.3.0
    • changedInput schema / properties / filters / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar"
      +]
    • changedOutput schema / properties / items / items / properties / source / enum
      Previous value: -[
      -  "ndl_search",
      -  "ndl_catalog",
      -  "ndl_digital",
      -  "ndl_articles",
      -  "ndl_articles_online",
      -  "irdb",
      -  "jdcat",
      -  "jstage_articles",
      -  "japan_search",
      -  "cinii_articles",
      -  "cinii_books",
      -  "kokkai_minutes",
      -  "teikoku_minutes",
      -  "nihu_bridge"
      -]New value: +[
      +  "ndl_search",
      +  "ndl_catalog",
      +  "ndl_digital",
      +  "ndl_articles",
      +  "ndl_articles_online",
      +  "irdb",
      +  "jdcat",
      +  "jstage_articles",
      +  "japan_search",
      +  "cinii_articles",
      +  "cinii_books",
      +  "kokkai_minutes",
      +  "teikoku_minutes",
      +  "nihu_bridge",
      +  "national_archives",
      +  "jacar"
      +]
  8. First observedv0.1.9

TDQS

C2.9/5.0
Behavior4/5

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

The description explicitly states 'read-only', 'does not modify cache or session', and that enrichment uses cached data without new queries to Crossref/OpenAlex. This aligns with the annotations (readOnlyHint, idempotentHint, destructiveHint false). No contradictions found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and repetitive, restating the same concepts (no upstream re-search, cached enrichment, read-only behavior) multiple times. It could be trimmed to a few clear sentences. The structure is a single dense paragraph that is harder to parse than necessary.

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

Completeness2/5

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

Given the tool's complexity—multi-source refinement, set operations, conditional enrichment, and cache handling—the description provides some behavioral context but omits essential parameter definitions and types. Because the schema is empty, the description is the only guide, but it is incomplete and leaves critical invocation details unresolved.

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

Parameters1/5

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

The description repeatedly mentions parameters such as include_enrichment, session_id, enrichment_cache_keys, cache_key, cache_keys, result_ref, and result_refs, but the input schema defines zero parameters. This is a serious mismatch. An agent would be misled into trying to pass arguments that are not accepted, making the parameter semantics essentially unusable.

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 refines results from three named source tools using local sort, filter, and set operations without re-searching upstream. It also mentions optional enrichment from cached data. The purpose is specific enough to distinguish from a generic search tool.

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

Usage Guidelines3/5

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

The description implies use this tool when you already have result references and want to refine locally without hitting upstream services. It mentions compatibility with various inputs, but does not explicitly contrast with sibling tools or state when not to use it. Some guidance is present, but it is not fully explicit.

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