# `org.openindianalaw/indiana-code` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/org.openindianalaw/indiana-code
- JSON: https://anlyon.dev/api/v1/servers/org.openindianalaw/indiana-code
- Version: 0.1.0 (active)
- Publisher: org.openindianalaw (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Repository: https://github.com/open-indiana-law/indiana-code
- Metadata from the official MCP Registry, synced 2026-10-26T05:17:58.174Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Indiana Code
Search unofficial Indiana Code, IGA companions, and appellate cases. Not legal advice.
```

Scanned 2026-10-26T05:18:14.464Z over streamable-http.

**16 tools: 5 change things and 11 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 5 | ask |
| Only reads | read | 11 | allow |

## Exfil surface

No private-data -> untrusted-input -> outbound path in this server alone: no tool is tagged outbound.

| Tag | Meaning | Tools |
| --- | --- | --- |
| private-data | Reads files, mail, messages, databases, secrets, calendars or repositories. | `mcp__indiana-code__ic_get_companion` |
| untrusted-input | Brings in text someone else can write: web pages, inbound email, messages, issues and comments. | `mcp__indiana-code__ic_browse` |
| outbound | Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL. | none |

## Findings

No check matched anything in these tool definitions.


## Changes things (5)

Creates or changes something that can be changed back. Claude Code: ask.

### `cases_cited_in`

- 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:

```untrusted-server-text
Cases this opinion's text cites, resolved against Harvard reporter identifiers and Rule 22 case numbers. query is a cluster id, reporter cite, or case number. Unresolved federal and sister-state reporter mentions are listed separately. Text-mention index only: not a citator, not treatment, not good law.
```

### `cases_citing_case`

- 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:

```untrusted-server-text
Opinions whose text cites this case. query is a CourtListener cluster id, a reporter cite such as '848 N.E.2d 341', or an Indiana case number such as '22A-CT-925'. Text-mention index only: not a citator, not treatment, not good law. court is ind, indctapp, or indtc.
```

### `cases_citing_court`

- 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:

```untrusted-server-text
Indiana opinions whose text has a (court year) parenthetical. court is an Indigo-style abbreviation such as '7th Cir.', 'N.D. Ind.', 'S.D. Ind.', or 'Ill.'. year is optional (2021). citing_court filters the citing Indiana court (ind, indctapp, indtc). Text-mention index only: not a citator, not treatment, not good law.
```

### `cases_construing`

- 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:

```untrusted-server-text
Opinions with a citation-sentence signal for this Code section. relation is construes or applies. section_id like '35-42-1-1'. Status is rule_unreviewed: not a holding, not a citator, not good law. court is ind, indctapp, or indtc.
```

### `ic_cases_citing`

- 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:

```untrusted-server-text
Opinions whose text mentions this Code section (IC / Ind. Code citations). section_id like '35-42-1-1'. This is a text-mention index, not a citator: it does not say the case construed, applied, or followed the statute, and it is not a good-law signal. court is ind, indctapp, or indtc.
```

## Only reads (11)

Looks things up and changes nothing. Claude Code: allow.

### `case_get`

- The name "case_get" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
One Indiana opinion cluster by CourtListener cluster id. Includes opinion text only when the extract has a body. Includes author when that index is loaded: the slip byline, not the trial judge and not a holding.
```

### `case_search`

- The name "case_search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search Indiana Supreme Court, Court of Appeals, and Tax Court clusters from a CourtListener extract. court is ind, indctapp, or indtc. form is memorandum or opinion when decision forms are indexed (text classification, not official status). disposition is affirmed, reversed, remanded, vacated, dismissed, mixed, or unlabeled when that index is loaded. A single label also matches a mixed closing that includes it. The label is a rule read of the closing line, not an official judgment. standard is de_novo, abuse_of_discretion, clearly_erroneous, sufficiency, prima_facie_error, substantial_evidence, or arbitrary_or_capricious when that index is loaded. Plain words such as 'de novo' are accepted. A standard is a rule read of a sentence that states it, not a ruling on which standard governs. separate is concurs, dissents, concurs_in_part, dissents_in_part, concurs_in_result, transfer_dissent, or joins when that index is loaded. That label is the slip's own "with separate opinion" vote line, not a holding. author is the slip byline name, or per_curiam, when that index is loaded. Most hits are metadata only.
```

### `ic_browse`

- The name "ic_browse" says "browse": a word for reading.
- Tag untrusted-input: The name "ic_browse" says "browse": it reads web pages, which anyone can write.

Description, as the server wrote it:

```untrusted-server-text
Outline of the Code. With no node_id, list titles; with '31' list articles; with '31-16' chapters; with '31-16-15' sections (latest snapshot).
```

### `ic_get_act`

- The name "ic_get_act" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
The Code sections an act amended, added or repealed, with effective dates. act_id like 'P.L.98-2026' (loaded for 2017 and 2019 to 2026). Long acts are paged with limit and offset.
```

### `ic_get_companion`

- The name "ic_get_companion" says "get": a word for reading.
- Tag private-data: The description's first sentence says "document": it reads documents.

Description, as the server wrote it:

```untrusted-server-text
One page of a companion document (doc_id like 'constitution-2026' or 'acts-2026'). Pages are 1-based.
```

### `ic_get_section`

- The name "ic_get_section" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Text of one section, e.g. section_id '31-16-15-25', as of a date (YYYY-MM-DD, default today). Returns the version in force with
        effective dates, amending acts, acts that take effect later (pending_acts), a confidence level and flags. Check `flags` and
        `confidence` before relying on a date between January and June.
```

### `ic_get_versions`

- The name "ic_get_versions" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
All distinct versions of a section across 2017 to 2026 with effective dates, the years each appeared in, and the act clauses that touch it.
```

### `ic_list_companion`

- The name "ic_list_companion" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List Constitution, Non-code, full Acts, and archive-title PDFs loaded from the IGA downloads page. kind is constitution, noncode, acts, or archive_title.
```

### `ic_resolve_citation`

- The name "ic_resolve_citation" says "resolve": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find Indiana Code citations in free text ('IC 31-16-15-25', 'I.C. § 7.1-1-1-1', 'Ind. Code § 35-42-1-1 (2024)') and return canonical
        section ids, headings, and nearby sections when an id does not exist.
```

### `ic_search`

- The name "ic_search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Full-text search of Indiana Code sections. Returns section ids, headings and short snippets (one hit per section); fetch the text
        with ic_get_section. `as_of` (YYYY-MM-DD) picks the year's snapshot; `title` limits to one title number such as '31' or '7.1'.
```

### `ic_search_companion`

- The name "ic_search_companion" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Full-text search of companion PDFs (Constitution, Non-code statutes, full Acts text, archive titles). Use ic_get_companion for a page.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `indiana-code`:

```json
{
  "permissions": {
    "allow": [
      "mcp__indiana-code__ic_search",
      "mcp__indiana-code__ic_resolve_citation",
      "mcp__indiana-code__ic_get_section",
      "mcp__indiana-code__ic_get_versions",
      "mcp__indiana-code__ic_browse",
      "mcp__indiana-code__ic_get_act",
      "mcp__indiana-code__ic_list_companion",
      "mcp__indiana-code__ic_search_companion",
      "mcp__indiana-code__ic_get_companion",
      "mcp__indiana-code__case_search",
      "mcp__indiana-code__case_get"
    ],
    "ask": [
      "mcp__indiana-code__ic_cases_citing",
      "mcp__indiana-code__cases_construing",
      "mcp__indiana-code__cases_citing_case",
      "mcp__indiana-code__cases_cited_in",
      "mcp__indiana-code__cases_citing_court"
    ],
    "deny": []
  }
}
```

Capability tags behind the rules (a read tagged outbound is asked about):

- `mcp__indiana-code__ic_browse`: untrusted-input
- `mcp__indiana-code__ic_get_companion`: private-data
