メインコンテンツまでスキップ
翻訳ページ

このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。

.NET / C#

StackQL MCP サーバーを .NET アプリケーションに組み込みます。ダウンロードしたサイドカーとして使用するか、ビルドにベンダリングして自己完結型の実行可能ファイルにします。クライアントは公式の C# MCP SDK です。

備考

組み込みバイナリは、初回実行時にダウンロードされて sha256 で検証されるか、アプリにベンダリングされます。共通コントラクトを参照してください。


インストール​

dotnet add package StackQL.Mcp

オプションの StackQL.Mcp.AgentFramework パッケージは、Agent Framework との統合を追加します。.NET 8 以降が必要です。


クイックスタート​

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 });

API は、.WithMode()、.WithAuth()、.WithBinary()、.WithBundlePath()、.WithApproot()、.WithCommand() を備えた StackqlMcp.CreateBuilder() と、その後に呼び出す .StartAsync()、.ListToolsAsync()、.CallToolAsync() で構成されます。


モード​

ビルダーのデフォルトは StackqlMode.ReadOnly です。昇格するには、StackqlMode.Safe、StackqlMode.DeleteSafe、StackqlMode.FullAccess のいずれかを指定して .WithMode() を呼び出します。昇格は明示的にのみ行われます。オプトインしない限り、サーバーはミューテーションツールやライフサイクルツールを有効にしません。


ベンダリング / 組み込み​

バイナリの入手方法は 2 つあります:

  • サイドカー(デフォルト):プラットフォームバンドルを初回実行時にダウンロードし、sha256 で検証して ~/.stackql/mcp-server-bin/<version>/<platform-key>/ にキャッシュし、stdio 経由で起動します。
  • ベンダリング:バンドルをビルドリソースとして組み込み、自己完結型の実行可能ファイルを生成します。
dotnet build -p:StackqlVendorBundle=/path/to/stackql-mcp-windows-x64.mcpb

実行時に STACKQL_MCP_BIN または STACKQL_MCP_BUNDLE 環境変数でバイナリやバンドルを上書きすることもできます。


デモアプリ​

driftwatch は、読み取り専用の StackQL サーバーを組み込んだ .NET Worker Service です。スケジュールに従って一連の SQL ドリフトチェック(パブリックへの公開、タグやライセンスの欠落、ベースラインからのドリフト)を実行し、結果を Teams の Adaptive Card に投稿します。


github.com/stackql/stackql-mcp-dotnet