Lawstronaut
by lawstronaut.com · remote · no sign-in to list tools · v1.1.1 · published by com.lawstronaut
Connect AI to millions of laws and court cases with the Lawstronaut MCP.
16 tools: 1 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http lawstronaut https://mcp.lawstronaut.comTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Changes things 1Claude Code: ask
horizon_scanScans recent legal documents across jurisdictions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scans 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?"
Annotations the server declares
- title: Horizon scan
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 15Claude Code: allow
evidence_pull"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 origin…No findings
Why it is in this group
- The description's first verb is "show": a word for reading.
Description, as the server wrote it "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.
Annotations the server declares
- title: Evidence pull
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_document_textRetrieves full text for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "get_document_text" says "get": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: Get document text
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_document_with_versionRetrieves a specific document with a specific version.No findings
Why it is in this group
- The name "get_document_with_version" says "get": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: Get document with version
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_markdownRetrieves markdown for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "get_markdown" says "get": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: Get document markdown
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_source_urlGet a time-limited signed URL to the original source file (PDF etc.).No findings
Why it is in this group
- The name "get_source_url" says "get": a word for reading.
Description, as the server wrote it Get 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
Annotations the server declares
- title: Get source url
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_authority_typesRetrieves a list of authority types.No findings
Why it is in this group
- The name "list_authority_types" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List type of authority
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_categoriesRetrieves a list of categories for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_categories" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List categories
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_documentsList documents in a jurisdiction with structured filters and pagination.No findings
Why it is in this group
- The name "list_documents" says "list": a word for reading.
Description, as the server wrote it List 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
Annotations the server declares
- title: List documents
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_domainsRetrieves a list of domains for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_domains" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List domains
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_issuing_authoritiesRetrieves a list of issuing authorities for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_issuing_authorities" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List issuing authorities
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_jurisdictionsList all jurisdictions (countries/states) available in the Lawstronaut legal corpus.No findings
Why it is in this group
- The name "list_jurisdictions" says "list": a word for reading.
Description, as the server wrote it List 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
Annotations the server declares
- title: List jurisdictions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_law_typesRetrieves a list of law types for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_law_types" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List law types
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_portalsRetrieves a list of legal portals filtered by jurisdiction and optional criteria.No findings
Why it is in this group
- The name "list_portals" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List portals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_subcategoriesRetrieves a list of subcategories for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_subcategories" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List subcategories
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_subdomainsRetrieves a list of subdomains for a specific jurisdiction and optional filters.No findings
Why it is in this group
- The name "list_subdomains" says "list": a word for reading.
Description, as the server wrote it Retrieves 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
Annotations the server declares
- title: List subdomains
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http lawstronaut https://mcp.lawstronaut.comRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__lawstronaut__list_jurisdictions",
"mcp__lawstronaut__list_domains",
"mcp__lawstronaut__list_subdomains",
"mcp__lawstronaut__list_categories",
"mcp__lawstronaut__list_subcategories",
"mcp__lawstronaut__list_law_types",
"mcp__lawstronaut__list_portals",
"mcp__lawstronaut__list_authority_types",
"mcp__lawstronaut__list_issuing_authorities",
"mcp__lawstronaut__list_documents",
"mcp__lawstronaut__get_document_text",
"mcp__lawstronaut__get_markdown",
"mcp__lawstronaut__get_source_url",
"mcp__lawstronaut__get_document_with_version",
"mcp__lawstronaut__evidence_pull"
],
"ask": [
"mcp__lawstronaut__horizon_scan"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as lawstronaut. Review it before you use it.