Lawstronaut MCP
MCP serverDev toolsYour AI can search millions of laws and court cases once Lawstronaut is added. It can use what it finds to answer your questions with real legal material. Lawstronaut is an integration you add to your AI on ahel.
Use Lawstronaut MCP in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Lawstronaut MCP and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Lawstronaut MCP to list jurisdictions
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add Lawstronaut to your AI on ahel, then ask it a legal question to see it work with laws and court cases in its answer.
What your AI can do with it
- Search millions of laws
- Look up court cases
- Find the law or case relevant to a question
- Use real laws and court cases when answering questions
Install Lawstronaut MCP
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user lawstronaut-mcp 'https://mcp.lawstronaut.com'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.lawstronaut.comAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=lawstronaut-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5sYXdzdHJvbmF1dC5jb20ifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.lawstronaut.comIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add lawstronaut-mcp --url 'https://mcp.lawstronaut.com'Run it once, then sign in with codex mcp login lawstronaut-mcp if the server asks for an account.
From the project's README
As published by lawstronaut-fzco/lawstronaut-mcp in README.md.
Connect lawstronaut to Claude, ChatGPT, Cursor, and any AI agent that speaks the Model Context Protocol. Connect your AI to 50+ million laws and court cases!
Authentication . Setup · Tools
What is this?
Lawstronaut is the infrastructure layer that connects AI agents and software to millions of legal documents across 150+ jurisdictions, structured legal data, continuously updated, and ready to use via MCP.
Authentication
Production MCP server: https://mcp.lawstronaut.com
Transport: MCP over Streamable HTTP (POST /).
Public server card (tool listing, no auth):
https://mcp.lawstronaut.com/.well-known/mcp/server-card.json
Lawstronaut MCP supports Bearer token and OAuth 2.0 (client_id + client_secret). A paid subscription is required.
| Method | Best for | Tool listing | Tool calls |
|---|---|---|---|
| Bearer token | CLI, scripts, clients without OAuth | No auth required | Authorization: Bearer <token> |
| OAuth 2.0 | Cursor, VS Code, Claude, publishing platforms | No auth required | OAuth access token (auto-managed by client) |
Get client ID, secret, or bearer token
- Visit lawstronaut.com and purchase a subscription.
- Log in to the developer portal.
- Open MCP server access from the Home menu.
- Create a client ID + client secret (OAuth) or a bearer token.
Option A — Bearer token
Use the bearer token from MCP server access:
Authorization: Bearer <your-token>
Set it in your environment:
export LAWSTRONAUT_MCP_BEARER_TOKEN="your-token-here"
Example configs: cursor-mcp.json, vscode-mcp.json, claude-code.mcp.json.
Option B — OAuth 2.0 (client_id + client_secret)
Use the client_id and client_secret created under MCP server access in the developer portal.
| Endpoint | URL |
|---|---|
| MCP server | https://mcp.lawstronaut.com |
| Authorization | https://mcp.lawstronaut.com/oauth/authorize |
| Token | https://mcp.lawstronaut.com/oauth/token |
| OAuth discovery | https://mcp.lawstronaut.com/.well-known/oauth-authorization-server |
| Protected resource | https://mcp.lawstronaut.com/.well-known/oauth-protected-resource |
Flow: response_type=code → redirect with code → exchange at /oauth/token with grant_type=authorization_code, client_id, client_secret, code, and redirect_uri.
Clients that support MCP OAuth discovery only need the server URL — they handle the flow using your registered client_id / client_secret.
Example configs: cursor-mcp-oauth.json, vscode-mcp-oauth.json.
Setup
Pick your client, paste the config, and authenticate with your lawstronaut account. Most clients open a browser window for OAuth the first time an agent uses a lawstronaut tools.
Cursor
Bearer token
- Copy
cursor-mcp.jsonto.cursor/mcp.json(project) or~/.cursor/mcp.json(global). - Export
LAWSTRONAUT_MCP_BEARER_TOKEN. - Restart Cursor. Check Output → MCP Logs if connection fails.
OAuth
- Copy
cursor-mcp-oauth.jsonto.cursor/mcp.json. - Complete the OAuth sign-in when Cursor prompts you (uses your registered
client_id/client_secret).
Docs: Cursor MCP.
VS Code (GitHub Copilot agent / MCP)
Bearer token
- Copy
vscode-mcp.jsonto.vscode/mcp.json, or merge into your user MCP config. - Run MCP: List Servers and enter your bearer token when prompted.
OAuth
- Copy
vscode-mcp-oauth.jsonto.vscode/mcp.json. - Sign in through VS Code when prompted.
Docs: MCP configuration reference.
Claude Code (CLI)
Bearer token — CLI
export LAWSTRONAUT_MCP_BEARER_TOKEN="your-token-here"
claude mcp add --transport http lawstronaut-mcp https://mcp.lawstronaut.com \
--header "Authorization: Bearer $LAWSTRONAUT_MCP_BEARER_TOKEN"
Bearer token — project file
Copy claude-code.mcp.json to .mcp.json in your project root.
OAuth
Add the server URL only and complete OAuth when prompted:
claude mcp add --transport http lawstronaut-mcp https://mcp.lawstronaut.com
Docs: Connect Claude Code to tools via MCP.
Claude Desktop (Anthropic app)
Claude Desktop is oriented toward stdio MCP servers. For this HTTP server, use Cursor, VS Code, or Claude Code, or any host that supports remote Streamable HTTP MCP.
Go to Customize, Connectors, click "+", Add Custom Connector, and fill the dialog:
Other hosts (Continue, Zed, custom agents, etc.)
Any client that supports MCP Streamable HTTP can connect with:
- URL:
https://mcp.lawstronaut.com - Bearer:
Authorization: Bearer <token> - OAuth: use discovery at
/.well-known/oauth-authorization-serverwith yourclient_id/client_secret
Tools
-
list_jurisdictions - List all jurisdictions (countries/states) in the Lawstronaut corpus — call first to get valid ISO codes for other tools
-
list_domains - List legal domains with optional name filter and pagination
domain: Filter domains by name (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)
-
list_subdomains - List subdomains for a domain ID — filter by name, paginate results
domain_id: Filter by Domain ID (string, required)subdomain: Filter subdomains by name (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)
-
list_categories - List legal categories for a subdomain — filter by name, paginate results
subdomain_id: Filter by Subdomain ID (string, optional)category_name: Filter categories by name (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)
-
list_subcategories - List subcategories for a category ID — filter by name, paginate results
category_id: Filter by Category ID (string, required)subcategory_name: Filter subcategories by name (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)
-
list_law_types - List law types for a subcategory ID — filter by name, paginate results
subcategory_id: Filter by Subcategory ID (string, required)law_type: Filter law types by name (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)
-
list_portals - List legal portals for a jurisdiction — filter by name, language, or tag
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)name: Filter portals by name (string, optional)tag: Filter by tag (string, optional)lang: Filter by language (string, optional)
-
list_authority_types - List authority types for a jurisdiction — filter by portal or authority type
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)portal_name: Filter by portal name (string, optional)authority_type: Filter by authority type (string, optional)
-
list_issuing_authorities - List issuing authorities for a jurisdiction — filter by portal or authority name
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)portal_name: Filter by portal name (string, optional)issuing_authority: Filter by issuing authority (string, optional)
-
list_documents - List legal documents in a jurisdiction — filter by title, dates, portal, status, tags, and more
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)portal: Filter by portal name (string, optional)version: Document version (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)document_id: Document ID (string, optional)repealed: Filter by repealed status (boolean, optional)title: Filter by title (string, optional)section_title: Filter by section title (string, optional)url: Filter by URL (string, optional)status: Filter by status (string, optional)crawling_date: Filter by crawling date (string, optional)last_updated: Filter by last updated date (string, optional)last_amendment: Filter by last amendment date (string, optional)publication_date: Filter by publication date (string, optional)expiration_date: Filter by expiration date (string, optional)effective_date: Filter by effective date (string, optional)date_of_enactment: Filter by date of enactment (string, optional)date_of_decision: Filter by date of decision (string, optional)file_data_only: Return only file-related data (boolean, optional)issuing_authority: Filter by issuing authority (string, optional)type_of_authority: Filter by type of authority (string, optional)source_identifier: Filter by source identifier (string, optional)source_secondary_identifier: Filter by secondary source identifier (string, optional)tag: Filter by tag (string, optional)lang: Filter by language (string, optional)
-
get_document_text - Get full text of documents matching jurisdiction and filter criteria
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)portal: Filter by portal name (string, optional)version: Document version (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)document_id: Document ID (string, optional)repealed: Filter by repealed status (boolean, optional)title: Filter by title (string, optional)section_title: Filter by section title (string, optional)url: Filter by URL (string, optional)status: Filter by status (string, optional)crawling_date: Filter by crawling date (string, optional)last_updated: Filter by last updated date (string, optional)last_amendment: Filter by last amendment date (string, optional)publication_date: Filter by publication date (string, optional)expiration_date: Filter by expiration date (string, optional)effective_date: Filter by effective date (string, optional)date_of_enactment: Filter by date of enactment (string, optional)date_of_decision: Filter by date of decision (string, optional)file_data_only: Return only file-related data (boolean, optional)issuing_authority: Filter by issuing authority (string, optional)type_of_authority: Filter by type of authority (string, optional)source_identifier: Filter by source identifier (string, optional)source_secondary_identifier: Filter by secondary source identifier (string, optional)tag: Filter by tag (string, optional)lang: Filter by language (string, optional)
-
get_markdown - Get document body as markdown for matching jurisdiction and filters
iso: Filter by Jurisdiction ISO code (e.g. 'US') (string, required)portal: Filter by portal name (string, optional)version: Document version (string, optional)limit: Number of results to return (number, optional)offset: Number of results to skip (number, optional)document_id: Document ID (string, optional)repealed: Filter by repealed status (boolean, optional)title: Filter by title (string, optional)section_title: Filter by section title (string, optional)url: Filter by URL (string, optional)status: Filter by status (string, optional)crawling_date: Filter by crawling date (string, optional)last_updated: Filter by last updated date (string, optional)last_amendment: Filter by last amendment date (string, optional)publication_date: Filter by publication date (string, optional)expiration_date: Filter by expiration date (string, optional)effective_date: Filter by effective date (string, optional)date_of_enactment: Filter by date of enactment (string, optional)date_of_decision: Filter by date of decision (string, optional)file_data_only: Return only file-related data (boolean, optional)issuing_authority: Filter by issuing authority (string, optional)type_of_authority: Filter by type of authority (string, optional)source_identifier: Filter by source identifier (string, optional)source_secondary_identifier: Filter by secondary source identifier (string, optional)tag: Filter by tag (string, optional)lang: Filter by language (string, optional)
-
get_source_url - Get a time-limited signed URL to the original source file (PDF, etc.)
document_id: Document ID (integer, required)
-
get_document_with_version - Get a specific document at a specific version with full metadata
document_id: Document ID (integer, required)version: Version (integer, required)
-
horizon_scan - Scan recent legal changes in a jurisdiction — filter by topic, date window, and authority
iso: One ISO code e.g. "IE", "NL", "US", etc (string, required)since: Start of date window for the scan (string, optional)topic: Topic or keyword to focus the scan (string, optional)date_field: Which date field to use for the window (string, optional)status: Filter by status (string, optional)issuing_authority: Filter by issuing authority (string, optional)type_of_authority: Filter by type of authority (string, optional)include_repealed: Include repealed documents (boolean, optional)max_per_jurisdiction: Maximum results per jurisdiction (integer, optional)
-
evidence_pull - Get full citation chain for a document — metadata, legal link, source URL, and body text
iso: Document's jurisdiction ISO code, e.g. 'IE', 'NL', 'US', etc (string, required)document_id: Numeric document_id from any listing/search tool (integer, required)include_text: Include document body text (boolean, optional)include_source_url: Include signed source URL (boolean, optional)text_format: Format for included text (e.g. markdown or plain) (string, optional)
All tools are read-only. OAuth tokens are issued with scope mcp:tools:read. Tool listing is public; tool calls require authentication.
Tools it offers (16)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
list_jurisdictionslist_domainslist_subdomainslist_categorieslist_subcategorieslist_law_typeslist_portalslist_authority_typeslist_issuing_authoritieslist_documentsget_document_textget_markdownget_source_urlget_document_with_versionhorizon_scanevidence_pull
Signals
- GitHub stars
- 2
- Last commit
- Sep 2026
Advanced
- Delivery
- lawstronaut-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
com-lawstronaut-lawstronaut-mcp- Source
- github.com/lawstronaut-fzco/lawstronaut-mcp
- Hosted endpoint
https://mcp.lawstronaut.com
github.com/lawstronaut-fzco/lawstronaut-mcp