mi_admin_rule

Pack: michigan-code · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/mi_admin_rule for the schema, then POST the same URL with its arguments for the data.

Get the FULL TEXT of a rule from the Michigan Administrative Code — agency rules that implement Michigan statutes (licensing, health, safety, and other department regulations), by citation like “R 400.4142”. Different from mi_compiled_law, which serves only statutes (MCL). Currently indexes the rule sets listed in rule_sets_covered on a miss; a citation outside those is reported as not-yet-indexed, not as nonexistent. Example: “R 400.4142” is the Child Caring Institutions rule on health-service policies, including medication storage and dispensing. Keyless.

Parameters

NameTypeRequiredDescription
citationstringyesRule citation, e.g. “R 400.4142” or “400.4142”. The part before the dot is the chapter.

Example call

Arguments

{
  "citation": "R 400.4142"
}

curl

curl -X POST https://gateway.pipeworx.io/michigan-code/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mi_admin_rule","arguments":{"citation":"R 400.4142"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('mi_admin_rule', {
  "citation": "R 400.4142"
});

Response shape

FieldTypeDescription
foundbooleanFalse when the citation is unparsed, not indexed, or has no stored text yet.
citationstringThe rule citation, e.g. “R 400.4142”.
chapterstringThe part of the citation before the dot, e.g. “400”.
rulestringThe rule number, e.g. “4142”.
headingstring | nullThe rule’s title line.
textstringFull rule text.
text_charsnumber
rule_setstringThe department rule-set booklet this rule belongs to.
publicationstring | nullThe booklet’s publication id, e.g. “BCAL-Pub-452”.
urlstring | null
sourcestring
attributionstring
served_fromstring”stored-copy” when answered from the baked R2 copy.
data_as_ofstring
reasonstringOn a miss: “unparsed_citation” | “unavailable” | “rule_not_found” | “not_indexed”.
messagestring
hintstring
rule_sets_coveredarrayPresent on a miss: which rule sets this pack indexes.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean",
      "description": "False when the citation is unparsed, not indexed, or has no stored text yet."
    },
    "citation": {
      "type": "string",
      "description": "The rule citation, e.g. \"R 400.4142\"."
    },
    "chapter": {
      "type": "string",
      "description": "The part of the citation before the dot, e.g. \"400\"."
    },
    "rule": {
      "type": "string",
      "description": "The rule number, e.g. \"4142\"."
    },
    "heading": {
      "type": [
        "string",
        "null"
      ],
      "description": "The rule's title line."
    },
    "text": {
      "type": "string",
      "description": "Full rule text."
    },
    "text_chars": {
      "type": "number"
    },
    "rule_set": {
      "type": "string",
      "description": "The department rule-set booklet this rule belongs to."
    },
    "publication": {
      "type": [
        "string",
        "null"
      ],
      "description": "The booklet's publication id, e.g. \"BCAL-Pub-452\"."
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "source": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    },
    "served_from": {
      "type": "string",
      "description": "\"stored-copy\" when answered from the baked R2 copy."
    },
    "data_as_of": {
      "type": "string"
    },
    "reason": {
      "type": "string",
      "description": "On a miss: \"unparsed_citation\" | \"unavailable\" | \"rule_not_found\" | \"not_indexed\"."
    },
    "message": {
      "type": "string"
    },
    "hint": {
      "type": "string"
    },
    "rule_sets_covered": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Present on a miss: which rule sets this pack indexes."
    }
  },
  "additionalProperties": true
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the michigan-code pack
{
  "mcpServers": {
    "michigan-code": {
      "url": "https://gateway.pipeworx.io/michigan-code/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build November 2, 2026