
D365fo Connector
Connects Claude to Microsoft Dynamics 365 Finance & Operations environments via OData. Includes 22 tools covering queries, aggregations, CRUD operations, and schema inspection. The smart bit: production environments are enforced read-only while UAT and dev boxes allow writes. You get metadata caching, batch operations, saved query templates, and cross-entity joins. Authentication uses Azure AD client credentials. Ships with an interactive setup wizard that configures environments, tests connectivity, and wires up Claude Desktop. Useful if you're analyzing financial data, building reports, or prototyping integrations without clicking through the D365 UI or writing custom API clients.
- tools
- 22
- auth
- Secret needed
- transport
- STDIO
- env vars
- 4
- last updated
- Mar 15, 2026
Tools
22 toolsPublic tool metadata for what this MCP can expose to an agent.
list_environmentsList all configured D365 environments with connection status and permissions.
List all configured D365 environments with connection status and permissions.
No parameter schema in public metadata yet.
set_environmentSet the working environment for the current session.
Set the working environment for the current session.
No parameter schema in public metadata yet.
describe_entityGet entity schema in a human-readable format.
Get entity schema in a human-readable format.
No parameter schema in public metadata yet.
execute_odataExecute a raw OData path against D365.
Execute a raw OData path against D365.
No parameter schema in public metadata yet.
aggregatePerform aggregations on D365 entity data.
Perform aggregations on D365 entity data.
No parameter schema in public metadata yet.
get_relatedFollow entity relationships to retrieve related records in a single call.
Follow entity relationships to retrieve related records in a single call.
No parameter schema in public metadata yet.
exportExport D365 entity data to CSV, JSON, or TSV format.
Export D365 entity data to CSV, JSON, or TSV format.
No parameter schema in public metadata yet.
compare_periodsCompare aggregations between two time periods (YoY, QoQ, MoM, or custom ranges).
Compare aggregations between two time periods (YoY, QoQ, MoM, or custom ranges).
No parameter schema in public metadata yet.
trendingTime series analysis with aggregation, growth rates, and moving averages.
Time series analysis with aggregation, growth rates, and moving averages.
No parameter schema in public metadata yet.
save_querySave a reusable query template for later execution.
Save a reusable query template for later execution.
No parameter schema in public metadata yet.
execute_saved_queryExecute a previously saved query template.
Execute a previously saved query template.
No parameter schema in public metadata yet.
delete_saved_queryDelete saved query templates.
Delete saved query templates.
No parameter schema in public metadata yet.
join_entitiesCross-entity joins using $expand or client-side join.
Cross-entity joins using $expand or client-side join.
No parameter schema in public metadata yet.
batch_queryExecute multiple queries in parallel.
Execute multiple queries in parallel.
No parameter schema in public metadata yet.
search_entityRobust entity search with automatic fallback strategies.
Robust entity search with automatic fallback strategies.
No parameter schema in public metadata yet.
analyze_customerComprehensive single-call customer analysis.
Comprehensive single-call customer analysis.
No parameter schema in public metadata yet.
create_recordCreate new records (non-production environments only).
Create new records (non-production environments only).
No parameter schema in public metadata yet.
update_recordUpdate existing records (non-production environments only).
Update existing records (non-production environments only).
No parameter schema in public metadata yet.
delete_recordDelete records (non-production environments only).
Delete records (non-production environments only).
No parameter schema in public metadata yet.
batch_crudExecute multiple create/update/delete operations in a single batch request (non-production only).
Execute multiple create/update/delete operations in a single batch request (non-production only).
No parameter schema in public metadata yet.
compare_schemasCompare entity schemas between two environments to detect schema drift.
Compare entity schemas between two environments to detect schema drift.
No parameter schema in public metadata yet.
dashboardDisplay environment dashboard with health status, API statistics, and recent operations.
Display environment dashboard with health status, API statistics, and recent operations.
No parameter schema in public metadata yet.
Sponsors
Configuration
D365_TENANT_ID*Azure AD tenant ID
D365_CLIENT_ID*App registration client ID
D365_CLIENT_SECRET*secretApp registration client secret
D365_ENVIRONMENT_URL*D365 F&O environment URL, e.g. https://contoso.operations.dynamics.com
Readme
D365 Finance & Operations MCP Server
An MCP (Model Context Protocol) server that provides access to Microsoft Dynamics 365 Finance & Operations environments. Enables AI assistants like Claude to explore D365 metadata, query data, and perform write operations on non-production environments.
Features
- Multi-Environment Support - Connect to multiple D365 environments (production, UAT, dev)
- Read/Write Operations - Query data on all environments; create, update, delete on non-production only
- Production Safety - Production environments are always read-only by design
- MCP Resources for schema discovery and metadata exploration
- 22 Specialized Tools for flexible data access, aggregation, batch operations, and analysis
- Environment Dashboard - Health monitoring, API statistics, and operation tracking
- Secure Authentication via Azure AD client credentials
- Automatic Metadata Caching (24-hour TTL, per-environment)
Architecture
Resources
Details
- Repository
- github.com/zhound420/d365fo-claude-connector
- Package
@zhound/d365fo-mcp-server- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active