Skip to content

mcp_search_records

PhuocLe edited this page Jun 20, 2026 · 3 revisions

Summary

Field Value
Tool name search_records
MCP title Search records by keyword
Category basic
Implementation DynamicsCrm.DevKit.Cli/Mcp/Tools/SearchRecordsTool.cs
Estimated token count ~302 tokens (tools/list tool JSON, o200k_base, measured 2026-06-18)
Last verified 2026-06-18

MCP Tool Description (Exact)

Dataverse Relevance Search (full-text, ranked, with highlights) across entities. action='search' (needs search_term) or 'status' (config: enabled state, indexed entities/fields, sync status, storage). Requires Relevance Search enabled. Max 100 results — use execute_fetchxml for larger / precise filtering.

WHEN TO USE:
- Find records by keyword across multiple entities
- Quick text search when the exact field is unknown
- Check Relevance Search config / indexed entities (action='status')

Parameters

Name Type Required Default Description
action string No "search" 'search' or 'status'.
search_term string No "" Required for search. 1–100 chars. Syntax: + (AND), | (OR), - (NOT), * (wildcard), "phrase", () (group).
entities string No "" Comma-separated entity Display Names or logical names (e.g. 'Account,contact'). Empty = all searchable.
top integer No 50 1–100.
filter string No "" OData filter (eq, ne, gt, ge, lt, le, and, or, not). E.g. 'statecode eq 0'.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "description": "'search' or 'status'.",
      "default": "search"
    },
    "search_term": {
      "type": "string",
      "description": "Required for search. 1–100 chars. Syntax: + (AND), | (OR), - (NOT), * (wildcard), \"phrase\", () (group).",
      "default": ""
    },
    "entities": {
      "type": "string",
      "description": "Comma-separated entity Display Names or logical names (e.g. 'Account,contact'). Empty = all searchable.",
      "default": ""
    },
    "top": {
      "type": "integer",
      "description": "1–100.",
      "default": 50
    },
    "filter": {
      "type": "string",
      "description": "OData filter (eq, ne, gt, ge, lt, le, and, or, not). E.g. 'statecode eq 0'.",
      "default": ""
    }
  },
  "required": []
}

Related MCP Resources

Resource URI / URI template MIME type Reason
data_operations_guide docs://data_operations_guide text/markdown Inferred from source: Field type formats, FetchXML relationship joins, and search syntax. Read this when manage_record, execute_fetchxml, or search_records returns an error.

When To Use

  • Find records by keyword across multiple entities
  • Quick text search when the exact field is unknown
  • Check Relevance Search config / indexed entities (action='status')

Notes

  • Use the exact MCP description and parameter schema above as the authoritative contract.

Example

{
  "action": "string"
}

Output

Returns CallToolResult from the MCP server. The response content and structured fields follow the tool implementation and model returned by SearchRecordsTool.search_records.

Prompt Examples

  • "Search Dataverse for this customer name across accounts and contacts."
  • "Check whether Relevance Search is enabled and list indexed tables."
  • "Search active records matching this phrase and return the top 20 results."

Clone this wiki locally