Skip to main content
Glama

Server Details

Georgia's Code, bills, Supreme Court opinions, and 2026 House and Senate meetings. Independent.

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.9% over 55 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role: describe_site handles orientation and id grammar, get_coverage reports holdings and gaps, search discovers documents, fetch retrieves known documents or parts, and verify_quote checks quotations. The boundary between describe_site and get_coverage is especially clear because one explains how the system works while the other reports what is currently held.

Naming Consistency4/5

Most names follow a snake_case verb_noun pattern (describe_site, get_coverage, verify_quote), but search and fetch are bare verbs. The convention is still readable and predictable overall, with only minor deviations.

Tool Count5/5

Five tools is well-scoped for a legal research server: orientation, search, retrieval, coverage, and quotation verification. Each tool earns its place, and broader functionality is handled through parameters rather than by fragmenting into many narrow tools.

Completeness5/5

The surface covers the full read-only research lifecycle: understanding the system, searching across all collections, fetching documents and versions, checking coverage and known gaps, and verifying quotations. There are no obvious missing operations for the stated purpose.

Available Tools

5 tools
describe_siteAbout Georgia CommonsA
Read-onlyIdempotent
Inspect

Orientation: what Georgia Commons is, the id grammar, the filter values, and the bodies. Call it first.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds that the payload is explanatory reference content rather than data records, which is useful, but with no output schema it never indicates the shape or volume of what comes back. That gap keeps it at an adequate-but-thin 3.

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?

One front-loaded sentence with a label ('Orientation:') followed by the actionable directive 'Call it first' — nothing is padded. The only weakness is that the enumerated topics are compressed into terse nouns, notably the unexplained 'bodies'.

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?

For a zero-parameter, read-only, annotation-rich documentation tool with no output schema, the description covers the essentials: what it contains and that it should precede other calls. Only the vagueness of 'the bodies' and the absence of any hint about return size prevent a 5.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly implies a no-argument call by instructing the agent to just call it first.

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 frames the tool as orientation material covering four concrete topics (what Georgia Commons is, id grammar, filter values, bodies), which is clearly distinct from the action-oriented siblings fetch/search/verify_quote. The noun 'the bodies' is undefined, leaving one listed component opaque, so it stops short of a fully precise purpose statement.

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?

'Call it first' gives explicit, unambiguous ordering guidance that no sibling could provide, effectively telling the agent this is a prerequisite read. It does not name when to skip it or how it relates to each sibling beyond ordering, so it lacks true when-not guidance.

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

fetchRead one documentA
Read-onlyIdempotent
Inspect

Read one document by id or any written form (bill:2025-2026/hb136, SB 3, opinion:S26A0060, 317 Ga. 528, code:16-11-127, O.C.G.A. § 16-11-127, ga-const:art-i-sec-i-para-iii, meeting:2026-02-05/house-rules, a page URL) as Markdown, at most max_chars (default 60,000) from start, with a pointer to the rest. metadata lists its versions, links grouped by relation, and parts (part reads one: a bill's votes or history, a meeting's transcript). A version id (...@key) reads that version. A hierarchy node (code:t16, code:t16/c11, ga-const:art-i) returns its children. A bill number used in more than one session returns the choices. around takes a passage citation from search and returns the text around it.

NameRequiredDescriptionDefault
idYesA document id or any written form of one (a bill number, docket, citation, page URL), a version id, or a hierarchy node.
partNodocument (default), or one of the parts metadata.parts lists.document
startNoCharacter offset to read from (the pointer at the end of a window gives it).
aroundNoA passage citation from search (version_id#start-end): the text around it.
includeNoParts to add to metadata (e.g. votes, history).
max_charsNoCharacters to return, 1,000 to 200,000.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond them: default and maximum window sizes, truncation with a continuation pointer, ambiguity resolution (a bill number in multiple sessions returns choices), version-id reading via `...@key`, and hierarchy expansion. These are the exact runtime traits an agent cannot infer from structured fields.

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?

One dense paragraph, front-loaded with the primary operation before the mode variants, and no filler sentences. It is close to the upper limit of density — clauses like "A version id (`...@key`) reads that version" are terse to the point of requiring a second read.

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?

There is no output schema, so the description carries the return-value burden and does so: Markdown body, `max_chars` window, continuation pointer, and the metadata payload (versions, links by relation, parts). For a six-parameter read tool with four distinct modes, nothing an agent needs to invoke it correctly is absent.

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 baseline would be 3, but the description adds real meaning: concrete `part` values (a bill's votes or history, a meeting's transcript), the `start`/pointer relationship for paging, and the `around` argument's provenance from search citations. Only `include` is left mostly to 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?

Opens with a specific verb and resource ('Read one document') and immediately enumerates the id forms it accepts, which makes it trivially distinguishable from search, describe_site, and verify_quote. An agent knows exactly what this tool returns (Markdown) and on what object.

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?

Usage contexts are spelled out well: use `around` with a passage citation from search, use `metadata` to enumerate versions/links/parts, use `part` to pull a bill's votes or a meeting's transcript, and hierarchy nodes return children. What's missing is an explicit statement of when to prefer this over search or verify_quote, or an exclusion for oversized documents.

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

get_coverageWhat Georgia Commons holdsA
Read-onlyIdempotent
Inspect

What Georgia Commons holds, computed now: each source's documents by type and issuing body, date ranges, how much is searchable by meaning, the last update, the qualifications, and what is not held yet (local governments, school boards, the Court of Appeals). Filters narrow it.

NameRequiredDescriptionDefault
filtersNoOptional: narrow to document types, bodies, kinds of body, levels.

Output Schema

NameRequiredDescription
entriesYes
not_heldNo
not_held_yetNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine context beyond them: the numbers are 'computed now' (freshly calculated, not cached), and the result deliberately includes qualifications and explicitly absent coverage (local governments, school boards, Court of Appeals), which tells the agent to expect caveats rather than a bare count.

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?

Two sentences, front-loaded with the resource and its live nature, then the narrowing note. The middle enumeration is long but every clause corresponds to a distinct part of the report, so it earns its place; it could be tightened slightly by grouping the related date/coverage items.

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 handling return format and annotations handling safety, the description covers what an agent needs to decide and call correctly: what is measured, that it is current, that gaps and qualifications are included, and that filters can narrow scope. Nothing material is missing for a single-optional-parameter read tool.

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 coverage is 100% and the single filters object is thoroughly documented with vocabularies, defaults, and enum meanings (place_scope, include_overlapping, date_field). The description only says 'Filters narrow it,' adding no syntax or semantics beyond the schema, so the baseline 3 applies.

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 names a concrete artifact — a live coverage report of each source's documents by type, issuing body, date ranges, semantic-searchability, last update, and known gaps. It is clearly not fetch/search, but it never explicitly names or contrasts with the siblings (describe_site, search, fetch, verify_quote), so differentiation is by inference rather than statement.

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

Usage Guidelines3/5

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

Usage is only implied: 'Filters narrow it' and the mention of what is not held suggest a pre-search orientation step, but there is no explicit statement of when to call this versus describe_site or search. The strongest routing hint (describe_site lists body ids) lives in the schema, not the description.

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

verify_quoteCheck a quotationA
Read-onlyIdempotent
Inspect

Check whether a quotation appears word for word in a stored document (or one version of it), after normalizing whitespace, typographic quotes and dashes, [T]he-style alterations, amendment marks, and case. Use it before relying on a quotation.

NameRequiredDescriptionDefault
idYesThe document id (or any written form of one).
quoteYesThe quotation to check, at least 12 characters.
versionNoA version id to check; default the current version, then earlier ones.

Output Schema

NameRequiredDescription
idYes
inNo
charsYes
foundYes
md_urlYes
currentNo
version_idNo
occurrencesYes
canonical_urlYes
version_labelNo

TDQS

A4.1/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 is covered. The description earns credit for disclosing non-obvious matching behavior beyond the annotations: normalization of whitespace, typographic quotes and dashes, [T]he-style alterations, amendment marks, and case, plus the current-version-then-earlier-versions fallback. It does not describe the result shape, but an output schema exists to carry that.

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?

Two sentences, front-loaded with the core check and its normalization caveats, then a short usage clause. Slightly clunky with the bracketed '[T]he-style alterations' fragment and the trailing '(or one version of it)', but nothing is genuinely redundant.

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?

For a read-only verification tool with rich annotations, a fully documented schema, and an output schema, the description covers what an agent needs: what is compared, how normalization affects matching, and the version scope. It could say more about what a failed match implies (e.g. that amendment marks make near-misses expected), but no essential calling information 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 all three parameters are documented in the schema, including the version fallback and the 12-character quote minimum. The description adds no syntax or format detail for id, quote or version beyond what the schema already states, so the baseline of 3 applies.

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 and resource: 'Check whether a quotation appears word for word in a stored document (or one version of it)'. It also scopes the comparison semantics, so an agent can tell this apart from the sibling retrieval tools (search, fetch, describe_site, get_coverage) 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?

'Use it before relying on a quotation' gives a clear usage context, and the verification framing makes the intent unambiguous. It stops short of naming exclusions or pointing at an alternative path (e.g. what to do when the quote is not found, or when to use search instead), so it lands at 4 rather than 5.

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. 27 tool updates
    • Removedbills_get_text
    • Removedbills_list
    • Removedbills_lookup
    • Removedbills_search
    • Removedcode_browse
    • Removedcode_describe_structure
    • Removedcode_find_act
    • Removedcode_find_chapter
    • Removedcode_get_chapter
    • Removedcode_lookup_section
    • Removedcode_lookup_sections
    • Removedcode_search
    • Removedconstitution_browse
    • Removedconstitution_lookup
    • Changedfetch8 fields changed
      • addedInput schema / properties / around
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "A passage citation from search (version_id#start-end): the text around it.",
        +  "title": "Around"
        +}
      • removedInput schema / properties / full
        Removed value: -{
        -  "default": false,
        -  "description": "Include the optional material the tool describes (for example votes and history, or the notes). Longer.",
        -  "title": "Full",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / id / description
        Previous value: -"A document id from search: code:44-7-34, ga-const:art-i-sec-i-para-i, us-const:amend-xiv, bill:2025-2026/hb136, opinion:S26A0060, or meeting:2026-02-05/house-rules."New value: +"A document id or any written form of one (a bill number, docket, citation, page URL), a version id, or a hierarchy node."
      • addedInput schema / properties / id / maxLength
        Added value: +300
      • addedInput schema / properties / include
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Parts to add to metadata (e.g. votes, history).",
        +  "title": "Include"
        +}
      • changedInput schema / properties / max_chars / description
        Previous value: -"Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part."New value: +"Characters to return, 1,000 to 200,000."
      • addedInput schema / properties / part
        Added value: +{
        +  "default": "document",
        +  "description": "document (default), or one of the parts metadata.parts lists.",
        +  "title": "Part",
        +  "type": "string"
        +}
      • changedInput schema / properties / start / description
        Previous value: -"Where to start, as returned by the previous call's continuation pointer. 0 is the beginning."New value: +"Character offset to read from (the pointer at the end of a window gives it)."
    • Changedget_coverage3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Filters": {
        +    "additionalProperties": false,
        +    "description": "Hard filters. Every field is optional; values come from the vocabularies.",
        +    "properties": {
        +      "action": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Stage of an action inside a meeting: reading, motion, vote, adopted, failed, public_comment, ...",
        +        "title": "Action"
        +      },
        +      "body": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Issuing bodies by id, e.g. ga-supreme-court, ga-senate, ga-house-rules (describe_site lists them).",
        +        "title": "Body"
        +      },
        +      "body_type": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Kinds of body: legislative_chamber, legislative_committee, court, board_of_education, governing_body, ...",
        +        "title": "Body Type"
        +      },
        +      "branch": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Branches: legislative, executive, judicial.",
        +        "title": "Branch"
        +      },
        +      "date_field": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "date_primary",
        +              "date_filed",
        +              "date_met",
        +              "date_adopted",
        +              "date_effective"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Which date the range applies to; defaults to each type's own (filing date for opinions, meeting date for meetings).",
        +        "title": "Date Field"
        +      },
        +      "date_from": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Earliest date: YYYY, YYYY-MM, or YYYY-MM-DD.",
        +        "title": "Date From"
        +      },
        +      "date_to": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Latest date: YYYY, YYYY-MM, or YYYY-MM-DD.",
        +        "title": "Date To"
        +      },
        +      "doc_type": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Document types, e.g. bill, opinion, code_section, constitution_provision, meeting_transcript, amendment.",
        +        "title": "Doc Type"
        +      },
        +      "include_overlapping": {
        +        "default": true,
        +        "description": "With place: also bodies whose area overlaps it (Fulton and DeKalb for Atlanta).",
        +        "title": "Include Overlapping",
        +        "type": "boolean"
        +      },
        +      "level": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Levels of government: federal, state, county, municipal, consolidated, school_district, regional.",
        +        "title": "Level"
        +      },
        +      "place": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "A Georgia place in words or as an id (Atlanta, Cobb County, city:savannah). Matches the body's jurisdiction.",
        +        "title": "Place"
        +      },
        +      "place_scope": {
        +        "default": "either",
        +        "description": "With place: documents issued for that place (jurisdiction), documents that mention it (mentions), or either (default).",
        +        "enum": [
        +          "either",
        +          "jurisdiction",
        +          "mentions"
        +        ],
        +        "title": "Place Scope",
        +        "type": "string"
        +      },
        +      "session": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Legislative session slug, e.g. 2025-2026 or 2026-special.",
        +        "title": "Session"
        +      },
        +      "status": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Status classes: pending, passed_one_chamber, passed_both, enacted, vetoed, failed, in_force, repealed, decided, held.",
        +        "title": "Status"
        +      }
        +    },
        +    "title": "Filters",
        +    "type": "object"
        +  }
        +}
      • addedInput schema / properties / filters
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Filters"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional: narrow to document types, bodies, kinds of body, levels."
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "entries": {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "title": "Entries",
        +      "type": "array"
        +    },
        +    "not_held": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "title": "Not Held",
        +      "type": "array"
        +    },
        +    "not_held_yet": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "title": "Not Held Yet",
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "entries"
        +  ],
        +  "title": "CoverageOutput",
        +  "type": "object"
        +}
    • Removedmeetings_for_bill
    • Removedmeetings_get_transcript
    • Removedmeetings_list
    • Removedmeetings_lookup
    • Removedmeetings_search
    • Removedopinions_get_text
    • Removedopinions_list
    • Removedopinions_lookup
    • Removedopinions_search
    • Changedsearch29 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Filters": {
        +    "additionalProperties": false,
        +    "description": "Hard filters. Every field is optional; values come from the vocabularies.",
        +    "properties": {
        +      "action": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Stage of an action inside a meeting: reading, motion, vote, adopted, failed, public_comment, ...",
        +        "title": "Action"
        +      },
        +      "body": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Issuing bodies by id, e.g. ga-supreme-court, ga-senate, ga-house-rules (describe_site lists them).",
        +        "title": "Body"
        +      },
        +      "body_type": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Kinds of body: legislative_chamber, legislative_committee, court, board_of_education, governing_body, ...",
        +        "title": "Body Type"
        +      },
        +      "branch": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Branches: legislative, executive, judicial.",
        +        "title": "Branch"
        +      },
        +      "date_field": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "date_primary",
        +              "date_filed",
        +              "date_met",
        +              "date_adopted",
        +              "date_effective"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Which date the range applies to; defaults to each type's own (filing date for opinions, meeting date for meetings).",
        +        "title": "Date Field"
        +      },
        +      "date_from": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Earliest date: YYYY, YYYY-MM, or YYYY-MM-DD.",
        +        "title": "Date From"
        +      },
        +      "date_to": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Latest date: YYYY, YYYY-MM, or YYYY-MM-DD.",
        +        "title": "Date To"
        +      },
        +      "doc_type": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Document types, e.g. bill, opinion, code_section, constitution_provision, meeting_transcript, amendment.",
        +        "title": "Doc Type"
        +      },
        +      "include_overlapping": {
        +        "default": true,
        +        "description": "With place: also bodies whose area overlaps it (Fulton and DeKalb for Atlanta).",
        +        "title": "Include Overlapping",
        +        "type": "boolean"
        +      },
        +      "level": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Levels of government: federal, state, county, municipal, consolidated, school_district, regional.",
        +        "title": "Level"
        +      },
        +      "place": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "A Georgia place in words or as an id (Atlanta, Cobb County, city:savannah). Matches the body's jurisdiction.",
        +        "title": "Place"
        +      },
        +      "place_scope": {
        +        "default": "either",
        +        "description": "With place: documents issued for that place (jurisdiction), documents that mention it (mentions), or either (default).",
        +        "enum": [
        +          "either",
        +          "jurisdiction",
        +          "mentions"
        +        ],
        +        "title": "Place Scope",
        +        "type": "string"
        +      },
        +      "session": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Legislative session slug, e.g. 2025-2026 or 2026-special.",
        +        "title": "Session"
        +      },
        +      "status": {
        +        "anyOf": [
        +          {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Status classes: pending, passed_one_chamber, passed_both, enacted, vetoed, failed, in_force, repealed, decided, held.",
        +        "title": "Status"
        +      }
        +    },
        +    "title": "Filters",
        +    "type": "object"
        +  }
        +}
      • removedInput schema / properties / collection
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "enum": [
        -        "code",
        -        "bills",
        -        "opinions",
        -        "meetings"
        -      ],
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Search one collection only: code (the Georgia Code and the two constitutions), bills, opinions, or meetings. Omit to search all four.",
        -  "title": "Collection"
        -}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "The next_cursor of a previous call, for the next page.",
        +  "title": "Cursor"
        +}
      • addedInput schema / properties / filters
        Added value: +{
        +  "anyOf": [
        +    {
        +      "$ref": "#/$defs/Filters"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional hard filters (see describe_site for values)."
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maximum": 50,
        +      "minimum": 1,
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Results per page: 1 to 50 (default 10 documents; 25 in mode all).",
        +  "title": "Limit"
        +}
      • addedInput schema / properties / linked_to
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only documents linked to this document id (a bill's meetings, a section's amending bills).",
        +  "title": "Linked To"
        +}
      • addedInput schema / properties / mode
        Added value: +{
        +  "default": "best",
        +  "description": "best: ranked and cut. all: every match found, by date, paged, with a total.",
        +  "enum": [
        +    "best",
        +    "all"
        +  ],
        +  "title": "Mode",
        +  "type": "string"
        +}
      • addedInput schema / properties / parent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only documents inside this hierarchy node (code:t16, code:t16/c11, ga-const:art-i).",
        +  "title": "Parent"
        +}
      • addedInput schema / properties / query / default
        Added value: +""
      • changedInput schema / properties / query / description
        Previous value: -"Words, a citation (44-7-34), a bill number (HB 136), or a docket (S23A0421). Search matches the words of the document."New value: +"A question or keywords, in plain language. Empty with filters: browse."
      • addedInput schema / properties / relations
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "With linked_to: relation types (discusses, amends, amendment_to, cites, ...).",
        +  "title": "Relations"
        +}
      • addedInput schema / properties / sort
        Added value: +{
        +  "default": "relevance",
        +  "description": "Result order.",
        +  "enum": [
        +    "relevance",
        +    "newest",
        +    "oldest",
        +    "id"
        +  ],
        +  "title": "Sort",
        +  "type": "string"
        +}
      • addedInput schema / properties / versions
        Added value: +{
        +  "default": "current",
        +  "description": "current (default) or all versions (how a bill changed).",
        +  "enum": [
        +    "current",
        +    "all"
        +  ],
        +  "title": "Versions",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "query"
        -]
      • addedOutput schema / $defs / Passage
        Added value: +{
        +  "properties": {
        +    "char_end": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Char End"
        +    },
        +    "char_start": {
        +      "anyOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Char Start"
        +    },
        +    "cite": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Cite"
        +    },
        +    "link": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Link"
        +    },
        +    "locator": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Locator"
        +    },
        +    "role": {
        +      "default": "evidence",
        +      "title": "Role",
        +      "type": "string"
        +    },
        +    "stage": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Stage"
        +    },
        +    "text": {
        +      "title": "Text",
        +      "type": "string"
        +    },
        +    "version_id": {
        +      "title": "Version Id",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "text",
        +    "version_id"
        +  ],
        +  "title": "Passage",
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Result
        Added value: +{
        +  "properties": {
        +    "body": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Body"
        +    },
        +    "cite_as": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Cite As"
        +    },
        +    "date": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Date"
        +    },
        +    "date_field": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Date Field"
        +    },
        +    "doc_type": {
        +      "title": "Doc Type",
        +      "type": "string"
        +    },
        +    "exact": {
        +      "default": false,
        +      "title": "Exact",
        +      "type": "boolean"
        +    },
        +    "id": {
        +      "title": "Id",
        +      "type": "string"
        +    },
        +    "level": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Level"
        +    },
        +    "occurrences": {
        +      "default": 0,
        +      "title": "Occurrences",
        +      "type": "integer"
        +    },
        +    "passages": {
        +      "items": {
        +        "$ref": "#/$defs/Passage"
        +      },
        +      "title": "Passages",
        +      "type": "array"
        +    },
        +    "score": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Score"
        +    },
        +    "status": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Status"
        +    },
        +    "summary": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "description": "Georgia Commons' AI-written summary: labeled, never source text.",
        +      "title": "Summary"
        +    },
        +    "title": {
        +      "title": "Title",
        +      "type": "string"
        +    },
        +    "url": {
        +      "title": "Url",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "title",
        +    "url",
        +    "doc_type"
        +  ],
        +  "title": "Result",
        +  "type": "object"
        +}
      • removedOutput schema / $defs / SearchResult
        Removed value: -{
        -  "properties": {
        -    "id": {
        -      "title": "Id",
        -      "type": "string"
        -    },
        -    "title": {
        -      "title": "Title",
        -      "type": "string"
        -    },
        -    "url": {
        -      "title": "Url",
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "id",
        -    "title",
        -    "url"
        -  ],
        -  "title": "SearchResult",
        -  "type": "object"
        -}
      • addedOutput schema / properties / confidence
        Added value: +{
        +  "default": "medium",
        +  "title": "Confidence",
        +  "type": "string"
        +}
      • addedOutput schema / properties / coverage_notes
        Added value: +{
        +  "items": {
        +    "additionalProperties": true,
        +    "type": "object"
        +  },
        +  "title": "Coverage Notes",
        +  "type": "array"
        +}
      • addedOutput schema / properties / documents_found
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Documents Found"
        +}
      • addedOutput schema / properties / facets
        Added value: +{
        +  "additionalProperties": {
        +    "items": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "title": "Facets",
        +  "type": "object"
        +}
      • addedOutput schema / properties / interpretation
        Added value: +{
        +  "additionalProperties": true,
        +  "title": "Interpretation",
        +  "type": "object"
        +}
      • addedOutput schema / properties / next_cursor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Next Cursor"
        +}
      • addedOutput schema / properties / query
        Added value: +{
        +  "title": "Query",
        +  "type": "string"
        +}
      • changedOutput schema / properties / results / items / $ref
        Previous value: -"#/$defs/SearchResult"New value: +"#/$defs/Result"
      • addedOutput schema / properties / total
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Total"
        +}
      • addedOutput schema / properties / total_kind
        Added value: +{
        +  "default": "found",
        +  "title": "Total Kind",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "results"
        -]New value: +[
        +  "query",
        +  "results"
        +]
      • changedOutput schema / title
        Previous value: -"SearchResults"New value: +"SearchOutput"
    • Changedverify_quote17 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"The document's id, as search and fetch return it: code:44-7-34, bill:2025-2026/hb136, opinion:S26A0060, meeting:2026-02-05/house-rules."New value: +"The document id (or any written form of one)."
      • addedInput schema / properties / id / maxLength
        Added value: +300
      • changedInput schema / properties / quote / description
        Previous value: -"The quotation to check, at least 12 characters and at most 4,000."New value: +"The quotation to check, at least 12 characters."
      • changedInput schema / properties / quote / minLength
        Previous value: -1New value: +12
      • addedInput schema / properties / version
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "A version id to check; default the current version, then earlier ones.",
        +  "title": "Version"
        +}
      • addedOutput schema / properties / canonical_url
        Added value: +{
        +  "title": "Canonical Url",
        +  "type": "string"
        +}
      • addedOutput schema / properties / current
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Current"
        +}
      • addedOutput schema / properties / found
        Added value: +{
        +  "title": "Found",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / in
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "In"
        +}
      • addedOutput schema / properties / md_url
        Added value: +{
        +  "title": "Md Url",
        +  "type": "string"
        +}
      • removedOutput schema / properties / source_field
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "title": "Source Field"
        -}
      • removedOutput schema / properties / url
        Removed value: -{
        -  "title": "Url",
        -  "type": "string"
        -}
      • removedOutput schema / properties / verified
        Removed value: -{
        -  "title": "Verified",
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / version_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Version Id"
        +}
      • addedOutput schema / properties / version_label
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Version Label"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "url",
        -  "verified",
        -  "occurrences",
        -  "source_field",
        -  "chars"
        -]New value: +[
        +  "id",
        +  "found",
        +  "occurrences",
        +  "chars",
        +  "canonical_url",
        +  "md_url"
        +]
      • changedOutput schema / title
        Previous value: -"VerifyResult"New value: +"VerifyOutput"
  2. 25 tool updates
    • Changedbills_get_text8 fields changed
      • addedInput schema / properties / bill / description
        Added value: +"The bill or resolution: HB 136, H.B. 136, House Bill 136, SR 5, 2025-2026/hb136, or a numeric id."
      • addedInput schema / properties / bill / minLength
        Added value: +1
      • addedInput schema / properties / max_chars / description
        Added value: +"Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part."
      • addedInput schema / properties / max_chars / maximum
        Added value: +200000
      • addedInput schema / properties / max_chars / minimum
        Added value: +1000
      • addedInput schema / properties / session / description
        Added value: +"The session, named by its years or slug: 2025-2026 (the regular session) or 2026-special. Omit for the default the tool describes."
      • addedInput schema / properties / start / description
        Added value: +"Where to start, as returned by the previous call's continuation pointer. 0 is the beginning."
      • addedInput schema / properties / start / minimum
        Added value: +0
    • Changedbills_list16 fields changed
      • changedInput schema / properties / chamber / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "H",
        +      "S"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / chamber / description
        Added value: +"Chamber of origin: H (House) or S (Senate)."
      • changedInput schema / properties / kind / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "hb",
        +      "sb",
        +      "hr",
        +      "sr"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / kind / description
        Added value: +"Kind of measure: hb (House bill), sb (Senate bill), hr (House resolution), or sr (Senate resolution)."
      • addedInput schema / properties / limit / description
        Added value: +"How many entries per page, 1 to 40 (default 25)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / q / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 500,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / q / description
        Added value: +"Words every listed bill must contain."
      • addedInput schema / properties / session / description
        Added value: +"The session, named by its years or slug: 2025-2026 (the regular session) or 2026-special. Omit for the default the tool describes."
      • addedInput schema / properties / start / description
        Added value: +"How many entries to skip, as returned by the previous call's continuation pointer. 0 is the first page."
      • addedInput schema / properties / start / minimum
        Added value: +0
      • changedInput schema / properties / status / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 6,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / status / description
        Added value: +"Status code: 1 Introduced, 2 Engrossed, 3 Enrolled, 4 Passed, 5 Vetoed, 6 Failed."
      • changedInput schema / properties / subject / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 200,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / subject / description
        Added value: +"A caption subject, such as Education or Income tax: a search of titles, topic tags, and subjects."
    • Changedbills_lookup6 fields changed
      • addedInput schema / properties / bill / description
        Added value: +"The bill or resolution: HB 136, H.B. 136, House Bill 136, SR 5, 2025-2026/hb136, or a numeric id."
      • addedInput schema / properties / bill / minLength
        Added value: +1
      • addedInput schema / properties / full / description
        Added value: +"Include the optional material the tool describes (for example votes and history, or the notes). Longer."
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 60000,
        +  "description": "Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part.",
        +  "maximum": 200000,
        +  "minimum": 1000,
        +  "title": "Max Chars",
        +  "type": "integer"
        +}
      • addedInput schema / properties / session / description
        Added value: +"The session, named by its years or slug: 2025-2026 (the regular session) or 2026-special. Omit for the default the tool describes."
      • addedInput schema / properties / start
        Added value: +{
        +  "default": 0,
        +  "description": "Where to start, as returned by the previous call's continuation pointer. 0 is the beginning.",
        +  "minimum": 0,
        +  "title": "Start",
        +  "type": "integer"
        +}
    • Changedbills_search8 fields changed
      • addedInput schema / properties / in_headings / description
        Added value: +"Search only titles and headings instead of the full text."
      • addedInput schema / properties / limit / description
        Added value: +"How many results to return, 1 to 40 (default 10)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / query / description
        Added value: +"The words to search for, in the words the document itself would use."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / session / description
        Added value: +"The session, named by its years or slug: 2025-2026 (the regular session) or 2026-special. Omit for the default the tool describes."
    • Changedcode_browse2 fields changed
      • changedInput schema / properties / node / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 40,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / node / description
        Added value: +"A title ('36'), a title and chapter ('36-60'), or nothing for the list of titles."
    • Changedcode_find_act3 fields changed
      • addedInput schema / properties / name / description
        Added value: +"The law's short title as the statute states it: Joshua's Law, Georgia Lemonade Stand Act."
      • addedInput schema / properties / name / maxLength
        Added value: +200
      • addedInput schema / properties / name / minLength
        Added value: +1
    • Changedcode_find_chapter3 fields changed
      • addedInput schema / properties / words / description
        Added value: +"One or two words the Code would use as a heading: 'landlord and tenant', 'power of attorney'."
      • addedInput schema / properties / words / maxLength
        Added value: +200
      • addedInput schema / properties / words / minLength
        Added value: +1
    • Changedcode_get_chapter15 fields changed
      • addedInput schema / properties / chapter / description
        Added value: +"The chapter number within the title, as printed: 5, 11A."
      • addedInput schema / properties / chapter / maxLength
        Added value: +10
      • addedInput schema / properties / chapter / minLength
        Added value: +1
      • changedInput schema / properties / max_chars / default
        Previous value: -100000New value: +60000
      • addedInput schema / properties / max_chars / description
        Added value: +"Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part."
      • addedInput schema / properties / max_chars / maximum
        Added value: +200000
      • addedInput schema / properties / max_chars / minimum
        Added value: +1000
      • addedInput schema / properties / max_sections / description
        Added value: +"Most sections to return in this call, 1 to 200 (default 40)."
      • addedInput schema / properties / max_sections / maximum
        Added value: +200
      • addedInput schema / properties / max_sections / minimum
        Added value: +1
      • addedInput schema / properties / start / description
        Added value: +"How many of the chapter's sections to skip, as the previous call's continuation pointer says. 0 is the first section."
      • addedInput schema / properties / start / minimum
        Added value: +0
      • addedInput schema / properties / title / description
        Added value: +"The title number, 1 to 53 (Title 16 is Crimes and Offenses)."
      • addedInput schema / properties / title / maximum
        Added value: +53
      • addedInput schema / properties / title / minimum
        Added value: +1
    • Changedcode_lookup_section9 fields changed
      • addedInput schema / properties / citation / description
        Added value: +"One Code section in any written form: 44-7-34, O.C.G.A. § 44-7-34, Title 44, Chapter 7, Section 34, or with a subsection, 44-7-34(a)."
      • addedInput schema / properties / citation / maxLength
        Added value: +200
      • addedInput schema / properties / citation / minLength
        Added value: +1
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 60000,
        +  "description": "Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part.",
        +  "maximum": 200000,
        +  "minimum": 1000,
        +  "title": "Max Chars",
        +  "type": "integer"
        +}
      • addedInput schema / properties / start
        Added value: +{
        +  "default": 0,
        +  "description": "Where to start, as returned by the previous call's continuation pointer. 0 is the beginning.",
        +  "minimum": 0,
        +  "title": "Start",
        +  "type": "integer"
        +}
      • changedInput schema / properties / subsection / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 40,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / subsection / description
        Added value: +"One subsection to render alone, by its label: a, a-1, b."
      • changedInput schema / properties / version / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 100,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / version / description
        Added value: +"Which printed version, by words of its effective-date qualifier, when a section is printed in more than one."
    • Changedcode_lookup_sections3 fields changed
      • addedInput schema / properties / citations / description
        Added value: +"A range ('44-7-30 through 44-7-35'), a list ('44-7-30, 44-7-31 and 44-7-34'), or a comma list of citations."
      • addedInput schema / properties / citations / maxLength
        Added value: +2000
      • addedInput schema / properties / citations / minLength
        Added value: +1
    • Changedcode_search13 fields changed
      • changedInput schema / properties / chapter / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 10,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / chapter / description
        Added value: +"Only sections in this chapter of `title` (5, 11A)."
      • addedInput schema / properties / in_headings / description
        Added value: +"Search only titles and headings instead of the full text."
      • addedInput schema / properties / limit / description
        Added value: +"How many results to return, 1 to 40 (default 10)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / query / description
        Added value: +"The words to search for, in the words the document itself would use."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / scheme / description
        Added value: +"Which text to search: ocga (the Official Code of Georgia Annotated, the default), ga (the Constitution of the State of Georgia), or us (the Constitution of the United States)."
      • addedInput schema / properties / scheme / enum
        Added value: +[
        +  "ocga",
        +  "ga",
        +  "us"
        +]
      • changedInput schema / properties / title / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 53,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / title / description
        Added value: +"Only sections in this title of the Code (1 to 53)."
    • Changedconstitution_browse4 fields changed
      • changedInput schema / properties / node / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 20,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / node / description
        Added value: +"An article ('I', 'Art. IV') to list its provisions, or nothing for the outline."
      • addedInput schema / properties / scheme / description
        Added value: +"Which constitution: ga (the Constitution of the State of Georgia) or us (the Constitution of the United States)."
      • addedInput schema / properties / scheme / enum
        Added value: +[
        +  "ga",
        +  "us"
        +]
    • Changedconstitution_lookup7 fields changed
      • addedInput schema / properties / citation / description
        Added value: +"The provision: 'Art. I, Sec. I, Para. I' (Georgia), 'Art. I, Sec. 8' or 'Amend. XIV' (United States), 'Preamble', or a slug such as art-i-sec-i-para-i."
      • addedInput schema / properties / citation / maxLength
        Added value: +200
      • addedInput schema / properties / citation / minLength
        Added value: +1
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 60000,
        +  "description": "Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part.",
        +  "maximum": 200000,
        +  "minimum": 1000,
        +  "title": "Max Chars",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scheme / description
        Added value: +"Which constitution: ga (the Constitution of the State of Georgia) or us (the Constitution of the United States)."
      • addedInput schema / properties / scheme / enum
        Added value: +[
        +  "ga",
        +  "us"
        +]
      • addedInput schema / properties / start
        Added value: +{
        +  "default": 0,
        +  "description": "Where to start, as returned by the previous call's continuation pointer. 0 is the beginning.",
        +  "minimum": 0,
        +  "title": "Start",
        +  "type": "integer"
        +}
    • Changedfetch6 fields changed
      • addedInput schema / properties / full / description
        Added value: +"Include the optional material the tool describes (for example votes and history, or the notes). Longer."
      • addedInput schema / properties / id / description
        Added value: +"A document id from search: code:44-7-34, ga-const:art-i-sec-i-para-i, us-const:amend-xiv, bill:2025-2026/hb136, opinion:S26A0060, or meeting:2026-02-05/house-rules."
      • addedInput schema / properties / id / minLength
        Added value: +1
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 60000,
        +  "description": "Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part.",
        +  "maximum": 200000,
        +  "minimum": 1000,
        +  "title": "Max Chars",
        +  "type": "integer"
        +}
      • addedInput schema / properties / start
        Added value: +{
        +  "default": 0,
        +  "description": "Where to start, as returned by the previous call's continuation pointer. 0 is the beginning.",
        +  "minimum": 0,
        +  "title": "Start",
        +  "type": "integer"
        +}
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "id": {
        -      "title": "Id",
        -      "type": "string"
        -    },
        -    "metadata": {
        -      "additionalProperties": true,
        -      "title": "Metadata",
        -      "type": "object"
        -    },
        -    "text": {
        -      "title": "Text",
        -      "type": "string"
        -    },
        -    "title": {
        -      "title": "Title",
        -      "type": "string"
        -    },
        -    "url": {
        -      "title": "Url",
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "id",
        -    "title",
        -    "text",
        -    "url",
        -    "metadata"
        -  ],
        -  "title": "FetchResult",
        -  "type": "object"
        -}New value: +null
    • Changedmeetings_for_bill3 fields changed
      • addedInput schema / properties / bill / description
        Added value: +"The bill: HB 629, SB 1, or 2025-2026/hb629."
      • addedInput schema / properties / bill / minLength
        Added value: +1
      • addedInput schema / properties / session / description
        Added value: +"The session, named by its years or slug: 2025-2026 (the regular session) or 2026-special. Omit for the default the tool describes."
    • Changedmeetings_get_transcript7 fields changed
      • addedInput schema / properties / max_chars / description
        Added value: +"Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part."
      • addedInput schema / properties / max_chars / maximum
        Added value: +200000
      • addedInput schema / properties / max_chars / minimum
        Added value: +1000
      • addedInput schema / properties / meeting / description
        Added value: +"The meeting: its address (2026-02-05/house-rules), the General Assembly's video id or URL, or a body and a date (House Rules 2/5/2026)."
      • addedInput schema / properties / meeting / minLength
        Added value: +1
      • addedInput schema / properties / start / description
        Added value: +"Where to start, as returned by the previous call's continuation pointer. 0 is the beginning."
      • addedInput schema / properties / start / minimum
        Added value: +0
    • Changedmeetings_list14 fields changed
      • changedInput schema / properties / body / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 100,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / body / description
        Added value: +"One body by its slug (house-rules, senate-judiciary, house-floor) or its name."
      • changedInput schema / properties / chamber / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "house",
        +      "senate"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / chamber / description
        Added value: +"Chamber: house or senate."
      • addedInput schema / properties / date / description
        Added value: +"One day, written YYYY-MM-DD (2026-02-05)."
      • changedInput schema / properties / kind / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "floor",
        +      "committee",
        +      "rules"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / kind / description
        Added value: +"Kind of meeting: floor (a floor session), committee (a standing committee), or rules (the Rules Committee)."
      • addedInput schema / properties / limit / description
        Added value: +"How many entries per page, 1 to 40 (default 25)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / start / description
        Added value: +"How many entries to skip, as returned by the previous call's continuation pointer. 0 is the first page."
      • addedInput schema / properties / start / minimum
        Added value: +0
      • changedInput schema / properties / year / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 2100,
        +    "minimum": 2026,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / year / description
        Added value: +"One year (meetings are held from 2026 on)."
    • Changedmeetings_lookup4 fields changed
      • addedInput schema / properties / meeting / description
        Added value: +"The meeting: its address (2026-02-05/house-rules), the General Assembly's video id or URL, or a body and a date (House Rules 2/5/2026)."
      • addedInput schema / properties / meeting / minLength
        Added value: +1
      • changedInput schema / properties / start / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / start / description
        Added value: +"A character offset into the transcript: returns that part of the transcript alone instead of the meeting with its summaries."
    • Changedmeetings_search13 fields changed
      • changedInput schema / properties / body / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 100,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / body / description
        Added value: +"Only this body, by its slug (house-rules, senate-judiciary)."
      • changedInput schema / properties / chamber / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "house",
        +      "senate"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / chamber / description
        Added value: +"Chamber: house or senate."
      • addedInput schema / properties / in_headings / description
        Added value: +"Search only titles and headings instead of the full text."
      • changedInput schema / properties / kind / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "floor",
        +      "committee",
        +      "rules"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / kind / description
        Added value: +"Kind of meeting: floor (a floor session), committee (a standing committee), or rules (the Rules Committee)."
      • addedInput schema / properties / limit / description
        Added value: +"How many results to return, 1 to 40 (default 10)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / query / description
        Added value: +"The words to search for, in the words the document itself would use."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
    • Changedopinions_get_text7 fields changed
      • addedInput schema / properties / max_chars / description
        Added value: +"Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part."
      • addedInput schema / properties / max_chars / maximum
        Added value: +200000
      • addedInput schema / properties / max_chars / minimum
        Added value: +1000
      • addedInput schema / properties / opinion / description
        Added value: +"The opinion: a docket number (S23A0421), a reporter citation (317 Ga. 528), a record id, or a case name."
      • addedInput schema / properties / opinion / minLength
        Added value: +1
      • addedInput schema / properties / start / description
        Added value: +"Where to start, as returned by the previous call's continuation pointer. 0 is the beginning."
      • addedInput schema / properties / start / minimum
        Added value: +0
    • Changedopinions_list11 fields changed
      • changedInput schema / properties / case_type / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "criminal appeal",
        +      "civil",
        +      "bar discipline",
        +      "habeas",
        +      "certified question",
        +      "election",
        +      "other"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / case_type / description
        Added value: +"Kind of case: criminal appeal, civil, bar discipline, habeas, certified question, election, or other."
      • addedInput schema / properties / limit / description
        Added value: +"How many entries per page, 1 to 40 (default 25)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / q / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 500,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / q / description
        Added value: +"Words every listed opinion must contain."
      • addedInput schema / properties / start / description
        Added value: +"How many entries to skip, as returned by the previous call's continuation pointer. 0 is the first page."
      • addedInput schema / properties / start / minimum
        Added value: +0
      • changedInput schema / properties / year / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 2100,
        +    "minimum": 2000,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / year / description
        Added value: +"The year filed (opinions are held from 2020 on). Omit for the newest year."
    • Changedopinions_lookup5 fields changed
      • addedInput schema / properties / full / description
        Added value: +"Include the optional material the tool describes (for example votes and history, or the notes). Longer."
      • addedInput schema / properties / max_chars
        Added value: +{
        +  "default": 60000,
        +  "description": "Most characters to return in this call, 1,000 to 200,000 (default 60,000). A longer document ends with a pointer to the next part.",
        +  "maximum": 200000,
        +  "minimum": 1000,
        +  "title": "Max Chars",
        +  "type": "integer"
        +}
      • addedInput schema / properties / opinion / description
        Added value: +"The opinion: a docket number (S23A0421), a reporter citation (317 Ga. 528), a record id, or a case name."
      • addedInput schema / properties / opinion / minLength
        Added value: +1
      • addedInput schema / properties / start
        Added value: +{
        +  "default": 0,
        +  "description": "Where to start, as returned by the previous call's continuation pointer. 0 is the beginning.",
        +  "minimum": 0,
        +  "title": "Start",
        +  "type": "integer"
        +}
    • Changedopinions_search11 fields changed
      • changedInput schema / properties / case_type / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "criminal appeal",
        +      "civil",
        +      "bar discipline",
        +      "habeas",
        +      "certified question",
        +      "election",
        +      "other"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / case_type / description
        Added value: +"Kind of case: criminal appeal, civil, bar discipline, habeas, certified question, election, or other."
      • addedInput schema / properties / in_headings / description
        Added value: +"Search only titles and headings instead of the full text."
      • addedInput schema / properties / limit / description
        Added value: +"How many results to return, 1 to 40 (default 10)."
      • addedInput schema / properties / limit / maximum
        Added value: +40
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / query / description
        Added value: +"The words to search for, in the words the document itself would use."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • changedInput schema / properties / year / anyOf
        Previous value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maximum": 2100,
        +    "minimum": 2000,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / year / description
        Added value: +"Only opinions filed in this year."
    • Changedsearch4 fields changed
      • changedInput schema / properties / collection / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "code",
        +      "bills",
        +      "opinions",
        +      "meetings"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / collection / description
        Added value: +"Search one collection only: code (the Georgia Code and the two constitutions), bills, opinions, or meetings. Omit to search all four."
      • addedInput schema / properties / query / description
        Added value: +"Words, a citation (44-7-34), a bill number (HB 136), or a docket (S23A0421). Search matches the words of the document."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
    • Changedverify_quote5 fields changed
      • addedInput schema / properties / id / description
        Added value: +"The document's id, as search and fetch return it: code:44-7-34, bill:2025-2026/hb136, opinion:S26A0060, meeting:2026-02-05/house-rules."
      • addedInput schema / properties / id / minLength
        Added value: +1
      • addedInput schema / properties / quote / description
        Added value: +"The quotation to check, at least 12 characters and at most 4,000."
      • addedInput schema / properties / quote / maxLength
        Added value: +4000
      • addedInput schema / properties / quote / minLength
        Added value: +1
  3. 5 tool updates
    • Addedmeetings_for_bill
    • Addedmeetings_get_transcript
    • Addedmeetings_list
    • Addedmeetings_lookup
    • Addedmeetings_search

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to retrieve Official Code of Georgia Annotated statutory text by citation or full-text topic search, returning section status, catchlines, editor's notes, cross references, and every stored historical version along with the enacting and amending Acts. Keyless and requires no signup, with citation parsing and error handling delegated to the upstream Georgia Commons API.
    446 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and developers to look up zoning, land-use, and development records for Gwinnett County, Georgia through five public read-only tools: resolving an address to its actual governing jurisdiction, searching and retrieving county zoning cases, fetching ordinance code sections, and listing jurisdictions. It exposes the same operations over a REST API so questions about setbacks, permits, and case histories can be answered from indexed source records rather than guesses.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching US state bills by keyword, sponsor, committee, status, or chamber, and searching speaker-attributed committee hearing testimony across all 50 states and DC. Also retrieves full bill details, hearing transcripts, speaker activity histories, and the list of states with available data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources