Skip to content

Georgia Commons

by georgiacommons.org · remote · no sign-in to list tools · v0.1.0 · published by org.georgiacommons

Georgia's Code, bills, and Supreme Court opinions as source text. Independent, not the State.

Changes · 3

23 tools: 3 change things and 20 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http georgia-commons https://mcp.georgiacommons.org/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "describe_site" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "describe_site" says "describe": a word for reading.

    What this check looks for
  • The server marks "code_describe_structure" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "code_describe_structure" says "describe": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Changes things 3Claude Code: ask
  • code_describe_structureCall first for the Code.1 finding

    Why it is in this group

    • The name "code_describe_structure" says "describe": a word for reading.
    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "code_describe_structure" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "code_describe_structure" says "describe": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Call first for the Code. The citation grammar, how to find a section without its citation, how versions and statuses work, what is and is not in the text, and the list of titles. Cheap.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • describe_siteCall first.1 finding

    Why it is in this group

    • The name "describe_site" says "describe": a word for reading.
    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "describe_site" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "describe_site" says "describe": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Call first. What Georgia Commons holds, which collections this server has loaded, the id and URL grammar, which tool to call next, and the independence statement. Cheap.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_quoteWhether a quote appears verbatim in the stored text of a document (after normalizing quotes, dashes, whitespace, and [T]he-style alterations, as the ingestion filter does).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Whether a quote appears verbatim in the stored text of a document (after normalizing quotes, dashes, whitespace, and [T]he-style alterations, as the ingestion filter does). Deterministic; use it before relying on a quotation.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 20Claude Code: allow
  • bills_get_textThe stored text of a bill alone, windowed by `start` and `max_chars` (default 60,000), with a pointer to continue.No findings

    Why it is in this group

    • The name "bills_get_text" says "get": a word for reading.
    Description, as the server wrote it
    The stored text of a bill alone, windowed by `start` and `max_chars` (default 60,000), with a pointer to continue.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • bills_listThe bills of a session (the newest when `session` is omitted), in number order, 25 a page: `id, title, status, URL`.No findings

    Why it is in this group

    • The name "bills_list" says "list": a word for reading.
    Description, as the server wrote it
    The bills of a session (the newest when `session` is omitted), in number order, 25 a page: `id, title, status, URL`. Filter by `kind` (hb, sb, hr, sr), `chamber` (H or S), `status` code (1 Introduced, 2 Engrossed, 3 Enrolled, 4 Passed, 5 Vetoed, 6 Failed), a caption `subject` (a headings search), or words `q`.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • bills_lookupOne bill or resolution of the Georgia General Assembly by number in any written form (HB 136, H.B.No findings

    Why it is in this group

    • The name "bills_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    One bill or resolution of the Georgia General Assembly by number in any written form (HB 136, H.B. 136, House Bill 136, 2025-2026/hb136, a numeric id), as the same Markdown twin the site serves: frontmatter (cite_as, canonical_url, source_url, status), the verbatim text, the summaries Georgia Commons wrote under a heading that says so, and status. With no `session`, a number means the newest regular session that has it; name the session (2026-special) for a special session's bill that shares its number. `full` adds the history, the floor votes with how each member voted, the amendments, and every document the legislature lists.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_browseThe hierarchy: the titles (no argument), a title's chapters ('36'), or a chapter's sections ('36-60'), one line each with counts, citation spans, and twin URLs.No findings

    Why it is in this group

    • The name "code_browse" says "browse": a word for reading.
    Description, as the server wrote it
    The hierarchy: the titles (no argument), a title's chapters ('36'), or a chapter's sections ('36-60'), one line each with counts, citation spans, and twin URLs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_find_actLaws by the short title the statute states ('Joshua's Law', 'Georgia Lemonade Stand Act'): the citing section and the unit the name covers.No findings

    Why it is in this group

    • The name "code_find_act" says "find": a word for reading.
    Description, as the server wrote it
    Laws by the short title the statute states ('Joshua's Law', 'Georgia Lemonade Stand Act'): the citing section and the unit the name covers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_find_chapterFor 'I know the topic but not the citation': the titles, chapters, articles, and parts whose headings carry the words, with the code_browse call that lists each.No findings

    Why it is in this group

    • The name "code_find_chapter" says "find": a word for reading.
    Description, as the server wrote it
    For 'I know the topic but not the citation': the titles, chapters, articles, and parts whose headings carry the words, with the code_browse call that lists each.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_get_chapterEvery section of a chapter with its text, in order, windowed by max_sections (default 40) and max_chars (default 100,000); the output ends with a pointer to continue or 'End of cha…No findings

    Why it is in this group

    • The name "code_get_chapter" says "get": a word for reading.
    Description, as the server wrote it
    Every section of a chapter with its text, in order, windowed by max_sections (default 40) and max_chars (default 100,000); the output ends with a pointer to continue or 'End of chapter.'

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_lookup_sectionOne Code section by citation in any written form (44-7-34, 'O.C.G.A.No findings

    Why it is in this group

    • The name "code_lookup_section" says "lookup": a word for reading.
    Description, as the server wrote it
    One Code section by citation in any written form (44-7-34, 'O.C.G.A. § 44-7-34', 'Title 44, Chapter 7, Section 34'), as the same Markdown twin the site serves: frontmatter (cite_as, canonical_url, source_url, status, version), the verbatim text, then the notes capped. `version` picks a printed version by its qualifier; `subsection` ('a', 'a-1') renders one part. A 404 names the neighboring sections.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • code_lookup_sectionsSeveral sections at once: a list ('44-7-30, 44-7-31 and 44-7-34') or a range ('44-7-30 through 44-7-35'), up to 40 sections under a 150,000-character cap, with a trailer naming any…No findings

    Why it is in this group

    • The name "code_lookup_sections" says "lookup": a word for reading.
    Description, as the server wrote it
    Several sections at once: a list ('44-7-30, 44-7-31 and 44-7-34') or a range ('44-7-30 through 44-7-35'), up to 40 sections under a 150,000-character cap, with a trailer naming anything not rendered.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • constitution_browseThe articles and sections of a constitution ('ga' or 'us'), or one article's provisions, one line each with twin URLs.No findings

    Why it is in this group

    • The name "constitution_browse" says "browse": a word for reading.
    Description, as the server wrote it
    The articles and sections of a constitution ('ga' or 'us'), or one article's provisions, one line each with twin URLs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • constitution_lookupOne provision of the Georgia ('ga') or United States ('us') constitution as printed in the O.C.G.A., by citation ('Art.No findings

    Why it is in this group

    • The name "constitution_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    One provision of the Georgia ('ga') or United States ('us') constitution as printed in the O.C.G.A., by citation ('Art. I, Sec. I, Para. I', 'Amend. XIV', 'Preamble') or slug, as its Markdown twin with the case annotations capped.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fetchThe full document for an id from search (code:44-7-34, ga-const:art-i-sec-i-para-i, bill:2025-2026/hb136, opinion:S26A0060): the same Markdown twin the site serves at url plus .md …No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    The full document for an id from search (code:44-7-34, ga-const:art-i-sec-i-para-i, bill:2025-2026/hb136, opinion:S26A0060): the same Markdown twin the site serves at url plus .md (frontmatter, verbatim text, any summaries under a heading that names them), with url the canonical page for citation and metadata from the frontmatter. `full` adds the optional material, or for the Code and constitutions the first 60,000-character page of the notes, whose frontmatter names the next page.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_coverageExactly what is loaded, computed from the stores now: coverage sentences, corpus versions, counts, sessions, years, dates, licenses.No findings

    Why it is in this group

    • The name "get_coverage" says "get": a word for reading.
    Description, as the server wrote it
    Exactly what is loaded, computed from the stores now: coverage sentences, corpus versions, counts, sessions, years, dates, licenses.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • opinions_get_textThe stored text of an opinion alone, windowed by `start` and `max_chars` (default 60,000), with a pointer to continue.No findings

    Why it is in this group

    • The name "opinions_get_text" says "get": a word for reading.
    Description, as the server wrote it
    The stored text of an opinion alone, windowed by `start` and `max_chars` (default 60,000), with a pointer to continue.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • opinions_listThe opinions filed in a year (the newest year when omitted), in filing order, 25 a page: `docket, date, case name, case type, URL`.No findings

    Why it is in this group

    • The name "opinions_list" says "list": a word for reading.
    Description, as the server wrote it
    The opinions filed in a year (the newest year when omitted), in filing order, 25 a page: `docket, date, case name, case type, URL`. Filter by `case_type` (criminal appeal, civil, bar discipline, habeas, certified question, election, other) or words `q`.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • opinions_lookupOne Supreme Court of Georgia opinion by docket in any case (S23A0421), reporter citation (317 Ga.No findings

    Why it is in this group

    • The name "opinions_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    One Supreme Court of Georgia opinion by docket in any case (S23A0421), reporter citation (317 Ga. 528, 883 S.E.2d 746), record id (a CourtListener cluster id, or ga- and the docket for a record read from the court's own website), or case name, as the same Markdown twin the site serves: frontmatter (cite_as, canonical_url, source_url, record_source, date, status), the verbatim opinion, then the summaries Georgia Commons wrote under a heading that says so. When several opinions share a docket this is the most recent and the frontmatter lists the others. `full` adds the summarized reasoning, checked quotes, and the upstream opinion records.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http georgia-commons https://mcp.georgiacommons.org/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__georgia-commons__get_coverage",
      "mcp__georgia-commons__search",
      "mcp__georgia-commons__fetch",
      "mcp__georgia-commons__opinions_lookup",
      "mcp__georgia-commons__opinions_get_text",
      "mcp__georgia-commons__opinions_list",
      "mcp__georgia-commons__opinions_search",
      "mcp__georgia-commons__bills_lookup",
      "mcp__georgia-commons__bills_get_text",
      "mcp__georgia-commons__bills_list",
      "mcp__georgia-commons__bills_search",
      "mcp__georgia-commons__code_lookup_section",
      "mcp__georgia-commons__code_lookup_sections",
      "mcp__georgia-commons__code_browse",
      "mcp__georgia-commons__code_get_chapter",
      "mcp__georgia-commons__code_search",
      "mcp__georgia-commons__code_find_chapter",
      "mcp__georgia-commons__code_find_act",
      "mcp__georgia-commons__constitution_lookup",
      "mcp__georgia-commons__constitution_browse"
    ],
    "ask": [
      "mcp__georgia-commons__describe_site",
      "mcp__georgia-commons__verify_quote",
      "mcp__georgia-commons__code_describe_structure"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as georgia-commons. Review it before you use it.