A community-driven Microsoft Dynamics 365 Finance & Operations 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.
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.
Everything the assistant can do here goes through one of these:
d365fo-mcp — /home/mcp_user/Built — in dependency managementTroubleshooting — The Troubleshooting tool exposed by this serverapproach on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.
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.
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.
| Tool | What it does |
|---|---|
| d365fo-mcp | /home/mcp_user/ |
| Built | in dependency management |
| Troubleshooting | The Troubleshooting tool exposed by this 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.
| Variable | Description | Required |
|---|---|---|
| D365FO_BASE_URL | Endpoint or connection string the server talks to. | Yes |
| D365FO_LOG_LEVEL | Configuration value read at startup. | Optional |
| D365FO_CLIENT_ID | Configuration value read at startup. | Optional |
| D365FO_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| D365FO_TENANT_ID | Configuration value read at startup. | Optional |
| D365FO_MCP_AUTH_CLIENT_ID | Configuration value read at startup. | Optional |
| D365FO_MCP_AUTH_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| D365FO_MCP_AUTH_TENANT_ID | Configuration value read at startup. | Optional |
Read-only SQL access to Postgres — let your assistant inspect schemas and answer questions from real data.
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.
Serverless Postgres with database branching — point your assistant at Neon and let it work on disposable copies.