mcp-dotnet-diagnostics
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TMPDIR | No | The temporary directory path required on macOS for .NET diagnostics Unix socket. Find yours with echo $TMPDIR. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_gc_eventsA | Returns recent GC events for a target .NET process including collection generation (Gen0/Gen1/Gen2), duration, pause time, and timestamp. Use this when investigating periodic response time spikes, application pauses, memory that grows without releasing, or when get_memory_stats shows high Gen2 collection counts. Call get_memory_stats first to establish whether GC pressure is the root cause before drilling into individual events. |
| get_memory_statsA | Returns current .NET memory usage for a target process including total allocated bytes, GC generation collection counts (Gen0/Gen1/Gen2), Large Object Heap size, and memory pressure level. Use this when investigating memory leaks, unexpectedly high memory usage, frequent GC pauses, or slow application performance caused by garbage collection pressure. Call get_process_info first to confirm the process is reachable. |
| get_thread_statsA | Returns .NET ThreadPool statistics for a target process including worker thread count, available threads, queue length, and completed work items. Use this when investigating slow response times, request timeouts, or deadlocks — high queue length and low available threads indicates thread starvation, which is a common cause of latency spikes in .NET APIs. Call get_memory_stats first — GC pressure is a frequent cause of thread starvation. |
| get_process_infoA | Returns basic information about a running .NET process by PID. Includes process name, uptime, .NET runtime version, OS platform, and CPU core count. Use this as the first step when investigating any .NET application — it confirms the process is reachable and provides baseline context before diving into memory or thread diagnostics. |
| get_environment_infoA | Returns runtime environment information for a target .NET process including .NET runtime version, OS details, processor count, memory, and process configuration. Use this when investigating version mismatches, environment-specific bugs, or unexpected runtime behavior. Call get_process_info first to confirm the process is reachable. |
| get_event_countersA | Returns all available EventCounter metrics from a .NET process including CPU usage, memory, GC, threading, exceptions, and JIT stats in a single call. Use this for a broad health overview when you don't know which specific area to investigate. For deeper analysis, follow up with get_memory_stats or get_thread_stats. |
| list_countersA | Lists all available EventCounter names and current values from a .NET process. Use this to discover what metrics are available before calling get_memory_stats. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aayushmdesai/mcp-dotnet-diagnostics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server