-
Notifications
You must be signed in to change notification settings - Fork 16
mcp_create_records
PhuocLe edited this page Jun 20, 2026
·
3 revisions
| 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 |
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.
| 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. |
{
"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"
]
}This tool does not require any MCP resources.
- 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.
{
"entity_name": "string",
"records_json": "string"
}Returns Task<CallToolResult> from the MCP server. The response content and structured fields follow the tool implementation and model returned by CreateRecordsTool.create_records.
- "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."