Indiana Code

Registre officiel Outils de développement

Search unofficial Indiana Code, IGA companions, and appellate cases. Not legal advice.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http indiana-code 'https://mcp.openindianalaw.org/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "indiana-code": {
            "type": "http",
            "url": "https://mcp.openindianalaw.org/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Indiana Code MCP
  2. Tools
  3. Setup
  4. Run the MCP server (stdio)
  5. Streamable HTTP (local)
  6. Usage counts (optional, off by default)
  7. Source

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.

Questions fréquentes

Qu'est-ce que Indiana Code ?

Search unofficial Indiana Code, IGA companions, and appellate cases. Not legal advice.

Comment installer Indiana Code ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http indiana-code 'https://mcp.openindianalaw.org/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Indiana Code ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Indiana Code est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient Indiana Code ?

Il est publié par open-indiana-law. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.