Skip to main content
Glama
michnaugh1

michigan-law-mcp

by michnaugh1

get_document

Retrieve full text, notes, status, and provenance for a Michigan statute, court rule, evidence rule, or constitutional provision by citation, optionally as of a past date.

Instructions

Get the full text of one Michigan legal provision by citation.

citation: "MCL 750.83", "MCR 6.110", "MRE 404", or "Const 1963, art 1, § 17". Subdivisions like (1)(a) are ignored; the whole section is returned. as_of: optional YYYY-MM-DD. Returns the version this server had observed by that date. This is observation history, not a legal effective date, and only goes back to this server's first ingest. Returns text, catchline, history note, compiler's notes (including Admin Rule and Constitutionality notes when the source has them), status, and provenance (source URL, last confirmed, and the source's own "complete through PA n of year" stamp). If the source lists another form of the same citation (for example an amended version that takes effect on a future date) it appears under other_forms with its effective date; that text is NOT the law currently in force unless its notice says so. A citation that falls inside a repealed range gets an explanatory error naming the range.

Input Schema

NameRequiredDescriptionDefault
as_ofNo
citationYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does so richly: what is returned (text, catchline, history note, compiler's notes, status, provenance), the meaning of as_of (observation history, not legal effective date, bounded by first ingest), how other_forms work (not the law in force unless its notice says so), and the repealed-range error behavior. This goes well beyond what a mutation/read annotation would say.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but organized, with each paragraph covering a distinct concern (citation format, as_of semantics, return shape, other_forms caveat, error case). The as_of and other_forms passages are lengthy but earn their place given the ambiguity they resolve; slightly overlong only in the compiler's-notes enumeration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description need not explain return values, yet it usefully names the fields and clarifies the tricky as_of and other_forms semantics that the output schema alone would not disambiguate. For a 2-param, read-only lookup tool with no annotations, it is complete enough to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: it defines citation format with examples, states that subdivisions are ignored and the whole section is returned, and specifies as_of as optional YYYY-MM-DD with its exact semantics. This is meaning far beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get the full text of one Michigan legal provision by citation') with a scope qualifier ('one... full text'). The citation-format examples (MCL 750.83, MCR 6.110, MRE 404, Const 1963...) and the sibling tool names (lookup_public_act, search) make it distinguishable without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear implied usage: retrieve the full text of a specific provision by citation. It explains subdivision handling ('Subdivisions like (1)(a) are ignored') and notes that repealed-range citations produce an explanatory error, giving the agent realistic input expectations. It does not explicitly route the agent to siblings like search or get_cross_references, so no full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.