MCP documentation menu

datapulse_disputedb_search

Legal ResearchScope: datapulse:dnsOutput: JSONRead-only

UDRP case law, policy, and guidance vector search (~928K searchable chunks, WIPO + Forum)

Description

Search UDRP case law, policy, and guidance using semantic vector search. Database: ~928K chunks from ~117,000 panel decisions (WIPO and Forum/NAF, 1999-2026), all embedded and searchable, 64 WIPO Overview 3.0 sections in 101 chunks, 52 WIPO Guide Q&A items, 35 ICANN UDRP Policy paragraphs, and 106 UDRP Rules paragraphs. Embedded with BGE-M3 (1024-dim).

CITATION RULE: Only cite case numbers and decisions that appear in the results from this tool. Each result includes a citation field — use it verbatim. Do not cite UDRP cases from memory; LLM training data contains incorrect and fabricated case numbers.

Each result returns: source_type (decision|overview_section|guide|policy), content (chunk text), metadata (varies by source type — see below), score (cosine similarity, 0-1, higher=better), chunk_index (position within source).

Decision results also carry top-level case_number, case_uid, domain_names and outcome, read from the decision record itself. Prefer these over the same keys inside metadata.

IMPORTANT — domain_names are the DISPUTED domains only. They are not the complainant’s own domains. A brand owner’s primary domain (e.g. microsoft.com) will NOT appear here, because it was never the subject of a dispute. Its absence is correct, not missing data.

This tool CANNOT answer “which disputes did company X file” — that is keyed on complainant, which is a decision field and is not carried in chunk metadata. Do not infer a company’s enforcement history from domain_names; the two describe opposite relationships.

Data caveat: a residue of decisions carry a malformed domain_names entry where several domains were concatenated into one string (e.g. “nexusautopartsusa.comnexusautopartsus.com”). Almost all were repaired upstream; about 15 rows remained on 2026-09-05, values the conservative detection rule cannot separate. datapulse_disputedb_lookup flags these with malformed: true; search results carry plain strings and do not. If an entry contains a TLD in a NON-FINAL position, treat the list as unreliable and cite the case number without the domains. This cannot always be spotted: “dolphins.comjets.com” is a syntactically valid domain name.

Metadata by source_type:

  • decision: case_number (WIPO D2024-0001, Forum bare numeric 1733616), case_uid (wipo:D2024-0001 — provider-qualified, unambiguous across providers), source, outcome (transfer, denied, cancelled, terminated, withdrawn, split decision, case active), domain_names
  • overview_section: section_number (e.g. 2.1), title, source=wipo_overview, cited_cases (the case numbers the section cites — first 25 by default; cited_cases_total and cited_cases_truncated appear when the list was cut, and include_all_cited_cases: true returns all of them)
  • guide: question_id (e.g. A01), question, section (A-I), section_heading, source=wipo_guide
  • policy: document (udrp_policy|udrp_rules), paragraph (e.g. 4(a)(i)), title, source=icann

Score interpretation (BGE-M3 cosine similarity): 0.72+ strong match, 0.65-0.72 relevant, 0.55-0.65 weak, below 0.55 likely irrelevant.

Best for: case precedents, bad faith/legitimate interests/confusing similarity research, panel consensus views, policy/rules lookups. Combine with DNS/RDAP/dpsearch for dispute analysis. See datapulse_help(topic="disputedb") for full documentation.

Parameters

ParameterTypeDescription
query
required
string
Semantic search query for UDRP case law, policy, and guidance. Use natural language questions about domain disputes, bad faith, legitimate interests, confusing similarity, procedural rules, etc.
Min length: 1Max length: 1000
include_all_cited_casesboolean
overview_section results carry cited_cases, the case numbers the section cites, cut to the first 25 by default; cited_cases_total and cited_cases_truncated: true mark a cut list. Pass true to receive every entry. Off by default because the largest section cites over a hundred cases.
Default: false
limitinteger
Number of results to return (1-20). Omit or pass 0 for the default of 10; values above 20 are capped to 20. Higher values useful for broad legal research; lower for targeted lookups.
Default: 10Min: 0Max: 20
min_scorenumber
Minimum cosine similarity score (0-1). Results below this threshold are excluded. Default 0.55. Use 0.65+ for high-precision queries, 0.45 for broad exploratory searches. 0 disables the filter entirely; a value outside 0-1 is rejected.
Default: 0.55Min: 0Max: 1
source_typestring[]
Restrict the search to certain kinds of source. Omit to search everything. Use [“overview_section”,“guide”,“policy”] when you want the AUTHORITATIVE STATEMENT of a rule: 295 curated chunks compete with ~928,000 decision chunks in one index, so a question phrased differently from the curated heading is usually answered by decisions QUOTING the rule rather than by the rule itself. Filtering makes a policy lookup deterministic instead of lucky.
Input schema (JSON)
{
  "additionalProperties": false,
  "properties": {
    "include_all_cited_cases": {
      "default": false,
      "description": "overview_section results carry `cited_cases`, the case numbers the section cites, cut to the first 25 by default; `cited_cases_total` and `cited_cases_truncated: true` mark a cut list. Pass true to receive every entry. Off by default because the largest section cites over a hundred cases.",
      "type": "boolean"
    },
    "limit": {
      "default": 10,
      "description": "Number of results to return (1-20). Omit or pass 0 for the default of 10; values above 20 are capped to 20. Higher values useful for broad legal research; lower for targeted lookups.",
      "maximum": 20,
      "minimum": 0,
      "type": "integer"
    },
    "min_score": {
      "default": 0.55,
      "description": "Minimum cosine similarity score (0-1). Results below this threshold are excluded. Default 0.55. Use 0.65+ for high-precision queries, 0.45 for broad exploratory searches. 0 disables the filter entirely; a value outside 0-1 is rejected.",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "query": {
      "description": "Semantic search query for UDRP case law, policy, and guidance. Use natural language questions about domain disputes, bad faith, legitimate interests, confusing similarity, procedural rules, etc.",
      "maxLength": 1000,
      "minLength": 1,
      "type": "string"
    },
    "source_type": {
      "description": "Restrict the search to certain kinds of source. Omit to search everything. Use [\"overview_section\",\"guide\",\"policy\"] when you want the AUTHORITATIVE STATEMENT of a rule: 295 curated chunks compete with ~928,000 decision chunks in one index, so a question phrased differently from the curated heading is usually answered by decisions QUOTING the rule rather than by the rule itself. Filtering makes a policy lookup deterministic instead of lucky.",
      "items": {
        "enum": [
          "decision",
          "overview_section",
          "guide",
          "policy"
        ],
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}

Generated from the live server (DataPulse MCP 1.0.0) on October 1, 2026.