Dynamics 365 MCP. Operate your CRM and ERP via conversation.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Microsoft Dynamics 365 MCP Server connects your AI client directly into your core CRM and ERP systems. It lets you manage accounts, update opportunities, create support cases, and run financial queries using natural language chat.
Stop clicking through dashboards; just tell your agent what needs doing on the platform.
What your AI agents can do
Count records
Counts the number of records within a specified Dynamics 365 entity set for dashboard use.
Create record
Makes a brand new record in Dynamics 365 by accepting field values formatted as JSON.
Delete record
Permanently deletes an existing Dynamics 365 record. Be careful, this action cannot be reversed.
The agent can list contacts (list_contacts), retrieve specific accounts (get_record), and update basic account details using update_record.
You can query all open opportunities (list_opportunities) based on criteria like stage or estimated value, and you can create new records for sales orders (create_record).
The server allows creation of support incidents via create_record and retrieval of existing cases using list_cases, letting you track resolution status.
You can access financial records by querying journal entries and G/L accounts directly through the versatile query_dataverse tool.
Use core tools like get_record, create_record, update_record, or delete_record to interact with any entity set, including custom tables.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Microsoft Dynamics 365 MCP Server: 10 Tools for CRM & ERP Ops
These tools let your agent perform every core CRUD operation on Dynamics 365, from listing contacts to querying financial ledgers.
019d758acount records
Counts the number of records within a specified Dynamics 365 entity set for dashboard use.
019d758acreate record
Makes a brand new record in Dynamics 365 by accepting field values formatted as JSON.
019d758adelete record
Permanently deletes an existing Dynamics 365 record. Be careful, this action cannot be reversed.
019d758aget record
Retrieves all details for one specific Dynamics 365 record using its unique ID.
019d758alist accounts
Lists multiple accounts, allowing you to filter the results by specific criteria.
019d758alist cases
Retrieves a list of support cases or incidents currently tracked in Dynamics 365.
019d758alist contacts
Lists all contacts associated with accounts within your Dynamics 365 environment.
019d758alist opportunities
Retrieves a list of open sales opportunities, filtered by stage, close date, or estimated value.
019d758aquery dataverse
Queries any Dataverse entity set (accounts, contacts, opportunities, invoices, etc.) using OData filter syntax.
019d758aupdate record
Changes the values of an existing Dynamics 365 record; you must only specify which fields need changing.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Microsoft Dynamics 365, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Microsoft Dynamics 365 MCP Server connects your AI client directly into your core CRM and ERP systems. Forget clicking through dashboards just to do simple work; you'll just tell your agent what needs doing on the platform, period.
This server exposes tools that let you manage accounts, handle support tickets, move deals through the pipeline, and check financial records—all using natural language chat. You don't need to know where the button is; you just ask for the data or tell it to make the change.
Managing Accounts and Contacts:
You can list multiple customer accounts, filtering them down by whatever criteria you need. When you need details on a specific account, your agent uses get_record to pull every piece of information associated with that unique ID. If you're tracking who works at those companies, the server lets you list all contacts tied to any given account through list_contacts.
You can also change basic account details or update records using update_record, specifying only the fields that need tweaking.
Tracking the Sales Pipeline:
To get a read on current revenue, your agent uses list_opportunities, pulling open deals filtered by stage, close date, or estimated value. If you've closed a deal and need to document it, you can use create_record to build brand new sales orders into Dynamics 365. You can also handle the whole lifecycle of an opportunity using core tools like get_record and update_record, making sure every detail is current.
Handling Support Cases:
Need to know what’s broken? The server lets you retrieve a list of support incidents using list_cases. When a new issue pops up, your agent can create it immediately with create_record, letting you track resolution status without lifting a finger. You'll also use get_record and update_record to manage the specific details of any case file.
Running Complex Queries and Finance:
The real power here is in its versatility. Instead of clicking through multiple menus, your agent uses query_dataverse to query virtually any Dataverse entity set—that includes accounts, contacts, opportunities, invoices, and everything else stored in custom tables. If you need hard numbers for accounting, this tool lets you access financial records by querying journal entries or G/L accounts using OData filter syntax.
You can also use list_accounts to get a general count of your base records with the count_records tool, which is perfect for quick dashboard checks.
General Data Manipulation (CRUD):
Your agent has full control over core data operations across any entity set. It uses create_record when you need to build something from scratch; it relies on get_record to pull down specific details using an ID; and it employs update_record to change existing values without deleting anything important.
Remember, if a record is garbage, your agent can use delete_record to permanently wipe it out of the system. It’s that much power in one chat window.
How Dynamics 365 MCP Works
- 1 First, you subscribe to the server and supply your Azure AD credentials (Client ID, Client Secret, Tenant ID) along with your Dynamics 365 environment URL.
- 2 Next, you talk to your AI client. You tell it what business task you need done—like 'Find all opportunities over $100K closing this quarter.'
- 3 The agent translates that request into the necessary tool calls (e.g.,
list_opportunitiesorquery_dataverse), executes them against Dynamics 365, and returns a clean, actionable answer.
The bottom line is: your AI client runs complex business logic against your enterprise data without you ever leaving the chat window.
Who Is Dynamics 365 MCP For?
This server is for professionals who spend too much time switching between internal systems just to get a single answer. It's built for sales reps stuck in manual follow-ups, service agents drowning in tickets, and finance teams needing instant visibility into ledger details.
Use the chat to check pipeline status or update an opportunity’s value without opening the Dynamics UI.
Create and update support cases instantly, tracking progress and ensuring nothing falls through the cracks.
Query specific journal entries or G/L accounts across Business Central by simply describing what you need to see.
Audit data integrity and check entity configurations by asking the agent to list or count records in any Dataverse table.
What Changes When You Connect
- You can update deal values or ownership instantly. Instead of clicking into the Opportunity record, just tell the agent to use
update_recordon a specific ID with new values. - Get instant pipeline health checks using
list_opportunities. The agent filters by stage and probability, giving you a quick summary without manual filtering in the UI. - Need contact info? Running
list_contactslets your agent pull all associated contacts for an account ID. It groups the data so you don't have to open 20 different profile pages. - Stop navigating complex financial menus. Use
query_dataverseto ask for specific journal entries or G/L accounts, and get the raw data back in seconds. - It handles case management better than anything else. Creating a new ticket with
create_recordis one prompt; tracking its status requires zero clicks.
Real-World Use Cases
Need to check Q3 pipeline value fast
A rep needs to know the total value of all opportunities in the 'Negotiate' stage for the next quarter. Instead of running a report and clicking through filters, they prompt: 'What's the total opportunity value that is Negotiating this quarter?' The agent uses list_opportunities to return the total figure instantly.
A customer service issue needs logging
An agent gets a call about billing. They ask the agent: 'Create a high-priority support case for Acme Corp regarding invoice #456.' The agent uses create_record, fills in all required fields, and gives the ticket number back immediately.
Update an old deal value
A sales manager knows a deal is bigger than expected. Instead of finding the Opportunity ID and manually opening it to update the field, they prompt: 'Increase the estimated value for opportunity XYZ by $50k.' The agent uses update_record directly.
Audit account data structure
The admin needs to see if there are any orphaned contacts linked to a specific account. They ask: 'List all contacts for Account ABC.' The agent runs list_contacts, providing an immediate, clean list of every associated person.
The Tradeoffs
Treating the server like a search bar
You ask: 'Tell me about all my accounts and opportunities.' The agent responds with a wall of raw, unformatted data from query_dataverse that you can't read.
→
Be specific. Use specialized tools where they exist. Instead of general querying, use list_opportunities to narrow results by stage, or list_accounts if you only care about the account list.
Trying to update without an ID
You say: 'Update Contoso's deal value.' The agent fails because it doesn't know which record you mean, leading to a generic error.
→
Always provide the unique identifier. Use update_record and make sure to include the specific record ID in your prompt for accuracy.
Over-relying on general queries
You ask: 'Show me all recent support cases.' This should use list_cases, but if you just run a generic query, it might pull irrelevant financial data instead.
→
Use the specialized tools. If you need support tickets, always call for list_cases. It guarantees the right tool is used.
When It Fits, When It Doesn't
Use this server if your primary bottleneck is accessing and manipulating operational data across multiple Dynamics modules (CRM, ERP, Support). You need to perform complex actions—like 'Find all contacts for a high-value deal that needs billing'—in one chat session.
Don't use this server if you just need a simple report or visualization. If your goal is pure data visualization, stick to dedicated BI tools (like Power BI). Also, if you only need to read basic public account info and don't have the full Dynamics credentials setup, the general query_dataverse might be too broad; try using specialized lists like list_accounts first. This tool is for action, not just reading.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Microsoft Dynamics 365. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Finding a specific deal or contact shouldn't require navigating five separate tabs.
Today, you have to jump through hoops: log into Dynamics, go to the Opportunities tab, filter by stage 'Negotiate,' then click on individual records one by one to check the associated contacts. Then, if you need billing info, you're starting over in a different module.
With this MCP server, your agent does that whole sequence for you. You just say: 'Give me the contact list and current opportunity value for all accounts marked as high risk.' It runs `list_accounts` and then pipes those results into `list_contacts` and `list_opportunities`, giving you a single, clean answer.
Using the `query_dataverse` tool means getting raw data from any entity set.
Before this, if you needed financial ledger details or custom records outside of standard accounts/opportunities, you were stuck. You had to ask an admin for a report export, wait 15 minutes, and then manually upload the CSV back into your workflow.
Now, `query_dataverse` lets you talk directly to those complex tables—be it custom product schemas or historical invoice data. It keeps your entire process inside the chat flow.
Common Questions About Dynamics 365 MCP
How does authentication work with Dynamics 365? +
Dynamics 365 uses OAuth 2.0 via Microsoft Entra ID (Azure AD). You register an app in Azure Portal, obtain a Client ID and Client Secret, configure API permissions for Dynamics CRM, and create an Application User in your Dynamics environment.
Can I query custom entities and tables in Dataverse? +
Yes. The query_dataverse tool queries any entity in Dataverse — standard or custom. Use OData filter expressions, $expand for related entities, and $select for specific columns.
Does it work with both Dynamics 365 Sales and Business Central? +
Yes. The MCP server supports the Dataverse Web API (for Sales, Service, Marketing) and the Business Central API (for financials, inventory, purchasing). Just point to the correct environment URL.
Can I advance opportunities through pipeline stages? +
Absolutely. The update_record tool can update the stage, probability, estimated revenue, and close date of any opportunity. The agent also supports advancing records through Business Process Flows.
How do I use filters when calling the `list_opportunities` tool? +
You must specify criteria using OData syntax in your call. This allows you to narrow down results by stage, close date, or estimated value before fetching them.
What permissions are required to use the `create_record` tool? +
The calling user must have write access rights for the target entity set. If you lack permission, your agent will receive a specific error code detailing the scope restriction.
If I run `get_record` with an invalid or non-existent GUID, what happens? +
The system returns a clear 'Record Not Found' error. Your AI client must handle this failure state and prompt the user for the correct identifier.
How can I optimize data retrieval when using `query_dataverse`? +
Always use OData filter syntax to limit the scope of the query. Don't pull all fields or records; specify exactly which criteria and fields you need.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Verint Community
Empower your AI to interact with Verint Community platforms.
BCB Full — Inteligência Financeira Completa do Brasil
The definitive Brazil Central Bank Mega-Server: 22 tools spanning PTAX dollar quotes, 150+ currencies, Selic rates, CDI, IPCA/IGP-M inflation, Focus Survey expectations, GDP, debt, PIX, and universal access to 20,000+ SGS statistical time series.
Telekom Malaysia (TM) OIP
Orchestrate Telekom Malaysia (TM) services — manage broadband plans, service orders, and network usage directly from any AI agent.
You might also like
MarketMuse (AI Content Strategy & SEO)
Plan and optimize content via MarketMuse AI — analyze topic authority, generate content briefs, and audit SEO performance.
Blip
Build intelligent chatbots for WhatsApp, Messenger, and web that engage customers with conversational commerce flows.
U.S. Treasury Budget — Federal Revenue, Spending & Deficit
Track the U.S. Federal Government's wallet. Access daily Treasury cash balances, monthly and yearly federal revenue/spending, and track the ongoing multi-trillion dollar budget deficit.