Skip to main content
Glama

Get a Davis-Stirling section

get_statute_section
Read-onlyIdempotent

Use this when you need the official text of a Davis-Stirling Act section (California Civil Code) by number, optionally one subdivision, with its last amendment, cross-references, defined terms and the cases that cite it. Accepts "4920", "§ 4920(b)(2)" or "Civ. Code § 4920". Do not use it for other codes (Corporations, Government, Code of Civil Procedure) or for court cases.

Input Schema

NameRequiredDescriptionDefault
includeNoExtra parts to return (default ["text"]).
sectionYesA Davis-Stirling section: "4920", "§ 4920", "Civ. Code § 4920(b)(2)", or an id like "cal.civ.4920".
pinpointNoA subdivision, e.g. "(b)(2)". Also read from section.

Output Schema

NameRequiredDescriptionDefault
metaYes
textYes
casesNo
titleYes
topicYes
definesNo
historyYes
sectionYes
cited_byNo
explainerNo
hierarchyYes
definitionsNo
former_numbersYes
cross_referencesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedOutput schema / properties / cases / items / properties / method / enum
      Previous value: -[
      -  "derived",
      -  "editorial.human",
      -  "editorial.machine-reviewed",
      -  "editorial.human-reviewed",
      -  "editorial.sourced"
      -]New value: +[
      +  "derived",
      +  "editorial.human",
      +  "editorial.machine-drafted",
      +  "editorial.machine-reviewed",
      +  "editorial.human-reviewed",
      +  "editorial.sourced"
      +]
    • changedOutput schema / properties / cases / items / properties / why / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "davisstirling",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "derived",
      -          "editorial.human",
      -          "editorial.machine-reviewed",
      -          "editorial.human-reviewed",
      -          "editorial.sourced"
      -        ],
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "value",
      -      "layer",
      -      "method"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "davisstirling",
      +        "type": "string"
      +      },
      +      "method": {
      +        "enum": [
      +          "derived",
      +          "editorial.human",
      +          "editorial.machine-drafted",
      +          "editorial.machine-reviewed",
      +          "editorial.human-reviewed",
      +          "editorial.sourced"
      +        ],
      +        "type": "string"
      +      },
      +      "value": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "value",
      +      "layer",
      +      "method"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / explainer / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "davisstirling",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "derived",
      -          "editorial.human",
      -          "editorial.machine-reviewed",
      -          "editorial.human-reviewed",
      -          "editorial.sourced"
      -        ],
      -        "type": "string"
      -      },
      -      "plain": {
      -        "type": "string"
      -      },
      -      "takeaways": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "plain",
      -      "takeaways",
      -      "layer",
      -      "method"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "davisstirling",
      +        "type": "string"
      +      },
      +      "method": {
      +        "enum": [
      +          "derived",
      +          "editorial.human",
      +          "editorial.machine-drafted",
      +          "editorial.machine-reviewed",
      +          "editorial.human-reviewed",
      +          "editorial.sourced"
      +        ],
      +        "type": "string"
      +      },
      +      "plain": {
      +        "type": "string"
      +      },
      +      "takeaways": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "plain",
      +      "takeaways",
      +      "layer",
      +      "method"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / section / properties / title_layer / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "davisstirling",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "derived",
      -          "editorial.human",
      -          "editorial.machine-reviewed",
      -          "editorial.human-reviewed",
      -          "editorial.sourced"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "layer",
      -      "method"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "source",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "layer"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "davisstirling",
      +        "type": "string"
      +      },
      +      "method": {
      +        "enum": [
      +          "derived",
      +          "editorial.human",
      +          "editorial.machine-drafted",
      +          "editorial.machine-reviewed",
      +          "editorial.human-reviewed",
      +          "editorial.sourced"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "layer",
      +      "method"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "source",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "layer"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / title / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "davisstirling",
      -        "type": "string"
      -      },
      -      "method": {
      -        "enum": [
      -          "derived",
      -          "editorial.human",
      -          "editorial.machine-reviewed",
      -          "editorial.human-reviewed",
      -          "editorial.sourced"
      -        ],
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "value",
      -      "layer",
      -      "method"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "layer": {
      -        "const": "source",
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "value",
      -      "layer"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "davisstirling",
      +        "type": "string"
      +      },
      +      "method": {
      +        "enum": [
      +          "derived",
      +          "editorial.human",
      +          "editorial.machine-drafted",
      +          "editorial.machine-reviewed",
      +          "editorial.human-reviewed",
      +          "editorial.sourced"
      +        ],
      +        "type": "string"
      +      },
      +      "value": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "value",
      +      "layer",
      +      "method"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "layer": {
      +        "const": "source",
      +        "type": "string"
      +      },
      +      "value": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "value",
      +      "layer"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / section / anyOf
      Added value: +[
      +  {
      +    "maxLength": 100,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "exclusiveMinimum": 0,
      +    "type": "number"
      +  }
      +]
    • removedInput schema / properties / section / maxLength
      Removed value: -100
    • removedInput schema / properties / section / minLength
      Removed value: -1
    • removedInput schema / properties / section / type
      Removed value: -"string"
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and determinism are covered. The description adds real behavioral value by enumerating the response payload (text, last amendment, cross-references, defined terms, citing cases) and the closed scope of the corpus, though it adds nothing about limits or error behavior for malformed section numbers.

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

Conciseness5/5

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

Two sentences, front-loaded with the trigger and payload, followed by the exclusion. Zero filler and every clause carries information an agent needs before calling.

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?

An output schema exists, so return-value detail is optional, yet the description still previews the payload. Scope, input formats, optional subdivision behavior, and out-of-scope codes/cases are all covered, leaving no gap an agent would need to fill by guessing.

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 both the section and pinpoint formats are already documented in the schema, and the description's accepted-format examples ('4920', '§ 4920(b)(2)', 'Civ. Code § 4920') largely restate them. It adds only the nuance that a single subdivision is optional and read from either field, so baseline 3 is correct.

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 (get) and resource (official text of a Davis-Stirling Act section) with explicit scope: by number, optionally one subdivision, plus amendment, cross-references, defined terms and citing cases. It clearly distinguishes itself from siblings that handle other codes or court cases.

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?

Opens with an explicit 'Use this when you need...' trigger and closes with a hard exclusion: 'Do not use it for other codes (Corporations, Government, Code of Civil Procedure) or for court cases', which routes agents to get_court_case and code-specific siblings. Both when-to-use and when-not-to-use are stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources