Skip to content

mcp_create_records

PhuocLe edited this page Jun 20, 2026 · 3 revisions

Summary

Field Value
Tool name create_records
MCP title Create multiple records in parallel
Category basic
Implementation DynamicsCrm.DevKit.Cli/Mcp/Tools/CreateRecordsTool.cs
Estimated token count ~303 tokens (tools/list tool JSON, o200k_base, measured 2026-06-18)
Last verified 2026-06-18

MCP Tool Description (Exact)

Bulk create Dataverse records in parallel (data migration). Partial failures reported per-item; successes still committed. Input: inline JSON array, .json (from generate_demo_data), or .csv with Display Name headers (lookups resolved by Name: 1 match=GUID, 0/2+=skipped). Polymorphic lookup: 'field@targetentity'. Max 5000 records/call.

WHEN TO USE:
- Bulk insert > 1 records of the same entity (data migration, demo seeding)
- Pipe demo data: generate_demo_data → create_records
- For single-record CRUD use manage_record instead

FUZZY/AMBIGUITY:
- CSV lookup-by-name: exactly 1 match becomes GUID; 0 or 2+ is skipped with warning.

Parameters

Name Type Required Default Description
entity_name string Yes - Entity logical name (e.g., 'account').
records_json string Yes - JSON array, .json path, or .csv path. Max 5000.
max_parallelism integer No 0 Concurrent requests. 0 = server hint (x-ms-dop-hint, typically 4–8). Clamp 1–52. Use 1–2 for on-prem/throttled.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_name": {
      "type": "string",
      "description": "Entity logical name (e.g., 'account')."
    },
    "records_json": {
      "type": "string",
      "description": "JSON array, .json path, or .csv path. Max 5000."
    },
    "max_parallelism": {
      "type": "integer",
      "description": "Concurrent requests. 0 = server hint (x-ms-dop-hint, typically 4–8). Clamp 1–52. Use 1–2 for on-prem/throttled.",
      "default": 0
    }
  },
  "required": [
    "entity_name",
    "records_json"
  ]
}

Related MCP Resources

This tool does not require any MCP resources.

When To Use

  • Bulk insert > 1 records of the same entity (data migration, demo seeding)
  • Pipe demo data: generate_demo_data → create_records
  • For single-record CRUD use manage_record instead

Notes

  • FUZZY/AMBIGUITY: CSV lookup-by-name: exactly 1 match becomes GUID; 0 or 2+ is skipped with warning.

Example

{
  "entity_name": "string",
  "records_json": "string"
}

Output

Returns Task<CallToolResult> from the MCP server. The response content and structured fields follow the tool implementation and model returned by CreateRecordsTool.create_records.

Prompt Examples

  • "Create ten demo account records from this JSON array and report any rows that failed."
  • "Import these contacts from a CSV file and resolve lookup fields by name where possible."
  • "Bulk create sample opportunities with controlled parallelism and summarize partial failures."

Clone this wiki locally