KustoGraphAssistant
A Model Context Protocol (MCP) server that provides comprehensive guidance and best practices for creating and managing Kusto graph models in Azure Data Explorer.
claude mcp add --transport stdio cosh-kustographassistant dotnet run --project ${workspaceFolder}/KustoGraphAssistant/KustoGraphAssistant.csprojHow to use
KustoGraphAssistant is an MCP server that provides expert guidance for designing, simplifying, and optimizing Kusto (Azure Data Explorer) graph models. It exposes tools that help you craft robust graph schemas, learn best practices for graph queries, and master the graph-match operator for persistent graphs. When integrated with GitHub Copilot in VS Code, you can query the assistant in natural language and receive structured, actionable guidance, code templates, and KQL examples. The included tools cover general best practices, command guidance for KQL graph operations, schema simplification recommendations, and detailed graph-match guidance to improve performance and correctness.
To use the server, ensure your environment can run .NET 9.0 apps and that your MCP configuration is wired into VS Code as demonstrated in the installation instructions. Once started, you can ask the assistant for best practices on graph schemas, how to structure nodes and edges for common patterns (identity graphs, network topology, process flows), how to write efficient graph-match queries, and how to apply property bags or dedicated properties to manage schema complexity. The tools return guidance, templates, and example queries you can adapt to your data model and workload.
How to install
Prerequisites:
- .NET 9.0 or later installed on your machine
- Visual Studio Code installed
- GitHub Copilot extension for VS Code
- Access to the KustoGraphAssistant repository (or a clone of it)
Step-by-step installation:
- Clone the repository:
git clone https://github.com/cosh/KustoGraphAssistant.git
cd KustoGraphAssistant
- Build the project:
dotnet build
- Configure MCP in VS Code (as described in the README):
- In the project root, create a .vscode folder if it doesn’t exist.
- Create or edit .vscode/mcp.json with a server entry that points to the KustoGraphAssistant project:
{
"inputs": [],
"servers": {
"KustoGraphAssistant": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"${workspaceFolder}/KustoGraphAssistant/KustoGraphAssistant.csproj"
]
}
}
}
- Open the project in VS Code and ensure the MCP server is discoverable by Copilot. Follow any prompts to enable the custom MCP server in agent mode.
- Start using Copilot with the new tools. Open a file and ask for guidance such as: “What are the best practices for designing a graph model for user relationships?”
Additional notes
Tips and common considerations:
- This MCP server runs as a .NET 9.0 console app via stdio, so ensure your environment allows IPC with VS Code.
- If you modify the project structure, update the --project path in your mcp.json accordingly.
- For complex graphs, consider using GetSchemaSimplificationGuidance to determine when to use property bags versus dedicated properties.
- When debugging, you can request troubleshooting guidance from GetGraphCommandGuidance to surface common mistakes in graph-match queries.
- Ensure your Kusto (ADX) environment and schema align with the guidance, especially when experimenting with graph-match patterns and performance tips.
Related MCP Servers
mcp-gateway
MCP Gateway is a reverse proxy and management layer for MCP servers, enabling scalable, session-aware stateful routing and lifecycle management of MCP servers in Kubernetes environments.
SharpToolsMCP
A suite of MCP tools for AIs to analyze and modify C# solutions with high signal, Roslyn powered context.
GEmojiSharp
:octocat: GitHub Emoji for C#, dotnet and beyond
Mcp.Net
A fully featured C# implementation of Anthropic's Model Context Protocol (MCP)
openapi.client
OpenAPI Client is a toolkit that helps you create HTTP clients for external APIs based on their OpenAPI specifications. It simplifies the process of consuming and interacting with various web services.
tutorial -dotnet
This is a very basic example of how to create MCP servers in .NET