Skip to main content
Glama

jp_lit_search

Search Japanese literature across eight academic databases in one query, or target specialized sources for dissertations, archives, classical texts, and Japanese-language research.

Instructions

external read / local bookkeeping write(非破壊)。日本語文献ポータルを検索する。source 未指定で8ソース横断。cinii_dissertations / national_archives / jacar / nijl_articles / kokusho / ninjal_bibliography / ndl_reference_books は既定横断に含めず、博士論文・学位論文、公文書・外交・軍事・旧外地資料、国文学論文、古典籍、日本語研究文献、参考図書などで明示指定された場合のみ使う。ユーザーの言い回しから source を読み替える: 「NDL/国会図書館」→ndl_catalog、「デジコレ/NDLデジタル」→ndl_digital、「CiNii論文」→cinii_articles、「博士論文/学位論文/CiNii Dissertations」→cinii_dissertations、「CiNii図書/大学図書館」→cinii_books、「J-STAGE」→jstage_articles、「機関リポジトリ/IRDB」→irdb、「発掘調査報告書/遺跡/埋蔵文化財/出土遺物」→まずirdb、NDL Search横断確認はndl_search、NDL所蔵確認はndl_catalog、「参考図書/レファ本/事典/辞典/書誌/索引/年鑑」→ndl_reference_books(候補は source_metadata.reference_ndc と introduction で選び、jp_lit_get_record または jp_lit_get_records で詳細確認後、cinii_books / カーリル / 各館OPACで所蔵を別確認)、「国会会議録」→kokkai_minutes、「帝国議会」→teikoku_minutes、「人文専門DB/nihu_bridge」→nihu_bridge、「Japan Search/ジャパンサーチ」→japan_search、「国立公文書館/特定歴史公文書/太政官/省庁資料」→national_archives、「JACAR/アジア歴史資料/外交/軍事/旧外地/植民地/朝鮮/台湾/関東州」→jacar、「国文学論文/国文研論文/日本文学研究論文」→nijl_articles、「国書/古典籍/写本/版本」→kokusho、「日本語研究/日本語教育文献/国語教育文献」→ninjal_bibliography。total / limit / page はこの 1 回の検索呼び出し単位の値であり、Skill が複数回検索して要約する場合は各回ごとに読む。source=cinii_books では filters.cinii.category に NDC/NDLC notation を半角スペース区切りで渡せる。CiNii 系の 0 件・ローマ字 query・広すぎる結果では interpretation / diagnostics を読む。source=ndl_digital の結果にはインターネット非公開(館内限定・図書館送信)資料のメタデータも含まれる。OCR 系ツールを使う前に jp_lit_get_record で source_metadata.next_digital_library.available を確認すること 外部sourceは変更しない。cache hitでもlocal session履歴を更新し、cache missまたはforce_refreshではlocal cacheを作成・置換する。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session_id": "<session_id>",
      "query": "<query>"
    },
    "name": "jp_lit_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNo検索結果ページ番号。1 始まり。
limitNo1 回の検索で返す最大件数。最大 100。未指定時は source ごとの既定値を使う。
queryYes検索語。資料名、著者名、主題語、機関名などを指定する。
sourceNo検索対象 source。未指定なら既定の 8 source 横断検索になるが、新規テーマの初手では通常 ndl_search と japan_search などを明示指定する。
filtersNosource 固有の追加 filter。対象 source と一致しない filter は validation error になる。
sort_byNosource が対応する場合の並び替え項目。未対応 source では無視されることがある。
issued_toNo刊行年・日付の上限。issued_from と組み合わせて範囲指定する。
session_idYes調査案件を識別する application state handle。jp_lit_start_session が返した値を渡す。形式は YYYY-MM-DD-HHMMSS-8桁hex(旧形式 YYYY-MM-DD-HHMMSS も可)。MCP transport の接続IDや cache_key とは別物。
sort_orderNosort_by 指定時の昇順 asc / 降順 desc。
issued_fromNo刊行年・日付の下限。年だけの '1900' など source が扱う文字列表現で指定する。
force_refreshNotrue の場合はローカル cache を使わず upstream API から再取得する。false の場合は保存済み cache を優先する。

Output Schema

NameRequiredDescriptionDefault
pageYes
cacheNo
itemsYes
limitYes
queryYes
totalYes
facetsNo
sourceYes
diagnosticsNo
source_errorsNo
interpretationNo
search_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.19.0
    • changedOutput schema / properties / items / items / properties / related_records / items / properties / source / $ref
      Previous value: -"#/properties/source/anyOf/0"New value: +"#/properties/search_context/properties/sources/items/properties/source"
    • changedOutput schema / properties / items / items / properties / source / $ref
      Previous value: -"#/properties/source/anyOf/0"New value: +"#/properties/search_context/properties/sources/items/properties/source"
    • addedOutput schema / properties / search_context
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "aggregation": {
      +      "enum": [
      +        "single",
      +        "round_robin"
      +      ],
      +      "type": "string"
      +    },
      +    "fetch_limit_per_source": {
      +      "anyOf": [
      +        {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "producer_version": {
      +      "type": "string"
      +    },
      +    "query_script": {
      +      "enum": [
      +        "latin",
      +        "kana",
      +        "han",
      +        "han_kana",
      +        "mixed",
      +        "other"
      +      ],
      +      "type": "string"
      +    },
      +    "requested_query": {
      +      "type": "string"
      +    },
      +    "schema_version": {
      +      "const": 1,
      +      "type": "number"
      +    },
      +    "sources": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "error_category": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "timeout",
      +                  "http",
      +                  "invalid_payload",
      +                  "unknown"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "fetched_count": {
      +            "anyOf": [
      +              {
      +                "$ref": "#/properties/search_context/properties/fetch_limit_per_source/anyOf/0"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "included_count": {
      +            "$ref": "#/properties/search_context/properties/fetch_limit_per_source/anyOf/0"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "completed",
      +              "failed",
      +              "unknown"
      +            ],
      +            "type": "string"
      +          },
      +          "reported_total": {
      +            "anyOf": [
      +              {
      +                "$ref": "#/properties/search_context/properties/fetch_limit_per_source/anyOf/0"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "request": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "api_kind": {
      +                    "enum": [
      +                      "cinii_opensearch",
      +                      "ndl_sru",
      +                      "ndl_reference_books",
      +                      "jstage_webapi"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "attribution": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "coverage_note": {
      +                    "type": "string"
      +                  },
      +                  "ignored_input_fields": {
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "matching_mode": {
      +                    "enum": [
      +                      "metadata_conjunction",
      +                      "unknown"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "parameters": {
      +                    "additionalProperties": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "boolean"
      +                        },
      +                        {
      +                          "items": {
      +                            "type": "string"
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "type": "object"
      +                  }
      +                },
      +                "required": [
      +                  "api_kind",
      +                  "parameters",
      +                  "ignored_input_fields",
      +                  "matching_mode",
      +                  "coverage_note",
      +                  "attribution"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "source": {
      +            "enum": [
      +              "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"
      +            ],
      +            "type": "string"
      +          },
      +          "total_basis": {
      +            "enum": [
      +              "source_reported",
      +              "returned_count",
      +              "unknown"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "source",
      +          "outcome",
      +          "request",
      +          "reported_total",
      +          "total_basis",
      +          "fetched_count",
      +          "included_count",
      +          "error_category"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total_semantics": {
      +      "enum": [
      +        "source_reported",
      +        "returned_count",
      +        "sum_of_source_totals",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "schema_version",
      +    "producer_version",
      +    "requested_query",
      +    "query_script",
      +    "aggregation",
      +    "fetch_limit_per_source",
      +    "total_semantics",
      +    "sources"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / source / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "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"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/properties/search_context/properties/sources/items/properties/source"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / source_errors / items / properties / source / $ref
      Previous value: -"#/properties/source/anyOf/0"New value: +"#/properties/search_context/properties/sources/items/properties/source"
  2. Changed4 schema fields changedv0.13.0
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "調査案件を識別する application state handle。jp_lit_start_session が返した値を渡す。形式は YYYY-MM-DD-HHMMSS-8桁hex(旧形式 YYYY-MM-DD-HHMMSS も可)。MCP transport の接続IDや cache_key とは別物。",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}-\\d{6}(?:-[0-9a-f]{8})?$",
      +  "type": "string"
      +}
    • changedInput schema / 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"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "session_id",
      +  "query"
      +]
    • changedOutput schema / properties / source / anyOf
      Previous value: -[
      -  {
      -    "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"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "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"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed2 schema fields changedv0.9.0
    • changedOutput schema / properties / diagnostics / items / properties / code / enum
      Previous value: -[
      -  "ZERO_METADATA_CONJUNCTION",
      -  "SCRIPT_LATIN_QUERY",
      -  "BROAD_RESULT_SET",
      -  "VERY_BROAD_RESULT_SET"
      -]New value: +[
      +  "CINII_APP_ID_REQUIRED",
      +  "ZERO_METADATA_CONJUNCTION",
      +  "SCRIPT_LATIN_QUERY",
      +  "BROAD_RESULT_SET",
      +  "VERY_BROAD_RESULT_SET"
      +]
    • addedOutput schema / properties / source_errors
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "enum": [
      +          "timeout",
      +          "http",
      +          "invalid_payload",
      +          "unknown"
      +        ],
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "$ref": "#/properties/source/anyOf/0"
      +      }
      +    },
      +    "required": [
      +      "source",
      +      "category",
      +      "message",
      +      "hint"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. Changed3 schema fields changedv0.8.0
    • addedInput schema / properties / filters / properties / cinii
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "source=cinii_books のときだけ有効な CiNii Books category filter。",
      +  "properties": {
      +    "category": {
      +      "description": "CiNii Books の category パラメータ。NDC/NDLC コードを半角スペース区切りで渡す。source=cinii_books のときだけ有効。",
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / diagnostics
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "code": {
      +        "enum": [
      +          "ZERO_METADATA_CONJUNCTION",
      +          "SCRIPT_LATIN_QUERY",
      +          "BROAD_RESULT_SET",
      +          "VERY_BROAD_RESULT_SET"
      +        ],
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "level": {
      +        "enum": [
      +          "info",
      +          "warning",
      +          "error"
      +        ],
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "level",
      +      "code",
      +      "message",
      +      "hint"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / interpretation
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "breadth": {
      +      "enum": [
      +        "none",
      +        "narrow",
      +        "broad",
      +        "very_broad"
      +      ],
      +      "type": "string"
      +    },
      +    "matching_mode": {
      +      "enum": [
      +        "metadata_conjunction",
      +        "aggregated_cross_source",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "matching_mode",
      +    "breadth"
      +  ],
      +  "type": "object"
      +}
  5. Changed2 schema fields changedv0.7.7
    • changedInput schema / 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"
      +]
    • changedOutput schema / properties / source / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "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"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "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"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. Changed39 schema fields changedv0.7.1
    • addedInput schema / properties / filters / description
      Added value: +"source 固有の追加 filter。対象 source と一致しない filter は validation error になる。"
    • addedInput schema / properties / filters / properties / irdb / description
      Added value: +"source=irdb のときだけ有効な追加 filter。"
    • addedInput schema / properties / filters / properties / irdb / properties / author / description
      Added value: +"IRDB の著者・作成者欄を絞る語。"
    • addedInput schema / properties / filters / properties / irdb / properties / fulltext / description
      Added value: +"IRDB で本文ありの資料に絞る場合は true を指定する。"
    • addedInput schema / properties / filters / properties / irdb / properties / journal / description
      Added value: +"IRDB の掲載誌名で絞る語。"
    • addedInput schema / properties / filters / properties / irdb / properties / keyword / description
      Added value: +"IRDB のキーワード・主題欄を絞る語。"
    • addedInput schema / properties / filters / properties / irdb / properties / publisher / description
      Added value: +"IRDB の出版者・機関名で絞る語。"
    • addedInput schema / properties / filters / properties / irdb / properties / title / description
      Added value: +"IRDB のタイトル欄を絞る語。"
    • addedInput schema / properties / filters / properties / jdcat / description
      Added value: +"source=jdcat のときだけ有効な追加 filter。"
    • addedInput schema / properties / filters / properties / jdcat / properties / contributor / description
      Added value: +"JDCat の contributor による絞り込み。"
    • addedInput schema / properties / filters / properties / jdcat / properties / creator / description
      Added value: +"JDCat の creator による絞り込み。"
    • addedInput schema / properties / filters / properties / jdcat / properties / geographic / description
      Added value: +"JDCat の geographic coverage による絞り込み。"
    • addedInput schema / properties / filters / properties / jdcat / properties / subject / description
      Added value: +"JDCat の subject による絞り込み。"
    • addedInput schema / properties / filters / properties / jdcat / properties / temporal / description
      Added value: +"JDCat の temporal coverage による絞り込み。"
    • addedInput schema / properties / filters / properties / jdcat / properties / title / description
      Added value: +"JDCat の title による絞り込み。"
    • addedInput schema / properties / filters / properties / ndl / description
      Added value: +"NDL 系 source のときだけ有効な追加 filter。"
    • addedInput schema / properties / filters / properties / ndl / properties / ndc / description
      Added value: +"NDL 系 source の NDC 分類記号による絞り込み。"
    • addedInput schema / properties / filters / properties / ndl / properties / ndlc / description
      Added value: +"NDL 系 source の NDLC 分類記号による絞り込み。"
    • addedInput schema / properties / filters / properties / ndl / properties / subject / description
      Added value: +"NDL 系 source の件名による絞り込み。"
    • addedInput schema / properties / filters / properties / nihu_bridge / description
      Added value: +"source=nihu_bridge のときだけ有効な追加 filter。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / bbox / description
      Added value: +"地理範囲を lat/lon の bounding box で絞る。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / bbox / properties / lat1 / description
      Added value: +"地理範囲の緯度 1。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / bbox / properties / lat2 / description
      Added value: +"地理範囲の緯度 2。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / bbox / properties / lon1 / description
      Added value: +"地理範囲の経度 1。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / bbox / properties / lon2 / description
      Added value: +"地理範囲の経度 2。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / database / description
      Added value: +"NIHU Bridge の database ID 配列。特定データベースに絞る場合に使う。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / institute / description
      Added value: +"NIHU Bridge の institute ID 配列。分かっている場合だけ指定する。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / normalize / description
      Added value: +"NIHU Bridge の正規化検索を使うかどうか。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / period_from / description
      Added value: +"時代・年代範囲の下限。"
    • addedInput schema / properties / filters / properties / nihu_bridge / properties / period_to / description
      Added value: +"時代・年代範囲の上限。"
    • addedInput schema / properties / force_refresh / description
      Added value: +"true の場合はローカル cache を使わず upstream API から再取得する。false の場合は保存済み cache を優先する。"
    • addedInput schema / properties / issued_from / description
      Added value: +"刊行年・日付の下限。年だけの '1900' など source が扱う文字列表現で指定する。"
    • addedInput schema / properties / issued_to / description
      Added value: +"刊行年・日付の上限。issued_from と組み合わせて範囲指定する。"
    • addedInput schema / properties / limit / description
      Added value: +"1 回の検索で返す最大件数。最大 100。未指定時は source ごとの既定値を使う。"
    • addedInput schema / properties / page / description
      Added value: +"検索結果ページ番号。1 始まり。"
    • addedInput schema / properties / query / description
      Added value: +"検索語。資料名、著者名、主題語、機関名などを指定する。"
    • addedInput schema / properties / sort_by / description
      Added value: +"source が対応する場合の並び替え項目。未対応 source では無視されることがある。"
    • addedInput schema / properties / sort_order / description
      Added value: +"sort_by 指定時の昇順 asc / 降順 desc。"
    • addedInput schema / properties / source / description
      Added value: +"検索対象 source。未指定なら既定の 8 source 横断検索になるが、新規テーマの初手では通常 ndl_search と japan_search などを明示指定する。"
  7. Changed14 schema fields changedv0.6.0
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / filters
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "irdb": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "author": {
      +          "type": "string"
      +        },
      +        "fulltext": {
      +          "type": "boolean"
      +        },
      +        "journal": {
      +          "type": "string"
      +        },
      +        "keyword": {
      +          "type": "string"
      +        },
      +        "publisher": {
      +          "type": "string"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "jdcat": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contributor": {
      +          "type": "string"
      +        },
      +        "creator": {
      +          "type": "string"
      +        },
      +        "geographic": {
      +          "type": "string"
      +        },
      +        "subject": {
      +          "type": "string"
      +        },
      +        "temporal": {
      +          "type": "string"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "ndl": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "ndc": {
      +          "type": "string"
      +        },
      +        "ndlc": {
      +          "type": "string"
      +        },
      +        "subject": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "nihu_bridge": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "bbox": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "lat1": {
      +              "type": "number"
      +            },
      +            "lat2": {
      +              "type": "number"
      +            },
      +            "lon1": {
      +              "type": "number"
      +            },
      +            "lon2": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "lat1",
      +            "lon1",
      +            "lat2",
      +            "lon2"
      +          ],
      +          "type": "object"
      +        },
      +        "database": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "institute": {
      +          "items": {
      +            "enum": [
      +              "nijl",
      +              "nmjh",
      +              "ninjal",
      +              "ircjs",
      +              "rihn",
      +              "nme",
      +              "nihu"
      +            ],
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "normalize": {
      +          "type": "boolean"
      +        },
      +        "period_from": {
      +          "type": "string"
      +        },
      +        "period_to": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / force_refresh
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / issued_from
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / issued_to
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "exclusiveMinimum": 0,
      +  "maximum": 100,
      +  "type": "integer"
      +}
    • addedInput schema / properties / page
      Added value: +{
      +  "default": 1,
      +  "exclusiveMinimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / query
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / sort_by
      Added value: +{
      +  "enum": [
      +    "title",
      +    "creator",
      +    "issued_date",
      +    "created_date",
      +    "modified_date"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sort_order
      Added value: +{
      +  "enum": [
      +    "asc",
      +    "desc"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / source
      Added value: +{
      +  "enum": [
      +    "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"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / required
      Added value: +[
      +  "query"
      +]
    • changedOutput schema / properties / source / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "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"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "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"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  8. Changed1 schema field changedv0.3.0
    • changedOutput schema / properties / source / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "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"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "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"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  9. First observedv0.1.9

TDQS

A4.4/5.0
Behavior5/5

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

Explains the otherwise puzzling readOnlyHint=false on a search tool: external sources are read-only while local session history and cache are written ('cache hitでもlocal session履歴を更新し、cache missまたはforce_refreshではlocal cacheを作成・置換する'). It also discloses non-obvious data traits — ndl_digital results include non-public/library-transmission metadata — and tells the agent to read interpretation/diagnostics on CiNii zero-hit or overly broad results.

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

Conciseness3/5

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

Purpose and default-scope are correctly front-loaded, but the source-mapping section is a single enormous run-on sentence of 20+ arrow pairs that is hard to parse at call time and arguably belongs in a reference resource. Much of the content earns its place, but the density and length work against fast scanning.

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 21-source, 11-parameter search tool with nested per-source filters, the description covers source selection, default behavior, caching/mutation semantics, pagination semantics, and follow-up routing to get_record/enrich tools. An output schema exists, so return-value explanation is correctly omitted.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds real meaning on top by defining the semantics of `source` selection (the entire JP-phrasing mapping) and by clarifying that `total`/`limit`/`page` are per-call values rather than per-session totals. It does not add anything for sort_by, issued_from/issued_to, or force_refresh beyond the schema, keeping it below a 5.

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?

States a specific verb and resource ('日本語文献ポータルを検索する') plus the default scope ('source 未指定で8ソース横断'), so the agent immediately knows what class of operation this is. It does not explicitly differentiate itself from sibling search tools such as jp_lit_search_fulltext or jp_lit_search_kokusho_fulltext, leaving the metadata-vs-fulltext boundary to be inferred from the query/source semantics.

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?

Provides explicit when-to-use guidance per source, names the sources deliberately excluded from the 8-source default and the conditions ('明示指定された場合のみ') that justify them, and gives a full natural-language-to-source mapping ('国会会議録'→kokkai_minutes, 'JACAR/アジア歴史資料'→jacar, etc.). It also routes adjacent work: 'jp_lit_get_record または jp_lit_get_records で詳細確認後' and the pre-OCR check instruction.

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