Skip to main content
Glama
Sora-bluesky

building-standards-act-mcp

by Sora-bluesky

条文一括取得

get_laws_batch
Read-onlyIdempotent

Retrieve multiple Japanese building standards law articles in one batch from e-Gov to validate citations and prevent AI hallucinations.

Instructions

複数の法令・条文を一括取得する。各条文をe-Govから個別に条単位取得する。最大20件。上限は、structuredContent を含む応答全体が約5万字に収まる値。長い条(例: 建築基準法施行規則 第1条の3)は get_law で個別に取得。

Input Schema

NameRequiredDescriptionDefault
requestsYes取得対象の条文リスト(最大20件)
max_total_charsNo応答全体のJSONの最大文字数(10,000〜24,000)。省略時は20,000文字。超過分の本文は省略。
max_chars_per_itemNo条文ごとの最大文字数(1,000〜20,000)。省略時は8,000文字。

Output Schema

NameRequiredDescriptionDefault
noteNo
totalYes
failedYes
omittedNo
resultsYes
successYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.11.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / max_chars_per_item
      Added value: +{
      +  "default": 8000,
      +  "description": "条文ごとの最大文字数(1,000〜20,000)。省略時は8,000文字。",
      +  "maximum": 20000,
      +  "minimum": 1000,
      +  "type": "integer"
      +}
    • addedInput schema / properties / max_total_chars
      Added value: +{
      +  "default": 20000,
      +  "description": "応答全体のJSONの最大文字数(10,000〜24,000)。省略時は20,000文字。超過分の本文は省略。",
      +  "maximum": 24000,
      +  "minimum": 10000,
      +  "type": "integer"
      +}
    • removedInput schema / properties / requests / items / additionalProperties
      Removed value: -false
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "definitions": {
      +    "__schema0": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "subitem_num": {
      +          "type": "string"
      +        },
      +        "subitem_sentence": {
      +          "type": "string"
      +        },
      +        "subitem_title": {
      +          "type": "string"
      +        },
      +        "subitems": {
      +          "items": {
      +            "$ref": "#/definitions/__schema0"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "subitem_num",
      +        "subitem_title",
      +        "subitem_sentence",
      +        "subitems"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "properties": {
      +    "failed": {
      +      "type": "number"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "omitted": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "article_number": {
      +            "type": "string"
      +          },
      +          "law_name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "law_name",
      +          "article_number"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "article_number": {
      +            "type": "string"
      +          },
      +          "error_message": {
      +            "type": "string"
      +          },
      +          "law_name": {
      +            "type": "string"
      +          },
      +          "next_offset": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "note": {
      +            "type": "string"
      +          },
      +          "omitted": {
      +            "type": "boolean"
      +          },
      +          "revision_note": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "success",
      +              "law_not_found",
      +              "article_not_found",
      +              "error"
      +            ],
      +            "type": "string"
      +          },
      +          "structured": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "article_caption": {
      +                "type": "string"
      +              },
      +              "article_num": {
      +                "type": "string"
      +              },
      +              "article_title": {
      +                "type": "string"
      +              },
      +              "paragraphs": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "items": {
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "item_num": {
      +                            "type": "string"
      +                          },
      +                          "item_sentence": {
      +                            "type": "string"
      +                          },
      +                          "item_title": {
      +                            "type": "string"
      +                          },
      +                          "subitems": {
      +                            "items": {
      +                              "$ref": "#/definitions/__schema0"
      +                            },
      +                            "type": "array"
      +                          }
      +                        },
      +                        "required": [
      +                          "item_num",
      +                          "item_title",
      +                          "item_sentence",
      +                          "subitems"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "paragraph_num": {
      +                      "type": "string"
      +                    },
      +                    "paragraph_sentence": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "paragraph_num",
      +                    "paragraph_sentence",
      +                    "items"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "references": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "raw_text": {
      +                      "type": "string"
      +                    },
      +                    "ref_type": {
      +                      "enum": [
      +                        "same_law",
      +                        "cross_law",
      +                        "relative",
      +                        "delegation",
      +                        "unknown"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "target_article": {
      +                      "type": "string"
      +                    },
      +                    "target_item": {
      +                      "type": "string"
      +                    },
      +                    "target_law": {
      +                      "type": "string"
      +                    },
      +                    "target_paragraph": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "raw_text",
      +                    "ref_type"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "article_num",
      +              "article_caption",
      +              "article_title",
      +              "paragraphs"
      +            ],
      +            "type": "object"
      +          },
      +          "text": {
      +            "type": "string"
      +          },
      +          "total_chars": {
      +            "type": "number"
      +          },
      +          "truncated": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "law_name",
      +          "article_number",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "success": {
      +      "type": "number"
      +    },
      +    "total": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "success",
      +    "failed",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.7.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld and non-destructive, so the safety profile is covered. The description adds real value beyond them: the 20-item batch cap, the ~50,000-character whole-response ceiling tied to structuredContent, and per-article e-Gov retrieval. It does not describe pagination or partial-failure behavior across the batch.

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?

Four compact sentences with the purpose front-loaded, followed by limits and the alternative routing. Dense but every sentence carries information; no filler.

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?

An output schema exists, so return values need not be explained. The description covers scope, batch cap, character constraints, and the alternative for oversized items, which is sufficient for a batch-read tool; only cross-batch error/partial-result semantics are unaddressed.

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 baseline is 3, but the description adds rationale beyond the schema by explaining that the char limit exists to keep the whole response (including structuredContent) under ~50,000 characters. Minor tension between the stated ~50k total and the schema's 24,000 max_total_chars is not resolved.

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?

States a specific verb+resource (複数の法令・条文を一括取得) and clarifies the retrieval mechanism (each article fetched individually from e-Gov per article). It names the sibling get_law for the long-article case, letting an agent distinguish batch vs. single-article retrieval without opening the schema.

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?

Gives a clear batch context plus an explicit routing rule: long articles (with a concrete example, 建築基準法施行規則 第1条の3) should use get_law instead. It does not address when to prefer this over get_full_law or search_articles, so no explicit exclusions for other siblings.

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