Lawstronaut MCP server
online · 100% uptimecom.lawstronaut/lawstronaut-mcp·v1.1.1·2 starsConnect AI to millions of laws and court cases with the Lawstronaut MCP.
2 stars
Reviews
Write oneNobody has reviewed Lawstronaut yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Lawstronaut tools (16)
write = sends, deletes, buys or postsevidence_pullFree"Show me the source." For a specific document, return the full citation chain in one call: metadata (with all dates and identifiers), permanent legal_link, signed URL to the original source file (if available), and the full document body in markdown or plain text. Designed for auditability.
get_document_textFreeRetrieves full text for a specific jurisdiction and optional filters. Use this tool when: - The user asks about available full text for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date - The user wants to filter full text for type of authority, issuing authority, source identifier, source secondary identifier, tag Parameters: - iso (required): Jurisdiction ISO code (e.g. "US"). - portal (optional): Portal name. - limit (optional): Number of results to return. - offset (optional): Number of results to skip. - document_id (optional): Document ID. - title (optional): Title. - section_title (optional): Section title. - url (optional): URL. - last_updated (optional): Last updated date. Returns: - Content full text list with document_id, full_text
get_document_with_versionFreeRetrieves a specific document with a specific version. Use this tool when: - The user wants to find a specific document with a specific version - The user asks about available a specific document with a specific version Parameters: - document_id (required): Document ID. - version (required): Version. Returns: - Content with version with title, section_title, publication_date, effective_date, expiration_date, date_of_enactment, date_of_last_amendment, date_of_repealed, date_of_decision, status, version, source_identifier, source_secondary_identifier, issuing_authority, type_of_authority, language, legal_link, repealed, metadata, summary, tags, source_keywords, crawling_date, portal, portal_name, last_updated - Only returns content that has crawled data with the specific version
get_markdownFreeRetrieves markdown for a specific jurisdiction and optional filters. Use this tool when: - The user asks about available markdown for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date - The user wants to filter markdown for type of authority, issuing authority, source identifier, source secondary identifier, tag Parameters: - iso (required): Jurisdiction ISO code (e.g. "US"). - portal (optional): Portal name. - limit (optional): Number of results to return. - offset (optional): Number of results to skip. - document_id (optional): Document ID. - title (optional): Title. - section_title (optional): Section title. - url (optional): URL. - last_updated (optional): Last updated date. Returns: - Content markdown list with document_id, content_markdown
get_source_urlFreeGet a time-limited signed URL to the original source file (PDF etc.). Use this tool when: - The user wants to find a pdf URL for a specific document - The user asks about presigned URL for a pdf Parameters: - document_id (required): Document ID. Returns: - PDF URL for a specific document with document_id and pdf_url
horizon_scanFreeScans recent legal documents across jurisdictions. Use this when the user asks: - "What laws changed recently in Netherland?" - "Show me new regulations from last week" - "Any updates in NL law?"
list_authority_typesFreeRetrieves a list of authority types. Use this tool when: - The user wants to find legal authority types for a specific jurisdiction and optional filters - The user asks about available authority types for a portal name, authority type - The user wants to filter with pagination Parameters: - iso (required): Filter by Jurisdiction ISO code (e.g. "US"). - limit (optional): Number of results to return. - offset (optional): Number of results to skip. - portal_name (optional): Filter by portal name. - authority_type (optional): Filter by authority type. Returns: - List of authority types with iso, authority_type, portal_name, pagination: total_count, limit, offset - Only returns authority types that have data
list_categoriesFreeRetrieves a list of categories for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal categories for a specific jurisdiction and optional filters - The user asks about available categories for a subdomain id - The user wants to filter categories by name with pagination Parameters: - subdomain_id (optional): Filter by Subdomain ID. - category_name (optional): Filter categories by name - limit: z.number().optional().describe("Number of results to return"), - offset: z.number().optional().describe("Number of results to skip") Returns: - List of categories with category_id, category_name, subdomain_id, domain_id, pagination: total_count, limit, offset - Only returns categories that have data
list_documentsFreeList documents in a jurisdiction with structured filters and pagination. Use this tool when: - The user wants to find legal content for a specific jurisdiction and optional filters - The user asks about available content for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date - The user wants to filter content for type of authority, issuing authority, source identifier, source secondary identifier, tag Parameters: - iso (required): Jurisdiction ISO code (e.g. "US"). - portal (optional): Portal name. - limit (optional): Number of results to return. - offset (optional): Number of results to skip. - document_id (optional): Document ID. - title (optional): Title. - section_title (optional): Section title. - url (optional): URL. - last_updated (optional): Last updated date. Returns: - Contents list with title, section_title, publication_date, effective_date, expiration_date, date_of_enactment, date_of_last_amendment, date_of_repealed, date_of_decision, status, version, source_identifier, source_secondary_identifier, issuing_authority, type_of_authority, language, legal_link, repealed, metadata, summary, tags, source_keywords, crawling_date, portal, portal_name, last_updated - Only returns content that has crawled data
list_domainsFreeRetrieves a list of domains for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal domains for a specific jurisdiction and optional filters - The user asks about available domains for a domain name - The user wants to filter with pagination Parameters: - domain (optional): Filter domains by name - limit: z.number().optional().describe("Number of results to return"), - offset: z.number().optional().describe("Number of results to skip") Returns: - List of domains with domain_id, domain, pagination: total_count, limit, offset - Only returns domains that have data
list_issuing_authoritiesFreeRetrieves a list of issuing authorities for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal issuing authorities for a specific jurisdiction and optional filters - The user asks about available issuing authorities for a portal name, issuing authority - The user wants to filter with pagination Parameters: - iso (required): Filter by Jurisdiction ISO code (e.g. "US"). - limit (optional): Number of results to return. - offset (optional): Number of results to skip. - portal_name (optional): Filter by portal name. - issuing_authority (optional): Filter by issuing authority. Returns: - List of issuing authorities with iso, issuing_authority, portal_name, pagination: total_count, limit, offset - Only returns issuing authorities that have data
list_jurisdictionsFreeList all jurisdictions (countries/states) available in the Lawstronaut legal corpus. Call this FIRST when answering legal questions so you know which "iso" codes are valid for the other tools. Result is cached for the MCP process lifetime Returns: {data: [{"name": "Belgium", "iso": "BE", "type": "country"}, ...]} - Full list of jurisdiction objects including names, iso, and type
list_law_typesFreeRetrieves a list of law types for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal law types for a specific jurisdiction and optional filters - The user asks about available law types for a subcategory id - The user wants to filter law types by name with pagination Parameters: - subcategory_id (required): Filter by Subcategory ID. - law_type (optional): Filter law types by name - limit: z.number().optional().describe("Number of results to return"), - offset: z.number().optional().describe("Number of results to skip") Returns: - List of law types with law_type_id, law_type, subcategory_id, category_id, pagination: total_count, limit, offset - Only returns law types that have data
list_portalsFreeRetrieves a list of legal portals filtered by jurisdiction and optional criteria. Use this tool when: - The user wants to find legal portals, websites, or resources for a specific jurisdiction - The user asks about available portals in a country or state - The user wants to filter portals by name, language, or tag with total crawled links Parameters: - iso (required): Filter by Jurisdiction ISO code (e.g. "US"). - name (optional): Filter portals by name or URL keyword - tag (optional): Filter portals by tag - lang (optional): Filter portals by language name Returns: - List of portals with name, URL, language, jurisdiction, tags, and total crawled links - Only returns portals that have crawled data
list_subcategoriesFreeRetrieves a list of subcategories for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal subcategories for a specific jurisdiction and optional filters - The user asks about available subcategories for a category id - The user wants to filter subcategories by name with pagination Parameters: - category_id (required): Filter by Category ID. - subcategory_name (optional): Filter subcategories by name - limit: z.number().optional().describe("Number of results to return"), - offset: z.number().optional().describe("Number of results to skip") Returns: - List of subcategories with subcategory_id, subcategory_name, category_id, pagination: total_count, limit, offset - Only returns subcategories that have data
list_subdomainsFreeRetrieves a list of subdomains for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal subdomains for a specific jurisdiction and optional filters - The user asks about available subdomains for a domain id - The user wants to filter subdomains by name with pagination Parameters: - domain_id (required): Filter by Domain ID. - subdomain (optional): Filter subdomains by name - limit: z.number().optional().describe("Number of results to return"), - offset: z.number().optional().describe("Number of results to skip") Returns: - List of subdomains with subdomain_id, subdomain, domain_id, pagination: total_count, limit, offset - Only returns subdomains that have data
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 606ms20/20
- Tool poisoning16 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 22 days ago15/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
How Lawstronaut compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 16
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 194 ms
- faster than 65% of 30,031 servers
- GitHub stars
- 2
- more than 75% of 28,688 servers
What its tools let an agent do: 16 read
Install Lawstronaut in Claude Code, Cursor or VS Code
claude mcp add --transport http lawstronaut-mcp https://mcp.lawstronaut.com
What the publisher says
From the Lawstronaut repository's README, as published. We do not edit it. Read it on GitHub
Lawstronaut MCP
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 (clientid + clientsecret). A paid subscription is required.
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 (clientid + clientsecret)
Use the clientid and clientsecret created under MCP server access in the developer portal.
Flow: responsetype=code → redirect with code → exchange at /oauth/token with granttype=authorizationcode, clientid, clientsecret, code, and redirecturi.
Clients that support MCP OAuth discovery only need the server URL — they handle the flow using your registered clientid / clientsecret.
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.json to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global).
- Export LAWSTRONAUTMCPBEARER_TOKEN.
- Restart Cursor. Check Output → MCP Logs if connection fails.
OAuth
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Lawstronaut: common questions
- Is Lawstronaut MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Lawstronaut safety report
- How do I install Lawstronaut?
- It runs remotely at mcp.lawstronaut.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Lawstronaut need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Lawstronaut maintained?
- The last commit was 61 days ago (2026-09-04). The latest release is v1.1.1.
- Is Lawstronaut up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Lawstronaut compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 16 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.