4,500+ servers built on MCP Fusion
Vinkius

Dynamics 365 MCP. Operate your CRM and ERP via conversation.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

Microsoft Dynamics 365 MCP on Cursor AI Code Editor MCP Client Microsoft Dynamics 365 MCP on Claude Desktop App MCP Integration Microsoft Dynamics 365 MCP on OpenAI Agents SDK MCP Compatible Microsoft Dynamics 365 MCP on Visual Studio Code MCP Extension Client Microsoft Dynamics 365 MCP on GitHub Copilot AI Agent MCP Integration Microsoft Dynamics 365 MCP on Google Gemini AI MCP Integration Microsoft Dynamics 365 MCP on Lovable AI Development MCP Client Microsoft Dynamics 365 MCP on Mistral AI Agents MCP Compatible Microsoft Dynamics 365 MCP on Amazon AWS Bedrock MCP Support

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.

+ 7 more capabilities included
Manage Account Records

The agent can list contacts (list_contacts), retrieve specific accounts (get_record), and update basic account details using update_record.

Track the Sales Pipeline

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).

Handle Support Cases

The server allows creation of support incidents via create_record and retrieval of existing cases using list_cases, letting you track resolution status.

Query Financial Data

You can access financial records by querying journal entries and G/L accounts directly through the versatile query_dataverse tool.

Execute General CRUD Operations

Use core tools like get_record, create_record, update_record, or delete_record to interact with any entity set, including custom tables.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

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.

count019d758a

count records

Counts the number of records within a specified Dynamics 365 entity set for dashboard use.

create019d758a

create record

Makes a brand new record in Dynamics 365 by accepting field values formatted as JSON.

delete019d758a

delete record

Permanently deletes an existing Dynamics 365 record. Be careful, this action cannot be reversed.

get019d758a

get record

Retrieves all details for one specific Dynamics 365 record using its unique ID.

list019d758a

list accounts

Lists multiple accounts, allowing you to filter the results by specific criteria.

list019d758a

list cases

Retrieves a list of support cases or incidents currently tracked in Dynamics 365.

list019d758a

list contacts

Lists all contacts associated with accounts within your Dynamics 365 environment.

list019d758a

list opportunities

Retrieves a list of open sales opportunities, filtered by stage, close date, or estimated value.

query019d758a

query dataverse

Queries any Dataverse entity set (accounts, contacts, opportunities, invoices, etc.) using OData filter syntax.

update019d758a

update 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
Start building

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. 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. 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. 3 The agent translates that request into the necessary tool calls (e.g., list_opportunities or query_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.

Sales Representative

Use the chat to check pipeline status or update an opportunity’s value without opening the Dynamics UI.

Customer Service Agent

Create and update support cases instantly, tracking progress and ensuring nothing falls through the cracks.

Finance Analyst

Query specific journal entries or G/L accounts across Business Central by simply describing what you need to see.

CRM Administrator

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_record on 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_contacts lets 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_dataverse to 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_record is one prompt; tracking its status requires zero clicks.

Real-World Use Cases

01

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.

02

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.

03

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.

04

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

How we secure it →

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

count_records create_record delete_record get_record list_accounts list_cases list_contacts list_opportunities query_dataverse update_record

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.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 10 tools

We've already built the connector for Dynamics 365. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 10 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.