{
  "data": {
    "tool": {
      "category": "infrastructure",
      "endpoint": "https://mcp.lawstronaut.com",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lawstronaut-mcp.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/lawstronaut-mcp.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/lawstronaut-mcp.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 6897,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 9
          },
          "findings": [
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "get_document_text",
              "message": "described almost the same as get_markdown (94% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_authority_types",
              "message": "described almost the same as list_issuing_authorities (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_categories",
              "message": "described almost the same as list_subcategories (84% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_domains",
              "message": "described almost the same as list_subdomains (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_domains",
              "message": "described almost the same as list_categories (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_domains",
              "message": "described almost the same as list_subcategories (83% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_subcategories",
              "message": "described almost the same as list_law_types (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_subdomains",
              "message": "described almost the same as list_categories (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "list_subdomains",
              "message": "described almost the same as list_subcategories (84% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "16 of 16 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:23:16Z",
        "count": 16,
        "schemaTokens": 6897,
        "status": "ok",
        "tools": [
          {
            "name": "list_jurisdictions",
            "description": "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\n    \n    Returns: {data: [{\"name\": \"Belgium\", \"iso\": \"BE\", \"type\": \"country\"}, ...]}\n    - Full list of jurisdiction objects including names, iso, and type",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List jurisdictions"
            }
          },
          {
            "name": "list_domains",
            "description": "Retrieves a list of domains for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal domains for a specific jurisdiction and optional filters\n    - The user asks about available domains for a domain name\n    - The user wants to filter with pagination\n\n    Parameters:\n    - domain (optional): Filter domains by name\n    - limit: z.number().optional().describe(\"Number of results to return\"),\n    - offset: z.number().optional().describe(\"Number of results to skip\")\n\n    Returns:\n    - List of domains with domain_id, domain, pagination: total_count, limit, offset\n    - Only returns domains that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "domain": {
                  "description": "Filter by domain name",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List domains"
            }
          },
          {
            "name": "list_subdomains",
            "description": "Retrieves a list of subdomains for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal subdomains for a specific jurisdiction and optional filters\n    - The user asks about available subdomains for a domain id\n    - The user wants to filter subdomains by name with pagination\n\n    Parameters:\n    - domain_id (required): Filter by Domain ID.\n    - subdomain (optional): Filter subdomains by name\n    - limit: z.number().optional().describe(\"Number of results to return\"),\n    - offset: z.number().optional().describe(\"Number of results to skip\")\n\n    Returns:\n    - List of subdomains with subdomain_id, subdomain, domain_id, pagination: total_count, limit, offset\n    - Only returns subdomains that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "domain_id": {
                  "description": "Filter by Domain ID",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "subdomain": {
                  "description": "Filter by subdomain name",
                  "type": "string"
                }
              },
              "required": [
                "domain_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List subdomains"
            }
          },
          {
            "name": "list_categories",
            "description": "Retrieves a list of categories for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal categories for a specific jurisdiction and optional filters\n    - The user asks about available categories for a subdomain id\n    - The user wants to filter categories by name with pagination\n\n    Parameters:\n    - subdomain_id (optional): Filter by Subdomain ID.\n    - category_name (optional): Filter categories by name\n    - limit: z.number().optional().describe(\"Number of results to return\"),\n    - offset: z.number().optional().describe(\"Number of results to skip\")\n\n    Returns:\n    - List of categories with category_id, category_name, subdomain_id, domain_id, pagination: total_count, limit, offset\n    - Only returns categories that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "category_name": {
                  "description": "Filter by category name",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "subdomain_id": {
                  "description": "Filter by Subdomain ID",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List categories"
            }
          },
          {
            "name": "list_subcategories",
            "description": "Retrieves a list of subcategories for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal subcategories for a specific jurisdiction and optional filters\n    - The user asks about available subcategories for a category id\n    - The user wants to filter subcategories by name with pagination\n\n    Parameters:\n    - category_id (required): Filter by Category ID.\n    - subcategory_name (optional): Filter subcategories by name\n    - limit: z.number().optional().describe(\"Number of results to return\"),\n    - offset: z.number().optional().describe(\"Number of results to skip\")\n\n    Returns:\n    - List of subcategories with subcategory_id, subcategory_name, category_id, pagination: total_count, limit, offset\n    - Only returns subcategories that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "category_id": {
                  "description": "Filter by Category ID",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "subcategory_name": {
                  "description": "Filter by subcategory name",
                  "type": "string"
                }
              },
              "required": [
                "category_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List subcategories"
            }
          },
          {
            "name": "list_law_types",
            "description": "Retrieves a list of law types for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal law types for a specific jurisdiction and optional filters\n    - The user asks about available law types for a subcategory id\n    - The user wants to filter law types by name with pagination\n\n    Parameters:\n    - subcategory_id (required): Filter by Subcategory ID.\n    - law_type (optional): Filter law types by name\n    - limit: z.number().optional().describe(\"Number of results to return\"),\n    - offset: z.number().optional().describe(\"Number of results to skip\")\n\n    Returns:\n    - List of law types with law_type_id, law_type, subcategory_id, category_id, pagination: total_count, limit, offset\n    - Only returns law types that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "law_type": {
                  "description": "Filter by law type name",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "subcategory_id": {
                  "description": "Filter by Subcategory ID",
                  "type": "string"
                }
              },
              "required": [
                "subcategory_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List law types"
            }
          },
          {
            "name": "list_portals",
            "description": "Retrieves a list of legal portals filtered by jurisdiction and optional criteria.\n    Use this tool when:\n    - The user wants to find legal portals, websites, or resources for a specific jurisdiction\n    - The user asks about available portals in a country or state\n    - The user wants to filter portals by name, language, or tag with total crawled links\n\n    Parameters:\n    - iso (required): Filter by Jurisdiction ISO code (e.g. \"US\").\n    - name (optional): Filter portals by name or URL keyword\n    - tag (optional): Filter portals by tag\n    - lang (optional): Filter portals by language name\n\n    Returns:\n    - List of portals with name, URL, language, jurisdiction, tags, and total crawled links\n    - Only returns portals that have crawled data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "lang": {
                  "description": "Filter by language",
                  "type": "string"
                },
                "name": {
                  "description": "Filter by portal name",
                  "type": "string"
                },
                "tag": {
                  "description": "Filter by portal tags",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List portals"
            }
          },
          {
            "name": "list_authority_types",
            "description": "Retrieves a list of authority types.\n    Use this tool when:\n    - The user wants to find legal authority types for a specific jurisdiction and optional filters\n    - The user asks about available authority types for a portal name, authority type\n    - The user wants to filter with pagination\n\n    Parameters:\n    - iso (required): Filter by Jurisdiction ISO code (e.g. \"US\").\n    - limit (optional): Number of results to return.\n    - offset (optional): Number of results to skip.\n    - portal_name (optional): Filter by portal name.\n    - authority_type (optional): Filter by authority type.\n\n    Returns:\n    - List of authority types with iso, authority_type, portal_name, pagination: total_count, limit, offset\n    - Only returns authority types that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "authority_type": {
                  "description": "Filter by authority type",
                  "type": "string"
                },
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "portal_name": {
                  "description": "Filter by portal name",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List type of authority"
            }
          },
          {
            "name": "list_issuing_authorities",
            "description": "Retrieves a list of issuing authorities for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user wants to find legal issuing authorities for a specific jurisdiction and optional filters\n    - The user asks about available issuing authorities for a portal name, issuing authority\n    - The user wants to filter with pagination\n\n    Parameters:\n    - iso (required): Filter by Jurisdiction ISO code (e.g. \"US\").\n    - limit (optional): Number of results to return.\n    - offset (optional): Number of results to skip.\n    - portal_name (optional): Filter by portal name.\n    - issuing_authority (optional): Filter by issuing authority.\n\n    Returns:\n    - List of issuing authorities with iso, issuing_authority, portal_name, pagination: total_count, limit, offset\n    - Only returns issuing authorities that have data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "issuing_authority": {
                  "description": "Filter by issuing authority",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "portal_name": {
                  "description": "Filter by portal name",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List issuing authorities"
            }
          },
          {
            "name": "list_documents",
            "description": "List documents in a jurisdiction with structured filters and pagination.\n    Use this tool when:\n    - The user wants to find legal content for a specific jurisdiction and optional filters\n    - The user asks about available content for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date\n    - The user wants to filter content for type of authority, issuing authority, source identifier, source secondary identifier, tag\n\n    Parameters: \n    - iso (required): Jurisdiction ISO code (e.g. \"US\").\n    - portal (optional): Portal name.\n    - limit (optional): Number of results to return.\n    - offset (optional): Number of results to skip.\n    - document_id (optional): Document ID.\n    - title (optional): Title.\n    - section_title (optional): Section title.\n    - url (optional): URL.\n    - last_updated (optional): Last updated date.\n\n    Returns:\n    - 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\n    - Only returns content that has crawled data",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "crawling_date": {
                  "description": "Filter by crawling date",
                  "type": "string"
                },
                "date_of_decision": {
                  "description": "Filter by date of decision",
                  "type": "string"
                },
                "date_of_enactment": {
                  "description": "Filter by date of enactment",
                  "type": "string"
                },
                "document_id": {
                  "description": "Filter by document ID",
                  "type": "string"
                },
                "effective_date": {
                  "description": "Filter by effective date",
                  "type": "string"
                },
                "expiration_date": {
                  "description": "Filter by expiration date",
                  "type": "string"
                },
                "file_data_only": {
                  "description": "Return file data only",
                  "type": "boolean"
                },
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "issuing_authority": {
                  "description": "Filter by issuing authority",
                  "type": "string"
                },
                "lang": {
                  "description": "Filter by language",
                  "type": "string"
                },
                "last_amendment": {
                  "description": "Filter by last amendment date",
                  "type": "string"
                },
                "last_updated": {
                  "description": "Filter by last updated date",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "portal": {
                  "description": "Filter by portal name",
                  "type": "string"
                },
                "publication_date": {
                  "description": "Filter by publication date",
                  "type": "string"
                },
                "repealed": {
                  "description": "Filter by repealed status",
                  "type": "boolean"
                },
                "section_title": {
                  "description": "Filter by section title",
                  "type": "string"
                },
                "source_identifier": {
                  "description": "Filter by source identifier",
                  "type": "string"
                },
                "source_secondary_identifier": {
                  "description": "Filter by secondary source identifier",
                  "type": "string"
                },
                "status": {
                  "description": "Filter by status",
                  "type": "string"
                },
                "tag": {
                  "description": "Filter by tag",
                  "type": "string"
                },
                "title": {
                  "description": "Filter by title",
                  "type": "string"
                },
                "type_of_authority": {
                  "description": "Filter by type of authority",
                  "type": "string"
                },
                "url": {
                  "description": "Filter by URL",
                  "type": "string"
                },
                "version": {
                  "description": "Filter by version",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List documents"
            }
          },
          {
            "name": "get_document_text",
            "description": "Retrieves full text for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user asks about available full text for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date\n    - The user wants to filter full text for type of authority, issuing authority, source identifier, source secondary identifier, tag\n\n    Parameters: \n    - iso (required): Jurisdiction ISO code (e.g. \"US\").\n    - portal (optional): Portal name.\n    - limit (optional): Number of results to return.\n    - offset (optional): Number of results to skip.\n    - document_id (optional): Document ID.\n    - title (optional): Title.\n    - section_title (optional): Section title.\n    - url (optional): URL.\n    - last_updated (optional): Last updated date.\n    \n    Returns:\n    - Content full text list with document_id, full_text",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "crawling_date": {
                  "description": "Filter by crawling date",
                  "type": "string"
                },
                "date_of_decision": {
                  "description": "Filter by date of decision",
                  "type": "string"
                },
                "date_of_enactment": {
                  "description": "Filter by date of enactment",
                  "type": "string"
                },
                "document_id": {
                  "description": "Filter by document ID",
                  "type": "string"
                },
                "effective_date": {
                  "description": "Filter by effective date",
                  "type": "string"
                },
                "expiration_date": {
                  "description": "Filter by expiration date",
                  "type": "string"
                },
                "file_data_only": {
                  "description": "Return file data only",
                  "type": "boolean"
                },
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "issuing_authority": {
                  "description": "Filter by issuing authority",
                  "type": "string"
                },
                "lang": {
                  "description": "Filter by language",
                  "type": "string"
                },
                "last_amendment": {
                  "description": "Filter by last amendment date",
                  "type": "string"
                },
                "last_updated": {
                  "description": "Filter by last updated date",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "portal": {
                  "description": "Filter by portal name",
                  "type": "string"
                },
                "publication_date": {
                  "description": "Filter by publication date",
                  "type": "string"
                },
                "repealed": {
                  "description": "Filter by repealed status",
                  "type": "boolean"
                },
                "section_title": {
                  "description": "Filter by section title",
                  "type": "string"
                },
                "source_identifier": {
                  "description": "Filter by source identifier",
                  "type": "string"
                },
                "source_secondary_identifier": {
                  "description": "Filter by secondary source identifier",
                  "type": "string"
                },
                "status": {
                  "description": "Filter by status",
                  "type": "string"
                },
                "tag": {
                  "description": "Filter by tag",
                  "type": "string"
                },
                "title": {
                  "description": "Filter by title",
                  "type": "string"
                },
                "type_of_authority": {
                  "description": "Filter by type of authority",
                  "type": "string"
                },
                "url": {
                  "description": "Filter by URL",
                  "type": "string"
                },
                "version": {
                  "description": "Filter by version",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get document text"
            }
          },
          {
            "name": "get_markdown",
            "description": "Retrieves markdown for a specific jurisdiction and optional filters.\n    Use this tool when:\n    - The user asks about available markdown for a portal name, title, section_title, url, status, repealed, publication_date and crawling_date\n    - The user wants to filter markdown for type of authority, issuing authority, source identifier, source secondary identifier, tag\n\n    Parameters: \n    - iso (required): Jurisdiction ISO code (e.g. \"US\").\n    - portal (optional): Portal name.\n    - limit (optional): Number of results to return.\n    - offset (optional): Number of results to skip.\n    - document_id (optional): Document ID.\n    - title (optional): Title.\n    - section_title (optional): Section title.\n    - url (optional): URL.\n    - last_updated (optional): Last updated date.\n\n    Returns:\n    - Content markdown list with document_id, content_markdown",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "crawling_date": {
                  "description": "Filter by crawling date",
                  "type": "string"
                },
                "date_of_decision": {
                  "description": "Filter by date of decision",
                  "type": "string"
                },
                "date_of_enactment": {
                  "description": "Filter by date of enactment",
                  "type": "string"
                },
                "document_id": {
                  "description": "Filter by document ID",
                  "type": "string"
                },
                "effective_date": {
                  "description": "Filter by effective date",
                  "type": "string"
                },
                "expiration_date": {
                  "description": "Filter by expiration date",
                  "type": "string"
                },
                "file_data_only": {
                  "description": "Return file data only",
                  "type": "boolean"
                },
                "iso": {
                  "description": "Filter by Jurisdiction ISO code (e.g. 'US')",
                  "type": "string"
                },
                "issuing_authority": {
                  "description": "Filter by issuing authority",
                  "type": "string"
                },
                "lang": {
                  "description": "Filter by language",
                  "type": "string"
                },
                "last_amendment": {
                  "description": "Filter by last amendment date",
                  "type": "string"
                },
                "last_updated": {
                  "description": "Filter by last updated date",
                  "type": "string"
                },
                "limit": {
                  "description": "Number of results to return",
                  "type": "number"
                },
                "offset": {
                  "description": "Number of results to skip",
                  "type": "number"
                },
                "portal": {
                  "description": "Filter by portal name",
                  "type": "string"
                },
                "publication_date": {
                  "description": "Filter by publication date",
                  "type": "string"
                },
                "repealed": {
                  "description": "Filter by repealed status",
                  "type": "boolean"
                },
                "section_title": {
                  "description": "Filter by section title",
                  "type": "string"
                },
                "source_identifier": {
                  "description": "Filter by source identifier",
                  "type": "string"
                },
                "source_secondary_identifier": {
                  "description": "Filter by secondary source identifier",
                  "type": "string"
                },
                "status": {
                  "description": "Filter by status",
                  "type": "string"
                },
                "tag": {
                  "description": "Filter by tag",
                  "type": "string"
                },
                "title": {
                  "description": "Filter by title",
                  "type": "string"
                },
                "type_of_authority": {
                  "description": "Filter by type of authority",
                  "type": "string"
                },
                "url": {
                  "description": "Filter by URL",
                  "type": "string"
                },
                "version": {
                  "description": "Filter by version",
                  "type": "string"
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get document markdown"
            }
          },
          {
            "name": "get_source_url",
            "description": "Get a time-limited signed URL to the original source file (PDF etc.).\n    Use this tool when:\n    - The user wants to find a pdf URL for a specific document\n    - The user asks about presigned URL for a pdf\n    Parameters:\n    - document_id (required): Document ID.\n\n    Returns:\n    - PDF URL for a specific document with document_id and pdf_url",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "document_id": {
                  "description": "Document ID",
                  "exclusiveMinimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "document_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get source url"
            }
          },
          {
            "name": "get_document_with_version",
            "description": "Retrieves a specific document with a specific version.\n    Use this tool when:\n    - The user wants to find a specific document with a specific version\n    - The user asks about available a specific document with a specific version\n\n    Parameters:\n    - document_id (required): Document ID.\n    - version (required): Version.\n\n    Returns:\n    - 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\n    - Only returns content that has crawled data with the specific version",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "document_id": {
                  "description": "Document ID",
                  "exclusiveMinimum": 0,
                  "type": "integer"
                },
                "version": {
                  "description": "Version",
                  "exclusiveMinimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "document_id",
                "version"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get document with version"
            }
          },
          {
            "name": "horizon_scan",
            "description": "Scans recent legal documents across jurisdictions.\n    Use this when the user asks:\n    - \"What laws changed recently in Netherland?\"\n    - \"Show me new regulations from last week\"\n    - \"Any updates in NL law?\"",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "date_field": {
                  "default": "crawling_date",
                  "description": "Which date to window on. \"crawling_date\" (default) = when Lawstronaut crawled it. \"publication_date\" = when officially published. \"last_updated\" = when corpus record last changed.",
                  "enum": [
                    "crawling_date",
                    "publication_date",
                    "last_updated"
                  ],
                  "type": "string"
                },
                "include_repealed": {
                  "default": false,
                  "description": "If false, drop documents where repealed=true",
                  "type": "boolean"
                },
                "iso": {
                  "description": "One ISO code e.g. \"IE\", \"NL\", \"US\", etc.",
                  "type": "string"
                },
                "issuing_authority": {
                  "description": "Optional filter on issuing authority",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "max_per_jurisdiction": {
                  "default": 50,
                  "description": "Max docs to return per jurisdiction (1-100)",
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "since": {
                  "default": "yesterday",
                  "description": "Freshness window. \"yesterday\", \"today\", \"Nd\"/\"Nh\"/\"Nw\" (e.g. \"7d\"), or ISO date \"YYYY-MM-DD\"",
                  "type": "string"
                },
                "status": {
                  "description": "Optional filter on status field e.g. \"new\", \"updated\" String.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "topic": {
                  "description": "Optional filter (matches title) e.g. \"employee monitoring\" or \"workplace surveillance\"",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "type_of_authority": {
                  "description": "Optional filter on type of authority",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "iso"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Horizon scan"
            }
          },
          {
            "name": "evidence_pull",
            "description": "\"Show me the source.\"\n     For a specific document, return the full citation chain in one call:\n    metadata (with all dates and identifiers), permanent legal_link, signed\n    URL to the original source file (if available), and the full document\n    body in markdown or plain text. Designed for auditability.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "document_id": {
                  "description": "Numeric document_id from any listing/search tool",
                  "exclusiveMinimum": 0,
                  "type": "integer"
                },
                "include_source_url": {
                  "default": true,
                  "description": "Fetch a temporary signed URL to the original file (PDF etc.) where available (default True).",
                  "type": "boolean"
                },
                "include_text": {
                  "default": true,
                  "description": "Fetch the full body (default True)",
                  "type": "boolean"
                },
                "iso": {
                  "description": "Document's jurisdiction ISO code, e.g. 'IE', 'NL', 'US', etc.",
                  "type": "string"
                },
                "text_format": {
                  "default": "markdown",
                  "description": "'markdown' (preserves structure) or 'plain'.",
                  "enum": [
                    "markdown",
                    "plain"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "iso",
                "document_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Evidence pull"
            }
          }
        ]
      },
      "name": "Lawstronaut",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": null,
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lawstronaut-mcp.json",
      "popularity": {
        "githubStars": 2
      },
      "registryName": "com.lawstronaut/lawstronaut-mcp",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://mcp.lawstronaut.com"
        }
      ],
      "repository": "https://github.com/Lawstronaut-FZCO/lawstronaut-mcp",
      "reviewed": false,
      "slug": "lawstronaut-mcp",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.lawstronaut/lawstronaut-mcp",
      "summary": "Connect AI to millions of laws and court cases with the Lawstronaut MCP.",
      "updatedAt": "2026-07-09T08:33:39Z",
      "url": "https://www.anchorterminal.com/tools/lawstronaut-mcp",
      "vendor": "lawstronaut.com",
      "vendorUrl": "https://lawstronaut.com",
      "version": "1.1.1",
      "websiteUrl": "https://lawstronaut.com",
      "where": "hosted",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/lawstronaut-mcp",
    "json": "https://www.anchorterminal.com/tools/lawstronaut-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/lawstronaut-mcp.md",
    "slim": "https://www.anchorterminal.com/tools/lawstronaut-mcp.min.md"
  },
  "markdown": "# Lawstronaut\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by lawstronaut.com (https://lawstronaut.com)\n- Category: Cloud \u0026 infrastructure (https://www.anchorterminal.com/categories/infrastructure.md)\n- Listed because: It's published in the registry under lawstronaut.com, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Connect AI to millions of laws and court cases with the Lawstronaut MCP.\n\n## Facts\n\n- MCP registry: `com.lawstronaut/lawstronaut-mcp` 1.1.1\n- Endpoint: https://mcp.lawstronaut.com (streamable HTTP)\n- Source: https://github.com/Lawstronaut-FZCO/lawstronaut-mcp\n- Website: https://lawstronaut.com\n- GitHub stars: 2\n- Registry entry updated: 2026-07-09\n\n## Tools\n\n- Tools it lists (16, about 6,897 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:23 UTC):\n  - `list_jurisdictions` (read-only): List all jurisdictions (countries/states) available in the Lawstronaut legal corpus. Call this FIRST when answering legal questions so you know which \"iso\"…\n  - `list_domains` (read-only): 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…\n  - `list_subdomains` (read-only): 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…\n  - `list_categories` (read-only): 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…\n  - `list_subcategories` (read-only): 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…\n  - `list_law_types` (read-only): 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…\n  - `list_portals` (read-only): 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…\n  - `list_authority_types` (read-only): 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…\n  - `list_issuing_authorities` (read-only): Retrieves a list of issuing authorities for a specific jurisdiction and optional filters. Use this tool when: - The user wants to find legal issuing…\n  - `list_documents` (read-only): 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…\n  - `get_document_text` (read-only): 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,…\n  - `get_markdown` (read-only): Retrieves markdown for a specific jurisdiction and optional filters. Use this tool when: - The user asks about available markdown for a portal name, title,…\n  - `get_source_url` (read-only): 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…\n  - `get_document_with_version` (read-only): 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…\n  - `horizon_scan` (read-only): Scans recent legal documents across jurisdictions. Use this when the user asks: - \"What laws changed recently in Netherland?\" - \"Show me new regulations from…\n  - `evidence_pull` (read-only): \"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,…\n- How its tools read to an agent (0 errors, 9 warnings, 1 note, about 6,897 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC21 get_document_text: described almost the same as get_markdown (94% of the same words)\n  - warn TC21 list_authority_types: described almost the same as list_issuing_authorities (89% of the same words)\n  - warn TC21 list_categories: described almost the same as list_subcategories (84% of the same words)\n  - warn TC21 list_domains: described almost the same as list_subdomains (89% of the same words)\n  - warn TC21 list_domains: described almost the same as list_categories (89% of the same words)\n  - warn TC21 list_domains: described almost the same as list_subcategories (83% of the same words)\n  - warn TC21 list_subcategories: described almost the same as list_law_types (89% of the same words)\n  - warn TC21 list_subdomains: described almost the same as list_categories (89% of the same words)\n  - warn TC21 list_subdomains: described almost the same as list_subcategories (84% of the same words)\n  - note TC24 server: 16 of 16 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/lawstronaut-mcp.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "Lawstronaut",
        "url": ""
      }
    ],
    "description": "Lawstronaut, an MCP server by lawstronaut.com, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Connect AI to millions of laws and court cases with the Lawstronaut MCP.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "Lawstronaut",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/lawstronaut-mcp",
    "published": "",
    "section": "indexed",
    "title": "Lawstronaut: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/lawstronaut-mcp"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 1480
  },
  "version": 1
}
