Skip to main content
Glama

list_custom_model_objects

Read-onlyIdempotent

WHEN: developer wants to see what custom/extension objects exist in their model. Triggers: 'list my custom objects', 'what have we customized', 'show ISV objects', 'list custom model', 'what objects are in our model'. List all D365 F&O objects in the custom/extension model directory on disk. Reads the file system directly -- always reflects the latest uncommitted state. Pass customModelPath to specify a model directory; or set it once via the D365-Custom-Model-Path header in your .mcp.json (applies to all tool calls automatically).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
customModelPathNoOptional: path to the custom model directory (e.g. 'C:\\AOTExport\\MyModel'). Overrides the header and server-configured path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only, idempotent, and non-destructive. The description adds genuinely useful behavior beyond that: it reads the file system directly and 'always reflects the latest uncommitted state,' which critically distinguishes it from any metadata/DB-backed listing. It also discloses the header-level persistence behavior for customModelPath. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the WHEN intent, followed by a crisp one-sentence definition and configuration mechanics. The trigger list is somewhat long (five examples) but earns its place for agent intent-matching. Every section contributes; nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-parameter, read-only tool this is quite complete: what, when, how it behaves, and parameter semantics are all covered. The only real gap is that there is no output schema and the description never hints at the return shape (object names? full paths?), which an agent would benefit from knowing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds real value by explaining parameter precedence — passing customModelPath overrides the header and server-configured path, while the D365-Custom-Model-Path header applies to all calls automatically. This precedence information is absent from the schema's parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'List all D365 F&O objects in the custom/extension model directory on disk' — and the WHEN/trigger section clarifies the exact user intent it serves. The custom/extension scope distinguishes it from siblings like list_objects, and the trigger examples ('show ISV objects', 'what have we customized') make matching unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The explicit WHEN clause plus five concrete trigger phrases give clear guidance on when to invoke this tool. It does not name alternative tools or state when not to use it, but the disk/custom-model scoping effectively separates it from general listing siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.