← Back to Dynamics 365 Finance & Operations
Install Dynamics 365 Finance & Operations
Pick your client, copy the command, done.
1
Add it to Claude Code
claude mcp add -e "D365FO_TENANT_ID=${D365FO_TENANT_ID}" -e "D365FO_CLIENT_ID=${D365FO_CLIENT_ID}" -e "D365FO_CLIENT_SECRET=${D365FO_CLIENT_SECRET}" d365fo-client -- uvx --from d365fo-client@latest d365fo-fastmcp-serverRequired:
D365FO_TENANT_IDD365FO_CLIENT_IDD365FO_CLIENT_SECRETEnvironment Variables
Set these before running Dynamics 365 Finance & Operations.
VariableDescriptionRequired
D365FO_TENANT_IDAzure AD Tenant ID for D365 F&O authenticationYesD365FO_CLIENT_IDAzure AD Client ID for D365 F&O authenticationYesD365FO_CLIENT_SECRETAzure AD Client Secret for D365 F&O authenticationYesAvailable Tools (2)
Once configured, Dynamics 365 Finance & Operations gives your AI agent access to:
odata_queryExecute OData queries against D365 F&O entitiesentity_namequery_optionsget_metadataRetrieve metadata for D365 F&O entitiesentity_nameTry It Out
After setup, try these prompts with your AI agent:
→List all available entities in the Finance and Operations environment.
→Fetch the top 10 records from the Vendor entity using OData.
→Get the metadata definition for the SalesOrderHeader entity.
→Query the GeneralJournalEntry entity for records created in the last 30 days.
Prerequisites & system requirements
- An MCP-compatible client (Claude Code, Cursor, Windsurf, Claude Desktop, or Codex)
- Python 3.8+ with pip installed
- Docker installed and running
D365FO_TENANT_ID— Azure AD Tenant ID for D365 F&O authenticationD365FO_CLIENT_ID— Azure AD Client ID for D365 F&O authenticationD365FO_CLIENT_SECRET— Azure AD Client Secret for D365 F&O authentication
Alternative installation methods
Docker
docker run --rm -i -v d365fo-mcp:/home/mcp_user/ ghcr.io/mafzaal/d365fo-client:latestKeep this setup from going cold
Save the docs, env vars, and workflow around Dynamics 365 Finance & Operations in Conare so Claude Code, Codex, and Cursor remember it next time.