D365FO MCP Server

A community-driven Microsoft Dynamics 365 Finance & Operations MCP server

Local serverstdioPython

What is the D365FO MCP server?

A community-driven Microsoft Dynamics 365 Finance & Operations MCP server. Exposed over MCP by the d365fo mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

Deploy the MCP server as a secure, internet-accessible HTTP endpoint with OAuth or API Key authentication. Perfect for web integrations and remote AI assistant access.

  • 49 comprehensive tools — covering all major D365 F&O operations across 9 functional categories
  • 12 resource types — with comprehensive metadata exposure and discovery capabilities
  • 2 prompt templates — for advanced workflow assistance
  • Multi-transport support — (FastMCP): stdio, HTTP, Server-Sent Events (SSE)
  • Production-ready — implementation with proper error handling, authentication, and security validation
  • Enhanced performance — (FastMCP): 40% faster startup, 15% lower memory usage

Its toolset

Everything the assistant can do here goes through one of these:

  • d365fo-mcp — /home/mcp_user/
  • Built — in dependency management
  • Troubleshooting — The Troubleshooting tool exposed by this server

Adding it to your client

approach on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Configuration

You will need 8 environment variables: D365FO_BASE_URL, D365FO_LOG_LEVEL, D365FO_CLIENT_ID, D365FO_CLIENT_SECRET, D365FO_TENANT_ID, D365FO_MCP_AUTH_CLIENT_ID, D365FO_MCP_AUTH_CLIENT_SECRET, D365FO_MCP_AUTH_TENANT_ID. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

When to reach for it

Plenty of database access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. D365FO's toolset — d365fo-mcp, Built, Troubleshooting — is a fair guide to whether it matches your workflow. It is maintained by mafzaal; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the d365fo mcp server does with a few real requests.

Available tools

ToolWhat it does
d365fo-mcp/home/mcp_user/
Builtin dependency management
TroubleshootingThe Troubleshooting tool exposed by this server.

How to install the D365FO MCP server

{
  "mcpServers": {
    "d365fo-client": {
      "command": "uvx",
      "args": ["approach"],
      "env": {
        "D365FO_BASE_URL": "your-value",
        "D365FO_LOG_LEVEL": "your-value",
        "D365FO_CLIENT_ID": "your-value",
        "D365FO_CLIENT_SECRET": "your-value",
        "D365FO_TENANT_ID": "your-value",
        "D365FO_MCP_AUTH_CLIENT_ID": "your-value",
        "D365FO_MCP_AUTH_CLIENT_SECRET": "your-value",
        "D365FO_MCP_AUTH_TENANT_ID": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
D365FO_BASE_URLEndpoint or connection string the server talks to.Yes
D365FO_LOG_LEVELConfiguration value read at startup.Optional
D365FO_CLIENT_IDConfiguration value read at startup.Optional
D365FO_CLIENT_SECRETCredential the server authenticates with.Yes
D365FO_TENANT_IDConfiguration value read at startup.Optional
D365FO_MCP_AUTH_CLIENT_IDConfiguration value read at startup.Optional
D365FO_MCP_AUTH_CLIENT_SECRETCredential the server authenticates with.Yes
D365FO_MCP_AUTH_TENANT_IDConfiguration value read at startup.Optional

Example prompts to try

  • Use D365FO to d365fo-mcp.
  • Use D365FO to Built.
  • Use D365FO to Troubleshooting.

Frequently asked questions

It connects D365FO to MCP-compatible AI assistants such as Claude and Cursor, exposing 3 tools (d365fo-mcp, Built, Troubleshooting) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with D365FO directly.