Skip to content

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.

Changes · 1

16 tools: 1 change things and 15 only read.

Scanned Oct 21, 2026

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.com

Tools

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.com

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.