Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Legal Data Hunter MCP server

Vendor MCP
Open markdown

The Legal Data Hunter MCP connector routes your AI agent's tool calls to Legal Data Hunter's own MCP server through Scalekit. Each user signs in to Legal Data Hunter once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 7 tools.

Tools
7
What they doRead · write · destructive
6 · 1 · 06 read1 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

What you can do

  • Search legal sources: find statutes, regulations, case law, and official doctrine across many jurisdictions
  • Resolve citations: turn an informal legal citation into the exact matching document
  • Read legal documents: retrieve a document’s text snippet or its complete body
  • Browse coverage: list available countries, data sources, and filter values such as courts, chambers, and date ranges

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Legal Data Hunter MCP connection

    In AgentKit > Connections, create a Legal Data Hunter MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Legal Data Hunter MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'legaldatahuntermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Legal Data Hunter MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'legaldatahuntermcp_discover_countries',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • legaldatahuntermcp_discover_countriesList all available countries with their document counts and source counts.Read-only

    Discover Countries

    List all available countries with their document counts and source counts. Returns LDH jurisdiction codes (mostly ISO 3166-1 alpha-2, plus supranational codes like EU, UN, CoE, INTL, OECD) with case law, legislation, and doctrine source counts and total document counts. This is the authoritative list of valid country codes to use in search and resolve_reference.

    Inputs

    This tool takes no inputs.

  • legaldatahuntermcp_discover_sourcesList all data sources available for a specific country.Read-only

    Discover Sources

    List all data sources available for a specific country. Returns source IDs, data_types (namespaces each source covers: "case_law", "legislation", or "doctrine"), court names, tiers, document counts, and date ranges. Use this to understand what data is available before filtering a search.

    Inputs

    country_codestringrequired
    LDH jurisdiction code for the country whose sources to list, e.g. "FR", "DE", "EU".
    include_emptyboolean
    If true, include sources with zero indexed documents (placeholders awaiting backfill).default false
  • legaldatahuntermcp_get_documentRetrieve a legal document by its source and source_id.Read-only

    Get Document

    Retrieve a legal document by its source and source_id. Returns a 2 KB text snippet by default; pass include_full_text=true to inline the complete document body. Use source and source_id values from search or resolve_reference results.

    Inputs

    sourcestringrequired
    Source identifier for the legal database, e.g. "FR/Judilibre" or "DE/BVerfG".
    source_idstringrequired
    Document identifier within the specified source.
    include_full_textboolean
    If false (default), text is truncated to the leading 2 KB with text_truncated=true. Set true to return the full document text inline.default false
  • legaldatahuntermcp_get_filtersGet available filter values for a specific data source.Read-only

    Get Filters

    Get available filter values for a specific data source. Returns distinct courts, jurisdictions, chambers, decision types, languages, court tiers, and date ranges that can be used to refine search results. For sources spanning multiple namespaces, pass namespace to select which namespace's filters to return.

    Inputs

    sourcestringrequired
    No description.
    namespacestring
    No description.
  • legaldatahuntermcp_resolve_referenceResolve a loose legal citation or reference to the exact matching document(s).Read-only

    Resolve Reference

    Resolve a loose legal citation or reference to the exact matching document(s). Given an informal citation like "art. 6 code civil", "BVerfG 1 BvR 123/20", or "Regulation (EU) 2016/679", finds and returns the precise record. Supports ECLI, CELEX, article numbers, case numbers, NOR identifiers, and informal abbreviations.

    Inputs

    referencestringrequired
    No description.
    hint_countrystring
    No description.
    hint_typestring
    No description.
    include_full_textboolean
    No description.default false
  • legaldatahuntermcp_report_source_issueReport an issue with a data source to the platform maintainer.Write

    Report Source Issue

    Report an issue with a data source to the platform maintainer. Use this to flag problems encountered during research — missing data, broken URLs, indexing errors, or data quality issues. Reports are reviewed by the Legal Data Hunter team. Does not count against your usage quota.

    Inputs

    issue_typestringrequired
    Type of issue — one of: "unavailable", "indexing", "invalid_url", "data_quality", "other".
    sourcestringrequired
    Source identifier for the data source being reported, e.g. "FR/Judilibre" or "AT/RIS".
    descriptionstring
    Free-text description of the problem encountered.default