get-user-infoLABSCO SUMMARY
Account records only, but in both directions — read and write.
fetch-accounts and get-associated-opportunities give an agent enough to answer a question about a customer, and create-account plus update-account let it act on the answer in the same conversation. Opportunities are read-only here, and the rest of Dynamics — contacts, cases, leads — sits outside what these tools reach.
What it is
A Node server over the Microsoft Dynamics 365 APIs, centred on accounts: fetch them, create one, update one, and read the opportunities associated with a given account.
What you get
- The authenticated user's details — name, user ID and business unit ID
- Every account in the Dynamics 365 org, returned as JSON
- The opportunities associated with an account ID
- A new account created from the account details you supply, returned as created
- An existing account updated by ID, with the updated record returned
Requirements
A Microsoft Dynamics 365 org and an identity the server can authenticate as — get-user-info reports the name, user ID and business unit it is running under. Node.js v16 or newer; built in TypeScript on the @modelcontextprotocol/sdk.
Setup effort
Build from source — git clone https://github.com/srikanth-paladugula/mcp-dynamics365-server
USE CASES
Checking which identity you are connected as before touching live CRM data
Read back the user, ID and business unit the server authenticated with, so a write lands where you expect.
Pulling up the pipeline on a customer
Find the account, then list the opportunities associated with its ID.
Adding a customer that came out of a call
Create the account from details dictated in the conversation and get the created record back to confirm.
Correcting details on an account without opening the CRM
Locate the account, then update it by ID and read the updated record.
5 tools
Listed in project docs. Your client may show a different list.
fetch-accountsget-associated-opportunitiescreate-accountupdate-accountBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation. create-account and update-account write to the live CRM that D365_URL points at; the other three read. Names use dashes.
Requires
- Node.js
- CLIENT_ID in your environment
- CLIENT_SECRET in your environment
- TENANT_ID in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/srikanth-paladugula/mcp-dynamics365-server
cd mcp-dynamics365-server
npm installCreate a .env file in the root of the project and add CLIENT_ID / CLIENT_SECRET / TENANT_ID / D365_URL
npm run build
node build\index.js(Optional) Register your MCP Server with Claude Desktop by editing claude_desktop_config.json
MCP Clients
Claude Desktop
{
"mcpServers": {
"Dynamics365": {
"command": "node",
"args": [
"<YOUR_MCP_SERVER_BUILD_FILE_EX>"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"TENANT_ID": "<YOUR_TENANT_ID>",
"D365_URL": "Dynamics 365 url"
}
}
}
}