Skip to main content
Glama

odata_export_entity

Read-onlyIdempotent

Export any D365 F&O data entity via OData (transactional, no DMF project required). Universal: works for ANY public entity. Supports $select, $filter, $orderby and follows server paging automatically. Returns CSV (default) or JSON. Use for live/ad-hoc exports and small-to-medium volumes. For very large bulk exports prefer dmf_export_package. Resolve the entity set name from the KB first (find_entity_for_table / get_data_entity_info) -- do not invent entity names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoOptional OData $filter expression.
formatNoOutput format: 'csv' (default) or 'json'.csv
selectNoOptional $select (comma-separated fields). Empty = all fields.
maxRowsNoMax rows to return (0/empty = no cap, follows all pages). Default 1000.
orderByNoOptional $orderby expression.
entitySetYesOData public entity set name, e.g. 'CustomersV3', 'ReleasedProductsV2'.
outputPathNoOptional file path to also write the full result to (e.g. C:\temp\export.csv).
crossCompanyNoSet true to query across all legal entities (adds cross-company=true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already state readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description reinforces this by calling the export transactional and non-destructive. It adds meaningful behavioral detail beyond annotations, including automatic server paging, CSV/JSON return formats, and the absence of a DMF project requirement.

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

Conciseness5/5

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

The description is well-structured and information-dense without being bloated. It leads with the core purpose, then covers key capabilities, output formats, usage conditions, and a critical prerequisite in a compact, readable block.

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

Completeness5/5

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

For a read-only export tool with full parameter documentation and rich annotations, the description provides all necessary operational context: what it exports, how it pages, what formats it returns, when to use it, and what to do before calling it. The lack of an output schema is mitigated by the explicit statement that results are CSV or JSON.

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

Parameters3/5

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

Schema description coverage is 100%, so the structured schema already documents each parameter. The description adds general context about supported OData features ($select, $filter, $orderby) and paging, but these largely mirror the existing schema descriptions rather than adding new semantic depth, so the baseline score of 3 is appropriate.

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 clearly states the tool exports any D365 F&O data entity via OData, naming the action, resource, and mechanism. It also distinguishes itself from DMF-based exports by explicitly saying 'no DMF project required' and positioning it as a universal, live export path.

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

Usage Guidelines5/5

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

The description gives explicit guidance on when to use this tool: 'Use for live/ad-hoc exports and small-to-medium volumes.' It also names the alternative for large bulk exports ('prefer dmf_export_package') and instructs the agent to resolve the entity set name via find_entity_for_table/get_data_entity_info rather than guessing.

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.