get_object_info
Fetch metadata for Dynamics 365 Finance and Operations objects (tables, classes, forms, etc.) in one call—supports parallel multi-object queries and type-specific options for efficient AI-assisted development.
Instructions
Read D365FO object metadata. For 2+ objects pass objects:[{objectType,objectName},…] (max 10) — ONE call, run in parallel, per-object sections back; never loop single calls. One object: {objectType, name}. Pick the kind via objectType: class, table, form, query, view, enum, edt, report, data-entity, menu-item, service, map, config-key, security-policy, macro. Extension types (table-extension, form-extension, enum-extension, edt-extension, data-entity-extension) list all extensions of a base object — pass the base object name or a full extension name (the dot suffix is stripped automatically). Type-specific flags go in options. For CLASSES, {"members":"names"} (optional {"prefix":...}) returns a fast IntelliSense-style member-name list instead of full metadata.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Exact object name (use search first if unsure). REQUIRED unless using objects[]. | |
| objects | No | PREFERRED for 2+ objects: read them all in one round trip. Each entry takes the same objectType/options as the single form, with the name in objectName. | |
| options | No | Type-specific reader flags: includeRdl (report), searchControl/maxControls (form), compact/methodOffset (class), fieldsOffset/fieldFilter (table), filter (macro), mode (edt), includeFields, includeOperations, modelName. On class/table/view/data-entity, {"method":"validateWrite","include":"signature"} returns ONE method (include: signature | source | both) — required before writing a CoC extension. {"include":"xml"} returns raw AOT XML + its path (page: startLine/endLine) — never shell out to find or read a file. Applies to every objects[] entry. | |
| objectType | No | Kind of object to read. REQUIRED unless using objects[]. |