Skip to main content

.NET / C#

Embed the StackQL MCP server in a .NET application, either as a downloaded sidecar or vendored into your build as a self-contained executable. The client is the official C# MCP SDK.

info

The embedded binary is downloaded and sha256-verified on first run, or vendored into your app. See the common contract.


Install

dotnet add package StackQL.Mcp

An optional StackQL.Mcp.AgentFramework package adds Agent Framework integration. Requires .NET 8 or later.


Quick start

using StackQL.Mcp;

await using var server = await StackqlMcp.CreateBuilder()
.WithMode(StackqlMode.ReadOnly)
.WithAuth("github", "null_auth")
.StartAsync();

var tools = await server.ListToolsAsync();
var result = await server.CallToolAsync("list_services",
new() { ["provider"] = "github", ["row_limit"] = 5 });

The API is StackqlMcp.CreateBuilder() with .WithMode(), .WithAuth(), .WithBinary(), .WithBundlePath(), .WithApproot(), and .WithCommand(), then .StartAsync(), .ListToolsAsync(), and .CallToolAsync().


Modes

The builder defaults to StackqlMode.ReadOnly. Call .WithMode() with StackqlMode.Safe, StackqlMode.DeleteSafe, or StackqlMode.FullAccess to escalate. Escalation is explicit - the server will not enable mutation or lifecycle tools unless you opt in.


Vendoring / embedding

Two ways to source the binary:

  • Sidecar (default) - the platform bundle is downloaded on first run, sha256-verified, cached at ~/.stackql/mcp-server-bin/<version>/<platform-key>/, and spawned over stdio.
  • Vendored - embed the bundle as a build resource to produce a self-contained executable:
dotnet build -p:StackqlVendorBundle=/path/to/stackql-mcp-windows-x64.mcpb

You can also override the binary or bundle at runtime with the STACKQL_MCP_BIN or STACKQL_MCP_BUNDLE environment variables.


Demo app

driftwatch is a .NET Worker Service that embeds the read-only StackQL server and, on a schedule, runs a suite of SQL drift checks (public exposure, missing tags or licenses, baseline drift) and posts the findings to a Teams Adaptive Card.


github.com/stackql/stackql-mcp-dotnet