mcpField
I
Indiana Code

Indiana Code

Remote
mcp.openindianalaw.orgLegal & Government0Updated 1d ago

About Indiana Code

Indiana Code is an unofficial MCP server for searching dated Indiana statutes, companion legal materials, and appellate opinions. It is intended for access and research, not legal advice; citations should be verified with the Indiana General Assembly.

Key features

  1. 01Full-text statute search
  2. 02Citation extraction and resolution
  3. 03Sections by date and version
  4. 04Browse code structure and public acts
  5. 05Search companion documents and court rules
  6. 06Search appellate cases and citation mentions

Use cases

  1. 01Find a statute section as of a particular date
  2. 02Trace opinions that mention a Code section
  3. 03Search companion PDFs and court rules
  4. 04Review Indiana appellate opinion text

MCP support

Exposes Indiana Code, companion materials, and appellate-case search tools to MCP clients over stdio or Streamable HTTP. Responses include snapshot dates and an unofficial-status disclaimer.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.openindianalaw.org/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Indiana Code MCP

Public home: Open Indiana Law (open-indiana-law/indiana-code). Unofficial MCP: mcp.openindianalaw.org (/mcp). This copy is unofficial and is not legal advice.

Dated, unofficial copies of Indiana legal text as a local MCP server. Structured Indiana Code for 2017–2026; official IGA companions as far back as IGA publishes them; current court-rules PDFs; Indiana appellate clusters with opinion bodies when Harvard CAP or official court PDFs supplied them.

This is an access layer, not an official publication, and not legal advice. Verify every citation at iga.in.gov.

The older IGA-API / opinions server in src/mcp_server.py is historical and is not wired to any database. Use python -m indiana_law.mcp_server.

Tools

ToolWhat it does
ic_searchFull-text search (optional year / title)
ic_resolve_citationPull IC citations out of free text
ic_get_sectionSection text as of a date
ic_get_versionsEvery loaded version of a section
ic_browseTitles → articles → chapters → sections
ic_get_actCode targets of a public law (P.L.98-2026)
ic_list_companionConstitution, Non-code, Acts, archive titles, historical tables, court rules (when loaded)
ic_search_companionFull-text search of those companion PDFs
ic_get_companionOne page of a companion PDF
case_searchIndiana appellate clusters (Harvard CAP / official court PDFs when present); optional form filter
case_getOne cluster, with opinion text only when a body was ingested; includes text-classified decision form when indexed
ic_cases_citingOpinions whose text mentions a Code section (not a citator; not treatment)
cases_citing_caseOpinions whose text cites a case (reporter or Rule 22 number; federal/sister-state cites stay unresolved; not a citator)
cases_cited_inCases cited in one opinion (resolved Indiana clusters plus unresolved outbound mentions)
cases_citing_courtIndiana opinions with a (court year) parenthetical such as (7th Cir. 2021) or (N.D. Ind. 2019)

Every answer includes unofficial, snapshot, dates, flags, and a disclaimer.

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

# Point at a built store (this checkout already has one):
export INDIANA_LAW_DB="$PWD/data/store/indiana-code.db"

Rebuild from the official JSONL already on disk: docs/REBUILD.md. Coverage limits: NOT_COVERED.md.

python -m pytest tests
INDIANA_LAW_DB=data/store/indiana-code.db python scripts/smoke_mcp.py

Run the MCP server (stdio)

export INDIANA_LAW_DB=/absolute/path/to/indiana-code.db
python -m indiana_law.mcp_server
Cursor

Add to ~/.cursor/mcp.json (or the project MCP config):

{
  "mcpServers": {
    "indiana-code": {
      "command": "python",
      "args": ["-m", "indiana_law.mcp_server"],
      "env": {
        "INDIANA_LAW_DB": "/absolute/path/to/indiana-code.db",
        "PYTHONPATH": "/absolute/path/to/indiana-law/src"
      }
    }
  }
}

If you installed the package into a venv, use that venv's python and you can drop PYTHONPATH.

Claude Desktop / Claude Code
{
  "mcpServers": {
    "indiana-code": {
      "command": "python",
      "args": ["-m", "indiana_law.mcp_server"],
      "env": {
        "INDIANA_LAW_DB": "/absolute/path/to/indiana-code.db",
        "PYTHONPATH": "/absolute/path/to/indiana-law/src"
      }
    }
  }
}

Streamable HTTP (local)

INDIANA_LAW_TRANSPORT=streamable-http INDIANA_LAW_PORT=8765 \
  python -m indiana_law.mcp_server

Hosted streamable HTTP (unofficial; not legal advice): https://mcp.openindianalaw.org/mcp. Landing, terms, and privacy are on /, /terms, and /privacy. Directory listing packet (not submitted): docs/LISTING.md. See docs/DEPLOY.md.

Usage counts (optional, off by default)

A host can count how often each tool is used. Set INDIANA_LAW_USAGE_DB to a file path and the server records, per UTC day and per tool, only the number of calls and errors. It never sees or stores IP addresses, queries, arguments, results or session ids, so the totals cannot identify anyone, and a failure to write a count never breaks a tool. Read the totals with python -m indiana_law.usage /path/to/usage.sqlite.

Source

Annual HTML zips from the Indiana General Assembly. This project does not use the IGA API. Schema: docs/DESIGN-schema-v1.md.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.