# D365 Finance & Operations MCP MCP

> Dynamics 365 Finance & Operations equips your AI agent to handle core enterprise functions. It lets you track inventory levels across multiple warehouses, pull detailed financial journals and ledger activity, manage customer records, and monitor sales order statuses using natural language queries.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** financial-journals, ledger-management, enterprise-resource-planning, inventory-control, sales-orders, business-operations

## Description

This MCP connects your AI client directly to Dynamics 365 Finance & Operations, giving it full visibility into your core business systems. You can ask the agent to audit specific financial periods by listing ledger journals or check real-time stock counts across every warehouse without opening a single dashboard tab.

Need to know why inventory is low? The agent doesn't just guess; it pulls data from multiple endpoints, checking everything from released products to current sales orders. Because this MCP runs on Vinkius, you can trust the entire chain of commands. Every function call generates a cryptographically signed audit trail, meaning every piece of financial and operational data processed is tamper-proof by design. You get full visibility into exactly what your agent did, which is critical when dealing with ledger activity.

## Tools

### get_d365_fo_metadata
Retrieves basic structural information about the environment you're connected to.

### get_inventory_on_hand
Gets real-time counts of product stock across every warehouse location.

### get_sales_order_details
Pulls all the specific information for a single, identified sales order.

### list_d365_customers
Provides a complete list of every customer account registered in your system.

### list_d365_sales_orders
Generates a master list of all sales order headers, helping you see what's open or closed.

### list_d365_vendors
Lists every vendor account that is registered with your company.

### list_ledger_journals
Retrieves a list of all available financial journals and their headers for audit purposes.

### list_released_products
Gives you a comprehensive catalog listing of every product ready to be sold.

### quick_finance_health_audit
Runs an instant, high-level check summarizing recent sales activity and current inventory status.

### search_sales_orders
Searches for specific sales orders using keywords or known order numbers.

## Prompt Examples

**Prompt:** 
```
List all sales orders for customer 'C0001'.
```

**Response:** 
```
I've found 12 sales orders for customer 'C0001', including 'SO-101' (Open) and 'SO-105' (Invoiced). Would you like to see the line items for the most recent open order?
```

**Prompt:** 
```
Show me the current inventory on-hand for product 'P001'.
```

**Response:** 
```
Product 'P001' (High-Speed Hub) has 45 units on-hand across all warehouses. 30 units are in 'Warehouse East' and 15 in 'Warehouse West'. Should I check for any pending arrivals for this product?
```

**Prompt:** 
```
Search for sales orders with 'Pending' status.
```

**Response:** 
```
I've retrieved 8 sales orders with a 'Pending' or 'Backordered' status. High-priority orders include 'SO-9988' for 'Tech Corp' and 'SO-7766' for 'Global Logistics'. Would you like the detailed status for SO-9988?
```

## Capabilities

### Track Stock Levels
The agent gets the current count of products in stock across all physical warehouses.

### Audit Financial Records
It lists financial journals and checks posting statuses for various legal entities.

### View Order History
The agent pulls detailed information and status updates on specific sales orders or a list of all open ones.

### Manage Vendor/Customer Lists
You can ask the system for complete lists of registered customers or vendors in your account.

### Check System Status
It retrieves basic metadata about the specific D365 environment you're connected to.

## Use Cases

### The finance team needs to reconcile cash flow.
Instead of pulling reports on ledger journals, the analyst asks the agent for recent financial movements. The agent calls `list_ledger_journals` and provides a summary that helps the team quickly identify where posted money came from.

### A supply chain manager needs to know if an order can ship.
The manager asks, 'Can we fulfill SO-9988?' The agent uses `get_sales_order_details` to get the required items and then calls `get_inventory_on_hand` to confirm physical stock is available.

### A sales team member needs a customer's full history.
The agent uses `list_d365_customers` to pull the basic record, then runs `list_d365_sales_orders` to see every order that customer has placed over time.

### An auditor needs a quick snapshot of company health.
The agent performs a single call using `quick_finance_health_audit`. This immediately gives the auditor high-level summaries of recent sales activity and stock levels, saving hours of clicking.

## Benefits

- Check inventory levels fast. Instead of navigating warehouse tabs, you ask the agent for `get_inventory_on_hand` and get a precise number instantly.
- Audit financial history easily. Use `list_ledger_journals` to pull ledger data without needing to know which legal entity or journal type to click on first.
- Track specific orders. If you need status updates, the agent can use `search_sales_orders` to pinpoint an order by its number or a customer keyword.
- Build full visibility. You can list vendors (`list_d365_vendors`) and then immediately check if those vendors are linked to open sales orders using other tools.
- Get a quick overview. The `quick_finance_health_audit` tool gives you a summary of high-level sales activity and stock levels in one go.

## How It Works

The bottom line is: you talk to your AI client like talking to a person who already has access to all your company's databases.

1. First, connect your AI client and authorize access using your Azure AD credentials. This establishes a secure link to your enterprise data.
2. Next, ask the agent for what you need—for example, 'What is the inventory on hand for product P001?' The agent routes this request through the appropriate tool call.
3. Finally, it returns a clear summary of the raw data and status, allowing you to continue the conversation or build out a new automation.

## Frequently Asked Questions

**How do I find out what products are available?**
Use `list_released_products` to get a complete catalog list of every product your company can sell. This is the foundational data for all inventory checks.

**Can I search sales orders by status?**
Yes, use `search_sales_orders`. You can filter results using specific keywords or order numbers to narrow down exactly which records you need.

**Do I need multiple MCPs for finance tasks?**
No. This single MCP contains all the necessary tools—from `list_d365_customers` to `list_ledger_journals`—to handle most financial and operational workflows.

**What if I need a summary of everything?**
The `quick_finance_health_audit` tool is built for this. It runs an instant check giving you high-level summaries of sales activity and stock levels without deep configuration.

**When I use `list_ledger_journals`, how are my credentials handled?**
Your credentials pass through a zero-trust proxy. They are used only in transit and never stored on disk, keeping your financial data secure the whole time.

**If I run `get_d365_fo_metadata` and get an error, how do I debug it?**
The MCP returns detailed API status codes. These specific messages tell you if the issue is due to permissions, bad data format, or environment configuration.

**When I use `get_sales_order_details`, what level of detail can I expect?**
You get comprehensive line-item details for that order. The response includes associated product codes, customer names, and vendor information linked to the single sales order number.

**If I use `list_d365_vendors` and the list is very large, are there limits?**
No. The tool manages pagination automatically. You’ll receive results in manageable chunks until all available vendor data has been successfully retrieved.