Setup and Configuration
Prerequisites
Before running the FlowOn AI MCP Server, ensure the following are in place:
| Requirement | Details |
|---|---|
| FlowOn Logic | Installed and licensed in the target Dataverse environment |
| Dataverse Connection | Connection string or service principal credentials for the target environment |
| .NET Runtime | .NET 8 or later |
| AI Client | An MCP-compatible AI assistant (Claude, GitHub Copilot, etc.) |
Configuration
The server is configured through appsettings.json. At minimum, provide your Dataverse connection string and specify which FlowOn products are active in your environment:
{
"ConnectionStrings": {
"Dataverse": "AuthType=ClientSecret;Url=https://yourorg.crm.dynamics.com;..."
},
"FlowOn": {
"Products": ["FlowOnLogic", "FlowOnBpm"]
}
}
Product Values
| Value | FlowOn Product |
|---|---|
FlowOnLogic | Enables Logic Block, Logic Flow, Logic Recipe, and Project tools |
FlowOnBpm | Enables Business Process tools |
Only include products that are installed and licensed in the connected environment. Tools for unlicensed products will not be registered.
Running with Docker
The MCP Server ships with a Dockerfile for containerised deployments:
docker build -t flowon-mcp-server .
docker run -e ConnectionStrings__Dataverse="AuthType=ClientSecret;..." flowon-mcp-server
Environment Variable Overrides
Any appsettings.json value can be overridden using environment variables following the standard .NET configuration pattern (__ as section separator):
| appsettings.json Key | Environment Variable |
|---|---|
ConnectionStrings:Dataverse | ConnectionStrings__Dataverse |
FlowOn:Products | FlowOn__Products |
Connecting to Your AI Client
Once the server is running, connect it to your AI client by pointing the client's MCP configuration at the server's endpoint. The server supports both stdio and HTTP/SSE transport modes.
stdio Mode
Suitable for local development and desktop AI clients:
{
"mcpServers": {
"flowon": {
"command": "dotnet",
"args": ["run", "--project", "FlowOn.Xrm.AI.McpServer"]
}
}
}
HTTP/SSE Mode
Suitable for server-hosted deployments and team-shared MCP configurations:
{
"mcpServers": {
"flowon": {
"url": "http://your-mcp-server-host:port/sse"
}
}
}
Refer to your AI client's documentation for the exact configuration format and file location.
One MCP Server Per Environment
┌─────────────────────────────────────────────────────────────────────┐
│ ENVIRONMENT ISOLATION PATTERN │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MCP Server │ │ MCP Server │ │ MCP Server │ │
│ │ (Dev) │ │ (UAT) │ │ (Prod) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Dataverse │ │ Dataverse │ │ Dataverse │ │
│ │ Dev Env │ │ UAT Env │ │ Prod Env │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ AI agents connect to the environment-specific instance. │
│ Managed solution protection prevents accidental production edits. │
│ │
└─────────────────────────────────────────────────────────────────────┘
Configure a separate MCP Server instance for each Dynamics 365 environment. This ensures AI agents operate only in the intended environment and that Managed Solution Protection guards production correctly.