Skip to main content
Glama

GoCodebook — California Building Codes

Server Details

Verbatim California Title 24 and local zoning code lookup by section number, with citations.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.8% over 47 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

The three tools have clearly distinct purposes: list retrieves available documents/jurisdictions, lookup fetches verbatim text by section number, and search finds content by topic. The descriptions explicitly cross-reference each other (e.g. 'if the user already cites a section number, use lookup instead'), removing any overlap ambiguity between lookup and search.

Naming Consistency4/5

All three tools follow a consistent verb_noun snake_case pattern (list_, lookup_, search_). The only minor deviation is noun phrasing—'california_code_documents'/'california_code_section' use singular 'code' while 'search_california_codes' pluralizes and reorders the noun.

Tool Count4/5

Three tools is on the lean side but each covers a genuinely distinct entry point (browse, lookup-by-section, search-by-topic) for a read-only reference server. The count is well-scoped rather than padded or truncated.

Completeness4/5

For a read-only code-lookup domain, the surface covers the core workflows: discovering what's available, retrieving a known section, and topic search. Minor gaps like cross-reference traversal or edition comparison exist but are reasonable workarounds.

Available Tools

3 tools
list_california_code_documentsA
Read-onlyIdempotent
Inspect

List the California codes and local ordinances available for lookup, and what is not covered. Useful before concluding that a code is unavailable, and for finding the exact document or jurisdiction slug that a lookup takes.

NameRequiredDescriptionDefault
jurisdictionNoOptional. A California city or county slug — returns the documents held for that jurisdiction instead of the statewide list.

Output Schema

NameRequiredDescription
notesNoCoverage caveats. Read them before telling a user a code is unavailable.
scopeNo
groupsNoDocuments grouped by collection. Statewide: Title 24 first. Jurisdiction: the place's own documents, then those of the jurisdiction that also governs it.
statusYes
messageNo
editionsNo
municipalNoStatewide only: how many local ordinances are held.
browse_urlNo
jurisdictionNo
applied_question_urlNo

TDQS

A4/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 the safety profile is covered. The description adds genuinely non-structured context by advertising that the list discloses what is NOT covered, which is important behavioral knowledge for an agent deciding whether a code is truly unavailable.

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, no filler, and the core purpose is front-loaded before the usage hints. Every clause earns its place.

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 no explanation, and the description covers both the coverage-gap angle and the jurisdiction-scoping angle. Minor gaps remain (list size or pagination behavior), but nothing critical for correct invocation is missing.

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% and the single jurisdiction parameter is fully documented in the schema, so the baseline is 3. The description adds only mild extra value by noting the jurisdiction slug is the same slug a lookup consumes.

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

Purpose4/5

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

The description states a specific verb+resource ('List the California codes and local ordinances available for lookup') and defines scope by adding what is not covered, which is more precise than a bare catalog description. It does not explicitly name the sibling tools (lookup_california_code_section, search_california_codes), so it stops short of full sibling differentiation.

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?

It gives clear when-to-use context: 'Useful before concluding that a code is unavailable, and for finding the exact document or jurisdiction slug that a lookup takes.' That tells the agent to consult this tool as a discovery step before the lookup/search siblings, but it names no tool explicitly and states no exclusions.

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

lookup_california_code_sectionA
Read-onlyIdempotent
Inspect

Look up the VERBATIM text of a California building, residential, fire, plumbing, mechanical, green (CALGreen), energy or existing-building code section, or a section of a California city or county zoning/municipal ordinance, by its section number. Use this whenever the user cites a section number ("CRC R602.10.2.3", "CBC 1004", "§ 17.60.090") or asks what a specific section says. Returns the official text with its citation, edition and a link to the full section. It returns code text only and does not determine whether a specific project complies.

NameRequiredDescriptionDefault
codeNoOptional. The code the user named, so a number that exists in several codes returns the right one. An abbreviation or a name: "CBC", "CRC", "CFC", "CMC", "CPC", "CEC", "CEBC", "CALGreen", "CHBC", "California Fire Code". Omit when the user gave no code name.
sectionYesThe section number exactly as cited, without the code name. Examples: "R602.10.2.3", "1004", "507.2", "17.60.090", "11B-206".
code_editionNoOptional. Which Title 24 cycle to read. California enforces the edition in force when the permit application was submitted, so a project filed in 2024 is enforced under "2022". Defaults to "current" (the 2025 cycle, in force since 2026-01-01).
jurisdictionNoOptional. A California city or county slug to scope the lookup to its own municipal code — "los-angeles", "san-jose", "marin-county". Omit for statewide Title 24 codes.

Output Schema

NameRequiredDescription
as_ofNoThe date the codes were read as of (YYYY-MM-DD), or null for the current edition.
queryNo
statusYesfound: at least one section matched. not_found: nothing matched — do NOT paraphrase a section that was not returned. error: the lookup could not run.
matchesNo
messageNoGuidance when status is not_found or error.
ambiguousNoTrue when the number exists in more than one code. Pick by the code the user named and say which one you used; never merge them.
browse_urlNo
historicalNoTrue when this is NOT the current code. Say so to the user.
applied_question_urlNoWhere to send a user whose real question is whether a specific project complies.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine scope context beyond that: it returns verbatim official text with citation and edition, and explicitly does not render compliance judgments. The remaining behavioral gap (truncation/pagination of long sections) is minor.

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?

Three sentences, front-loaded with the verb and resource, then the trigger condition, then the scope boundary. The long code-family enumeration costs some length but earns it by improving matching on user citations; no filler sentences.

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?

With an output schema present, return-format detail is not required, and the description still summarizes it (text + citation + edition + link). Annotations cover safety, schema covers all four parameters, and the description covers trigger conditions and the compliance-limitation boundary. Nothing an agent needs to call this correctly is missing.

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% and every parameter is documented there, including the code abbreviations, edition enum semantics and jurisdiction slugs, so the baseline is 3. The description largely restates what the schema already says ('by its section number', naming code families) rather than adding new parameter meaning.

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 (look up) and resource (verbatim California code section) and enumerates the exact code families covered, including city/county ordinances. The 'by its section number' framing cleanly separates it from the sibling search_california_codes and list_california_code_documents without opening either 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 an explicit trigger ('use this whenever the user cites a section number' with concrete citation examples) plus a scope exclusion ('does not determine whether a specific project complies'). It never names the sibling tools as alternatives for the non-section-number case, so routing to search/list is left to inference.

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

search_california_codesAInspect

Search California building codes (Title 24), state housing law and California city and county zoning/municipal codes by TOPIC, when the user does not already have a section number — e.g. "minimum attic access opening", "ADU setbacks in San Jose". Requires the user's GoCodebook account and uses 1 credit per search (also when nothing is found). If the user already cites a section number, use lookup_california_code_section instead — it is free. Returns ranked excerpts with citations and links. It does NOT decide whether a project complies.

NameRequiredDescriptionDefault
queryYesWhat to find, in plain words. Up to 300 characters.
sourcesNoOptional. Limit to federal law, state codes, or local ordinances.
code_editionNoOptional. Which Title 24 cycle to search; a permit filed in 2024 is enforced under "2022". Defaults to "current".
jurisdictionNoOptional. A California city or county slug ("san-jose", "marin-county") to search that place's own code together with the state codes. Omit for statewide.

Output Schema

NameRequiredDescription
hintNoThe search page's own notice about this query (a missing section, a zone code in the wrong city, a code the library does not hold, an address). Tell the user what it says.
as_ofNo
queryNo
statusYesfound / no_results: the search ran and 1 credit was charged (a search with no results still costs a credit). signin_required: the user must connect their GoCodebook account. credits_required: the account has no search credits left; plans_url is an informational page about GoCodebook plans. rate_limited / error: nothing ran and nothing was charged.
messageNo
resultsNoRanked best-first. Each excerpt is a short passage, never the whole section.
plans_urlNo
historicalNo
section_refNo
credits_chargedNo
applied_question_urlNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations leave the operational profile ambiguous (readOnlyHint=false, non-idempotent) but the description explains why: it consumes 1 credit per search, including fruitless searches, and requires a GoCodebook account. It also sets expectations on output (ranked excerpts with citations/links) and negates a capability users might assume (compliance decisions). That is substantive disclosure well beyond the annotations.

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?

Roughly four sentences, all load-bearing: scope, credit cost, alternative, return shape, and negative scope. The routing cue (no section number) and the sibling alternative are front-loaded, so nothing must be read twice.

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 values need not be re-explained, yet the description still characterizes them as ranked excerpts with citations. Account requirement, cost model, routing to the free sibling, and the compliance disclaimer cover everything an agent needs before invoking a credit-consuming search.

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 query, sources, code_edition, and jurisdiction are already documented in the schema; the baseline is 3. The description's example queries ('minimum attic access opening', 'ADU setbacks in San Jose') illustrate the topic-style phrasing expected for the query parameter, but add no syntax or format detail beyond the schema.

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 (Search) plus the resource set (California building codes Title 24, state housing law, city/county municipal codes) and the topic-based input mode. It explicitly names the sibling used for the alternative case (lookup_california_code_section), so an agent can route without opening either schema.

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?

Gives an explicit trigger ('when the user does not already have a section number'), concrete query examples, and a named alternative with the condition that selects it ('If the user already cites a section number... it is free'). It also states the negative scope ('does NOT decide whether a project complies').

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedlist_california_code_documents1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "applied_question_url": {
        +      "type": "string"
        +    },
        +    "browse_url": {
        +      "type": "string"
        +    },
        +    "editions": {
        +      "items": {
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "in_force": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "label",
        +          "in_force"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "groups": {
        +      "description": "Documents grouped by collection. Statewide: Title 24 first. Jurisdiction: the place's own documents, then those of the jurisdiction that also governs it.",
        +      "items": {
        +        "properties": {
        +          "documents": {
        +            "items": {
        +              "properties": {
        +                "edition": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "slug": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "title",
        +                "slug"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "key": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "key",
        +          "label",
        +          "documents"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "jurisdiction": {
        +      "properties": {
        +        "name": {
        +          "type": "string"
        +        },
        +        "slug": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "slug",
        +        "name"
        +      ],
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "message": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "municipal": {
        +      "description": "Statewide only: how many local ordinances are held.",
        +      "properties": {
        +        "document_count": {
        +          "type": "integer"
        +        },
        +        "jurisdiction_count": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "document_count",
        +        "jurisdiction_count"
        +      ],
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "notes": {
        +      "description": "Coverage caveats. Read them before telling a user a code is unavailable.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "scope": {
        +      "enum": [
        +        "statewide",
        +        "jurisdiction"
        +      ],
        +      "type": "string"
        +    },
        +    "status": {
        +      "enum": [
        +        "ok",
        +        "not_found",
        +        "empty",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_california_code_section2 fields changed
      • addedInput schema / properties / code
        Added value: +{
        +  "description": "Optional. The code the user named, so a number that exists in several codes returns the right one. An abbreviation or a name: \"CBC\", \"CRC\", \"CFC\", \"CMC\", \"CPC\", \"CEC\", \"CEBC\", \"CALGreen\", \"CHBC\", \"California Fire Code\". Omit when the user gave no code name.",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ambiguous": {
        +      "description": "True when the number exists in more than one code. Pick by the code the user named and say which one you used; never merge them.",
        +      "type": "boolean"
        +    },
        +    "applied_question_url": {
        +      "description": "Where to send a user whose real question is whether a specific project complies.",
        +      "type": "string"
        +    },
        +    "as_of": {
        +      "description": "The date the codes were read as of (YYYY-MM-DD), or null for the current edition.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "browse_url": {
        +      "type": "string"
        +    },
        +    "historical": {
        +      "description": "True when this is NOT the current code. Say so to the user.",
        +      "type": "boolean"
        +    },
        +    "matches": {
        +      "items": {
        +        "properties": {
        +          "citation": {
        +            "description": "Cite exactly this string.",
        +            "type": "string"
        +          },
        +          "document_slug": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "document_title": {
        +            "type": "string"
        +          },
        +          "edition": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "excerpt": {
        +            "type": "string"
        +          },
        +          "excerpt_truncated": {
        +            "description": "True when the excerpt is cut short. It is never the whole section.",
        +            "type": "boolean"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "description": "text: an excerpt of the section's own words. subsection_list: the section has no text of its own and `excerpt` lists its subsections. empty: no text.",
        +            "enum": [
        +              "text",
        +              "subsection_list",
        +              "empty"
        +            ],
        +            "type": "string"
        +          },
        +          "section_number": {
        +            "type": "string"
        +          },
        +          "source_url": {
        +            "description": "Link to the full section. Always show it to the user.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "document_title",
        +          "section_number",
        +          "heading",
        +          "citation",
        +          "source_url",
        +          "kind",
        +          "excerpt",
        +          "excerpt_truncated"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "message": {
        +      "description": "Guidance when status is not_found or error.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "query": {
        +      "properties": {
        +        "code": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "code_edition": {
        +          "enum": [
        +            "current",
        +            "2022",
        +            "2019"
        +          ],
        +          "type": "string"
        +        },
        +        "jurisdiction": {
        +          "type": "string"
        +        },
        +        "section": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "section",
        +        "jurisdiction",
        +        "code_edition"
        +      ],
        +      "type": "object"
        +    },
        +    "status": {
        +      "description": "found: at least one section matched. not_found: nothing matched — do NOT paraphrase a section that was not returned. error: the lookup could not run.",
        +      "enum": [
        +        "found",
        +        "not_found",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_california_codes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "applied_question_url": {
        +      "type": "string"
        +    },
        +    "as_of": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "credits_charged": {
        +      "type": "integer"
        +    },
        +    "hint": {
        +      "description": "The search page's own notice about this query (a missing section, a zone code in the wrong city, a code the library does not hold, an address). Tell the user what it says.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "historical": {
        +      "type": "boolean"
        +    },
        +    "message": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "plans_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "query": {
        +      "properties": {
        +        "code_edition": {
        +          "enum": [
        +            "current",
        +            "2022",
        +            "2019"
        +          ],
        +          "type": "string"
        +        },
        +        "jurisdiction": {
        +          "type": "string"
        +        },
        +        "query": {
        +          "type": "string"
        +        },
        +        "sources": {
        +          "items": {
        +            "enum": [
        +              "federal",
        +              "state",
        +              "local"
        +            ],
        +            "type": "string"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "query",
        +        "jurisdiction",
        +        "code_edition"
        +      ],
        +      "type": "object"
        +    },
        +    "results": {
        +      "description": "Ranked best-first. Each excerpt is a short passage, never the whole section.",
        +      "items": {
        +        "properties": {
        +          "citation": {
        +            "description": "Cite exactly this string.",
        +            "type": "string"
        +          },
        +          "document_slug": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "document_title": {
        +            "type": "string"
        +          },
        +          "edition": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "excerpt": {
        +            "type": "string"
        +          },
        +          "excerpt_truncated": {
        +            "type": "boolean"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "section_number": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "source_url": {
        +            "description": "Link to the full section. Always show it.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "document_title",
        +          "heading",
        +          "citation",
        +          "source_url",
        +          "excerpt",
        +          "excerpt_truncated"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "section_ref": {
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "found / no_results: the search ran and 1 credit was charged (a search with no results still costs a credit). signin_required: the user must connect their GoCodebook account. credits_required: the account has no search credits left; plans_url is an informational page about GoCodebook plans. rate_limited / error: nothing ran and nothing was charged.",
        +      "enum": [
        +        "found",
        +        "no_results",
        +        "signin_required",
        +        "credits_required",
        +        "rate_limited",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
  2. 3 tool updates
    • Changedlist_california_code_documents1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "applied_question_url": {
        -      "type": "string"
        -    },
        -    "browse_url": {
        -      "type": "string"
        -    },
        -    "editions": {
        -      "items": {
        -        "properties": {
        -          "id": {
        -            "type": "string"
        -          },
        -          "in_force": {
        -            "type": "string"
        -          },
        -          "label": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "id",
        -          "label",
        -          "in_force"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "groups": {
        -      "description": "Documents grouped by collection. Statewide: Title 24 first. Jurisdiction: the place's own documents, then those of the jurisdiction that also governs it.",
        -      "items": {
        -        "properties": {
        -          "documents": {
        -            "items": {
        -              "properties": {
        -                "edition": {
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "slug": {
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "type": "string"
        -                },
        -                "url": {
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "title",
        -                "slug"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "key": {
        -            "type": "string"
        -          },
        -          "label": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "key",
        -          "label",
        -          "documents"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "jurisdiction": {
        -      "properties": {
        -        "name": {
        -          "type": "string"
        -        },
        -        "slug": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "slug",
        -        "name"
        -      ],
        -      "type": [
        -        "object",
        -        "null"
        -      ]
        -    },
        -    "message": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "municipal": {
        -      "description": "Statewide only: how many local ordinances are held.",
        -      "properties": {
        -        "document_count": {
        -          "type": "integer"
        -        },
        -        "jurisdiction_count": {
        -          "type": "integer"
        -        }
        -      },
        -      "required": [
        -        "document_count",
        -        "jurisdiction_count"
        -      ],
        -      "type": [
        -        "object",
        -        "null"
        -      ]
        -    },
        -    "notes": {
        -      "description": "Coverage caveats. Read them before telling a user a code is unavailable.",
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "scope": {
        -      "enum": [
        -        "statewide",
        -        "jurisdiction"
        -      ],
        -      "type": "string"
        -    },
        -    "status": {
        -      "enum": [
        -        "ok",
        -        "not_found",
        -        "empty",
        -        "error"
        -      ],
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "status"
        -  ],
        -  "type": "object"
        -}New value: +null
    • Changedlookup_california_code_section1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "ambiguous": {
        -      "description": "True when the number exists in more than one code. Pick by the code the user named and say which one you used; never merge them.",
        -      "type": "boolean"
        -    },
        -    "applied_question_url": {
        -      "description": "Where to send a user whose real question is whether a specific project complies.",
        -      "type": "string"
        -    },
        -    "as_of": {
        -      "description": "The date the codes were read as of (YYYY-MM-DD), or null for the current edition.",
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "browse_url": {
        -      "type": "string"
        -    },
        -    "historical": {
        -      "description": "True when this is NOT the current code. Say so to the user.",
        -      "type": "boolean"
        -    },
        -    "matches": {
        -      "items": {
        -        "properties": {
        -          "citation": {
        -            "description": "Cite exactly this string.",
        -            "type": "string"
        -          },
        -          "document_slug": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "document_title": {
        -            "type": "string"
        -          },
        -          "edition": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "excerpt": {
        -            "type": "string"
        -          },
        -          "excerpt_truncated": {
        -            "description": "True when the excerpt is cut short. It is never the whole section.",
        -            "type": "boolean"
        -          },
        -          "heading": {
        -            "type": "string"
        -          },
        -          "kind": {
        -            "description": "text: an excerpt of the section's own words. subsection_list: the section has no text of its own and `excerpt` lists its subsections. empty: no text.",
        -            "enum": [
        -              "text",
        -              "subsection_list",
        -              "empty"
        -            ],
        -            "type": "string"
        -          },
        -          "section_number": {
        -            "type": "string"
        -          },
        -          "source_url": {
        -            "description": "Link to the full section. Always show it to the user.",
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "document_title",
        -          "section_number",
        -          "heading",
        -          "citation",
        -          "source_url",
        -          "kind",
        -          "excerpt",
        -          "excerpt_truncated"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "message": {
        -      "description": "Guidance when status is not_found or error.",
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "query": {
        -      "properties": {
        -        "code_edition": {
        -          "enum": [
        -            "current",
        -            "2022",
        -            "2019"
        -          ],
        -          "type": "string"
        -        },
        -        "jurisdiction": {
        -          "type": "string"
        -        },
        -        "section": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "section",
        -        "jurisdiction",
        -        "code_edition"
        -      ],
        -      "type": "object"
        -    },
        -    "status": {
        -      "description": "found: at least one section matched. not_found: nothing matched — do NOT paraphrase a section that was not returned. error: the lookup could not run.",
        -      "enum": [
        -        "found",
        -        "not_found",
        -        "error"
        -      ],
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "status"
        -  ],
        -  "type": "object"
        -}New value: +null
    • Changedsearch_california_codes1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "applied_question_url": {
        -      "type": "string"
        -    },
        -    "as_of": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "credits_charged": {
        -      "type": "integer"
        -    },
        -    "hint": {
        -      "description": "The search page's own notice about this query (a missing section, a zone code in the wrong city, a code the library does not hold, an address). Tell the user what it says.",
        -      "type": [
        -        "object",
        -        "null"
        -      ]
        -    },
        -    "historical": {
        -      "type": "boolean"
        -    },
        -    "message": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "query": {
        -      "properties": {
        -        "code_edition": {
        -          "enum": [
        -            "current",
        -            "2022",
        -            "2019"
        -          ],
        -          "type": "string"
        -        },
        -        "jurisdiction": {
        -          "type": "string"
        -        },
        -        "query": {
        -          "type": "string"
        -        },
        -        "sources": {
        -          "items": {
        -            "enum": [
        -              "federal",
        -              "state",
        -              "local"
        -            ],
        -            "type": "string"
        -          },
        -          "type": "array"
        -        }
        -      },
        -      "required": [
        -        "query",
        -        "jurisdiction",
        -        "code_edition"
        -      ],
        -      "type": "object"
        -    },
        -    "results": {
        -      "description": "Ranked best-first. Each excerpt is a short passage, never the whole section.",
        -      "items": {
        -        "properties": {
        -          "citation": {
        -            "description": "Cite exactly this string.",
        -            "type": "string"
        -          },
        -          "document_slug": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "document_title": {
        -            "type": "string"
        -          },
        -          "edition": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "excerpt": {
        -            "type": "string"
        -          },
        -          "excerpt_truncated": {
        -            "type": "boolean"
        -          },
        -          "heading": {
        -            "type": "string"
        -          },
        -          "section_number": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "source_url": {
        -            "description": "Link to the full section. Always show it.",
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "document_title",
        -          "heading",
        -          "citation",
        -          "source_url",
        -          "excerpt",
        -          "excerpt_truncated"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "section_ref": {
        -      "type": [
        -        "object",
        -        "null"
        -      ]
        -    },
        -    "status": {
        -      "description": "found / no_results: the search ran and 1 credit was charged (a search with no results still costs a credit). signin_required: the user must connect their GoCodebook account. credits_required: the account has no credits — send the user to upgrade_url. rate_limited / error: nothing ran and nothing was charged.",
        -      "enum": [
        -        "found",
        -        "no_results",
        -        "signin_required",
        -        "credits_required",
        -        "rate_limited",
        -        "error"
        -      ],
        -      "type": "string"
        -    },
        -    "upgrade_url": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    }
        -  },
        -  "required": [
        -    "status"
        -  ],
        -  "type": "object"
        -}New value: +null
  3. 3 tool updates
    • Changedlist_california_code_documents1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "applied_question_url": {
        +      "type": "string"
        +    },
        +    "browse_url": {
        +      "type": "string"
        +    },
        +    "editions": {
        +      "items": {
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "in_force": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "label",
        +          "in_force"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "groups": {
        +      "description": "Documents grouped by collection. Statewide: Title 24 first. Jurisdiction: the place's own documents, then those of the jurisdiction that also governs it.",
        +      "items": {
        +        "properties": {
        +          "documents": {
        +            "items": {
        +              "properties": {
        +                "edition": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "slug": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "title",
        +                "slug"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "key": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "key",
        +          "label",
        +          "documents"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "jurisdiction": {
        +      "properties": {
        +        "name": {
        +          "type": "string"
        +        },
        +        "slug": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "slug",
        +        "name"
        +      ],
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "message": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "municipal": {
        +      "description": "Statewide only: how many local ordinances are held.",
        +      "properties": {
        +        "document_count": {
        +          "type": "integer"
        +        },
        +        "jurisdiction_count": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "document_count",
        +        "jurisdiction_count"
        +      ],
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "notes": {
        +      "description": "Coverage caveats. Read them before telling a user a code is unavailable.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "scope": {
        +      "enum": [
        +        "statewide",
        +        "jurisdiction"
        +      ],
        +      "type": "string"
        +    },
        +    "status": {
        +      "enum": [
        +        "ok",
        +        "not_found",
        +        "empty",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_california_code_section1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ambiguous": {
        +      "description": "True when the number exists in more than one code. Pick by the code the user named and say which one you used; never merge them.",
        +      "type": "boolean"
        +    },
        +    "applied_question_url": {
        +      "description": "Where to send a user whose real question is whether a specific project complies.",
        +      "type": "string"
        +    },
        +    "as_of": {
        +      "description": "The date the codes were read as of (YYYY-MM-DD), or null for the current edition.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "browse_url": {
        +      "type": "string"
        +    },
        +    "historical": {
        +      "description": "True when this is NOT the current code. Say so to the user.",
        +      "type": "boolean"
        +    },
        +    "matches": {
        +      "items": {
        +        "properties": {
        +          "citation": {
        +            "description": "Cite exactly this string.",
        +            "type": "string"
        +          },
        +          "document_slug": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "document_title": {
        +            "type": "string"
        +          },
        +          "edition": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "excerpt": {
        +            "type": "string"
        +          },
        +          "excerpt_truncated": {
        +            "description": "True when the excerpt is cut short. It is never the whole section.",
        +            "type": "boolean"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "description": "text: an excerpt of the section's own words. subsection_list: the section has no text of its own and `excerpt` lists its subsections. empty: no text.",
        +            "enum": [
        +              "text",
        +              "subsection_list",
        +              "empty"
        +            ],
        +            "type": "string"
        +          },
        +          "section_number": {
        +            "type": "string"
        +          },
        +          "source_url": {
        +            "description": "Link to the full section. Always show it to the user.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "document_title",
        +          "section_number",
        +          "heading",
        +          "citation",
        +          "source_url",
        +          "kind",
        +          "excerpt",
        +          "excerpt_truncated"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "message": {
        +      "description": "Guidance when status is not_found or error.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "query": {
        +      "properties": {
        +        "code_edition": {
        +          "enum": [
        +            "current",
        +            "2022",
        +            "2019"
        +          ],
        +          "type": "string"
        +        },
        +        "jurisdiction": {
        +          "type": "string"
        +        },
        +        "section": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "section",
        +        "jurisdiction",
        +        "code_edition"
        +      ],
        +      "type": "object"
        +    },
        +    "status": {
        +      "description": "found: at least one section matched. not_found: nothing matched — do NOT paraphrase a section that was not returned. error: the lookup could not run.",
        +      "enum": [
        +        "found",
        +        "not_found",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Addedsearch_california_codes
  4. 2 tool updates
    • First observedlist_california_code_documents
    • First observedlookup_california_code_section

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Professional building code compliance assistant that interfaces with municipal building codes, helping contractors and builders navigate complex regulatory requirements with precision.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides programmatic access to municipal codes, ordinances, and zoning regulations from thousands of US cities and counties through the Municode digital library, enabling search, navigation, and retrieval of local government legal documents.
    6
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables Claude Code and Codex to retrieve building-code sections from your own licensed corpus via hybrid search, returning section-faithful citations with amendments and cross-references.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources