Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
APPLIES TO: Business Central 2025 release wave 1, version 26.0, and later
Model Context Protocol (MCP) Server telemetry gathers data about tool calls made through MCP Server configurations in Business Central. This telemetry helps you understand how external tools and services are being used through the MCP protocol.
Learn how to configure the MCP server inConfigure Business Central MCP Server.
MCP Server tool called
Occurs when an MCP Server tool is called from Business Central.
General dimensions
| Dimension | Description or value |
|---|---|
| message | MCP Server tool called: '{toolName}' |
| user_Id | The user telemetry ID for the user. From the user card, you can use user_Id to identify the user who triggered this telemetry event. Learn more in Assign a telemetry ID to users. |
Custom dimensions
| Dimension | Description or value |
|---|---|
| aadTenantId | Specifies the Microsoft Entra tenant ID used for Microsoft Entra authentication. For on-premises, if you aren't using Microsoft Entra authentication, this value is common. |
| companyName | The current company name. |
| environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
| environmentType | Specifies the environment type for the tenant, such as Production or Sandbox. Learn more in Environment Types. |
| eventId | RT0054 |
| configurationName | Specifies the name of the MCP configuration that was used for the tool call. |
| configurationSystemId | Specifies the system ID (GUID) of the MCP configuration record. |
| toolName | Specifies the name of the MCP tool that was called. |
| dynamicToolName | Specifies the action name for dynamic MCP tools. This dimension is populated when using dynamic tool configurations. |
| clientName | Specifies the name of the MCP client that initiated the tool call. |
| authAppId | Specifies the authenticated application ID from the security token. |
| result | Specifies the result of the operation. Possible values are Success or Failure. |
| totalTime | Specifies the total time the operation ran for. |
| serverExecutionTime | Specifies the amount of time the operation took on server. The time has the format hh:mm:ss.sssssss. |
| toolInvocationResult | Specifies the result of the MCP tool invocation. Possible values are Success or Failure. |
| toolInvocationFailureReason | Specifies the reason for the tool invocation failure. This dimension is only populated when toolInvocationResult is Failure. |
Sample KQL code
This KQL code can help you get started analyzing MCP Server tool calls:
traces
| where timestamp > ago(60d) // adjust as needed
| where customDimensions.eventId == 'RT0054'
| project timestamp
, aadTenantId = customDimensions.aadTenantId
, environmentName = customDimensions.environmentName
, environmentType = customDimensions.environmentType
, companyName = customDimensions.companyName
, configurationName = customDimensions.configurationName
, toolName = customDimensions.toolName
, dynamicToolName = customDimensions.dynamicToolName
, clientName = customDimensions.clientName
, toolInvocationResult = customDimensions.toolInvocationResult
, toolInvocationFailureReason = customDimensions.toolInvocationFailureReason
, totalTime = customDimensions.totalTime
, serverExecutionTime = customDimensions.serverExecutionTime
Sample KQL code for failed tool invocations
This KQL code can help you analyze failed MCP Server tool calls:
traces
| where timestamp > ago(60d) // adjust as needed
| where customDimensions.eventId == 'RT0054'
| where customDimensions.toolInvocationResult == 'Failure'
| project timestamp
, aadTenantId = customDimensions.aadTenantId
, environmentName = customDimensions.environmentName
, environmentType = customDimensions.environmentType
, companyName = customDimensions.companyName
, configurationName = customDimensions.configurationName
, toolName = customDimensions.toolName
, clientName = customDimensions.clientName
, toolInvocationFailureReason = customDimensions.toolInvocationFailureReason
| summarize FailureCount = count() by tostring(toolName), tostring(toolInvocationFailureReason)
| order by FailureCount desc
Sample KQL code for tool usage by configuration
This KQL code can help you understand which MCP configurations and tools are being used most frequently:
traces
| where timestamp > ago(30d) // adjust as needed
| where customDimensions.eventId == 'RT0054'
| summarize
TotalCalls = count()
, SuccessfulCalls = countif(customDimensions.toolInvocationResult == 'Success')
, FailedCalls = countif(customDimensions.toolInvocationResult == 'Failure')
, AvgServerExecutionTime = avg(toreal(customDimensions.serverExecutionTime))
by
ConfigurationName = tostring(customDimensions.configurationName)
, ToolName = tostring(customDimensions.toolName)
, ClientName = tostring(customDimensions.clientName)
| extend SuccessRate = round(100.0 * SuccessfulCalls / TotalCalls, 2)
| order by TotalCalls desc
To learn more about how to set up alerting on Business Central telemetry, see Alert on Telemetry.
Related information
Model Context Protocol (MCP) in Business Central overview
Configure Business Central MCP Server
Connect to Business Central MCP Server with Visual Studio Code
Connect to Business Central MCP server with non-Microsoft clients
Business Central Admin Center API MCP server
Monitoring and Analyzing Telemetry
Enable Sending Telemetry to Application Insights
Alert on Telemetry