Search

Last updated:

Search tools include field-level argument descriptions and runnable examples for MCP clients.

Tools Covered

ToolMutationBackend Routes
search_query_contentNo/ai-search/search/db-exact , /ai-search/search/content-search , /batch-open-thumbnails
folder_findNo/ai-search/search/db-exact

search_query_content

Search content and deal room resources using exact DB and/or semantic RAG search.

Backend routes: /ai-search/search/db-exact , /ai-search/search/content-search , /batch-open-thumbnails

Arguments

FieldTypeRequiredDescriptionExample
querystringNoNatural language search query text. Keep this user facing and specific to improve ranking quality.security questionnaire
search_typestring (all | content)NoSearch domain selector. `all` searches both deal room + content metadata, `content` narrows to content records.all
include_exactbooleanNoWhen true, include DB exact-match search against indexed metadata and text.true
include_ragbooleanNoWhen true, include semantic AI search (RAG) results.true
include_thumbnailsbooleanNoWhen true, fetch thumbnail payloads for provided/returned content IDs.true
thumbnail_content_idsarrayNoOptional explicit content IDs to fetch thumbnails for during search.["KBD0215806635290000000000"]
filtersobjectNoStructured filter object passed through to backend list/search endpoints.{"source":["PDF"],"tags":["TAG1775..."]}
include_archivedbooleanNoInclude archived records in semantic search.false
viewer_idstringNoOptional explicit user context override. If omitted, MCP resolves this from the authenticated token/session.IGH6969811447860000000000
organisation_idstringNoOptional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session.PDX7478889578460000000000
idempotency_keystringNoClient supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again.mcp-mutation-2026-05-13-001

Example Request

Hybrid search with semantic and exact results

{
  "jsonrpc": "2.0",
  "id": "search_query_content-1",
  "method": "tools/call",
  "params": {
    "name": "search_query_content",
    "arguments": {
      "query": "security deck for healthcare",
      "search_type": "all",
      "include_exact": true,
      "include_rag": true,
      "include_thumbnails": true,
      "thumbnail_content_ids": [
        "KBD0215806635290000000000"
      ]
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "search_query_content",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for search_query_content.",
    "status": 400,
    "retryable": false
  }
}

folder_find

Find folders by name with exact-match prioritization.

Backend routes: /ai-search/search/db-exact

Arguments

FieldTypeRequiredDescriptionExample
querystringYesNatural language search query text. Keep this user facing and specific to improve ranking quality.security questionnaire
limitnumberNoMaximum records to return.20
viewer_idstringNoOptional explicit user context override. If omitted, MCP resolves this from the authenticated token/session.IGH6969811447860000000000
organisation_idstringNoOptional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session.PDX7478889578460000000000

Example Request

Find folder by business keyword

{
  "jsonrpc": "2.0",
  "id": "folder_find-1",
  "method": "tools/call",
  "params": {
    "name": "folder_find",
    "arguments": {
      "query": "Proof",
      "limit": 20
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "folder_find",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for folder_find.",
    "status": 400,
    "retryable": false
  }
}