ndlaw

North Dakota primary law as an MCP server — free, public, no account required.

This endpoint gives AI assistants (Claude, ChatGPT, Gemini, Grok, and other MCP-capable tools) citation-verified access to North Dakota primary legal authority:

Data current through opinions filed October 15, 2026; the corpus updates weekly.

Connect

Add this address to your AI tool as an MCP server (sometimes called a "connector" or "app"). No account, key, or sign-in is needed.

https://ndlaw.org/mcp
Claude — claude.ai and the desktop app
  1. Open Customize → Connectors and click Add custom connector.
  2. Name it ndlaw and paste the address above. If asked about authentication, choose No sign-in.
  3. In a chat, open + → Connectors and check that ndlaw is on.

Works on every plan; the Free plan allows one custom connector. On Team and Enterprise plans, an Owner adds it under Organization settings → Connectors.

ChatGPT
  1. On chatgpt.com, open Settings → Apps → Advanced settings and turn on Developer mode.
  2. Click Create app. Name it ndlaw, paste the address above, and set authentication to No authentication.
  3. In a chat, open + → Developer mode and select ndlaw.

Requires a paid plan (Plus, Pro, Business, Enterprise, or Edu) and the web app. Not available on the free plan.

Gemini
  1. On gemini.google.com, open Settings → Connected Apps.
  2. Under Custom apps, choose Add a custom app, paste the address above, and click Next.
  3. In a chat, type @ndlaw to use it.

Google currently limits custom apps to US users 18+ on a personal Google account with Keep Activity on.

Grok
  1. Go to grok.com/connectors, click New Connector, and choose Custom.
  2. Paste the address above. No authentication is needed.
  3. In a chat, ask Grok to use ndlaw.

On Grok Business and Enterprise plans, a team admin first adds it in the xAI console under Grok Business → Connectors → Add Connector → Other; members then turn it on at grok.com/connectors.

Developer tools — Claude Code, Gemini CLI, Codex, Cursor, VS Code, xAI API

Claude Code:

claude mcp add --transport http ndlaw https://ndlaw.org/mcp

Gemini CLI:

gemini mcp add -s user --transport http ndlaw https://ndlaw.org/mcp

Codex CLI:

codex mcp add ndlaw --url https://ndlaw.org/mcp

Cursor (~/.cursor/mcp.json):

{ "mcpServers": { "ndlaw": { "url": "https://ndlaw.org/mcp" } } }

VS Code (.vscode/mcp.json):

{ "servers": {
    "ndlaw": { "type": "http", "url": "https://ndlaw.org/mcp" } } }

xAI API (Responses API, in the request's tools array):

{ "type": "mcp", "server_url": "https://ndlaw.org/mcp", "server_label": "ndlaw" }

Other tools: if yours has a place to add a remote MCP server by URL, use the address above. If it has none, it can't use ndlaw yet.

Try it: ask "Using ndlaw, what is the standard of review for a district court's custody decision in North Dakota? Cite the cases."

Look up a citation

Accepted forms: 2020 ND 30 · 604 N.W.2d 458 · 13 N.D. 359

Fair use. This is a shared public server on modest hardware. Per-IP limits apply (roughly one request per second sustained); heavier traffic is temporarily banned, not queued. If you need bulk data, don't scrape the API — download the whole database below.

Bulk data

The complete SQLite databases are free to download and republish (CC0): github.com/jet52/ndlaw/releases. Run the server locally with the same package.

Caveats

This is the North Dakota courts' own published text, compiled and validated with care, but it is not an official publication of the State of North Dakota or its courts and no court stands behind it. Verify against the official source before filing. ndlaw is a personal project of Jerod Tufte, built and maintained on his own time and equipment, without court staff or court resources.