Sorry, the diff of this file is not supported yet
+8
-63
@@ -1,2 +0,1 @@ | ||
| <!-- mcp-name: io.github.mbentham/sqlaugur --> | ||
| # SqlAugur | ||
@@ -27,4 +26,2 @@ | ||
| Prerequisite: [.NET 10.0 runtime](https://dotnet.microsoft.com/download) | ||
| **1. Install** | ||
@@ -36,3 +33,3 @@ | ||
| **2. Configure** — create `~/.config/sqlaugur/appsettings.json` (Linux/macOS) or `%APPDATA%\sqlaugur\appsettings.json` (Windows), setting the connection string for your environment: | ||
| **2. Configure** — create `~/.config/sqlaugur/appsettings.json` (Linux/macOS) or `%APPDATA%\sqlaugur\appsettings.json` (Windows): | ||
@@ -51,13 +48,8 @@ ```json | ||
| **3. Connect** — add to your MCP client: | ||
| **3. Connect** — add to your MCP client (Claude Desktop, Claude Code, VS Code, etc.): | ||
| <details open> | ||
| <summary><strong>Claude Desktop</strong></summary> | ||
| Add to your [Claude Desktop config](https://modelcontextprotocol.io/quickstart/user) (`claude_desktop_config.json`): | ||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "sqlaugur": { | ||
| "sqlserver": { | ||
| "command": "sqlaugur" | ||
@@ -69,45 +61,2 @@ } | ||
| </details> | ||
| <details> | ||
| <summary><strong>Claude Code</strong></summary> | ||
| ```bash | ||
| claude mcp add --transport stdio sqlaugur -- sqlaugur | ||
| ``` | ||
| Or add to `.mcp.json` in your project root: | ||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "sqlaugur": { | ||
| "type": "stdio", | ||
| "command": "sqlaugur" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </details> | ||
| <details> | ||
| <summary><strong>VS Code / Copilot</strong></summary> | ||
| Add to `.vscode/mcp.json` in your workspace: | ||
| ```json | ||
| { | ||
| "servers": { | ||
| "sqlaugur": { | ||
| "command": "sqlaugur" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </details> | ||
| **4. Verify** — ask your AI assistant to `list_servers` and you should see your configured connection. | ||
| For Docker, Podman, and other install methods, see [Installation](#installation). | ||
@@ -186,3 +135,3 @@ | ||
| docker run -i --rm \ | ||
| -v /path/to/appsettings.json:/app/appsettings.json:ro,Z \ | ||
| -v /path/to/appsettings.json:/app/appsettings.json:ro \ | ||
| ghcr.io/mbentham/sqlaugur:latest | ||
@@ -196,3 +145,3 @@ | ||
| > **Note:** To reach a SQL Server on the host machine, use `host.docker.internal` (Docker Desktop) or `--network=host` (Linux). Replace `docker` with `podman` — all commands are identical. The `:Z` flag on volume mounts is required for SELinux-enabled systems (Fedora, RHEL); Docker Desktop users on macOS/Windows can omit it. | ||
| > **Note:** To reach a SQL Server on the host machine, use `host.docker.internal` (Docker Desktop) or `--network=host` (Linux). Replace `docker` with `podman` — all commands are identical. | ||
@@ -207,3 +156,3 @@ MCP client configuration: | ||
| "args": ["run", "-i", "--rm", | ||
| "-v", "/path/to/appsettings.json:/app/appsettings.json:ro,Z", | ||
| "-v", "/path/to/appsettings.json:/app/appsettings.json:ro", | ||
| "ghcr.io/mbentham/sqlaugur:latest"] | ||
@@ -224,3 +173,3 @@ } | ||
| volumes: | ||
| - ./appsettings.json:/app/appsettings.json:ro,Z | ||
| - ./appsettings.json:/app/appsettings.json:ro | ||
| ``` | ||
@@ -277,4 +226,3 @@ | ||
| 4. **User config directory** — `~/.config/sqlaugur/appsettings.json` on Linux, `%APPDATA%\sqlaugur\appsettings.json` on Windows | ||
| 5. **Azure Key Vault** — when `AzureKeyVaultUri` is set (see below) | ||
| 6. **App directory** — `appsettings.json` next to the DLL | ||
| 5. **App directory** — `appsettings.json` next to the DLL | ||
@@ -314,3 +262,2 @@ **Example configuration (Windows Authentication — recommended):** | ||
| | `EnableDynamicToolsets` | false | Enable progressive tool discovery — DBA tools load on demand via 3 meta-tools instead of at startup. Reduces initial context window usage. The `Enable*` flags still control which toolsets are allowed. | | ||
| | `AzureKeyVaultUri` | — | Azure Key Vault URI (e.g., `https://myvault.vault.azure.net/`). When set, secrets from the vault are added as a configuration source using [`DefaultAzureCredential`](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredential). Key Vault secret names use `--` as a section separator (e.g., a secret named `SqlAugur--Servers--prod--ConnectionString` maps to `SqlAugur:Servers:prod:ConnectionString`). | | ||
@@ -422,4 +369,2 @@ > **Security Note:** `appsettings.json` is gitignored to prevent accidental credential commits. See [SECURITY.md](SECURITY.md) for recommended authentication methods including Windows Authentication, Azure Managed Identity, and secure credential storage options. | ||
| > **Known limitation:** Progressive discovery relies on the MCP `notifications/tools/list_changed` notification to inform clients that new tools have been registered. Claude Code does not currently handle this notification ([anthropics/claude-code#4118](https://github.com/anthropics/claude-code/issues/4118)), so dynamically enabled toolsets will not appear. Use static mode (`EnableDynamicToolsets: false`) when using Claude Code. | ||
| ## Security | ||
@@ -426,0 +371,0 @@ |
+2
-2
@@ -5,3 +5,3 @@ <?xml version="1.0" encoding="utf-8"?> | ||
| <id>SqlAugur</id> | ||
| <version>1.3.1</version> | ||
| <version>1.3.0</version> | ||
| <authors>mbentham</authors> | ||
@@ -17,4 +17,4 @@ <license type="file">LICENSE</license> | ||
| </packageTypes> | ||
| <repository type="git" url="https://github.com/mbentham/SqlAugur.git" commit="ad46b84f5a584cf4967224ddb5284eaa491d5980" /> | ||
| <repository type="git" url="https://github.com/mbentham/SqlAugur.git" commit="e81e950458ce5499e34de0f2d86ca97fd9a4ff4e" /> | ||
| </metadata> | ||
| </package> |
@@ -9,5 +9,4 @@ { | ||
| ".NETCoreApp,Version=v10.0": { | ||
| "SqlAugur/1.3.1": { | ||
| "SqlAugur/1.3.0": { | ||
| "dependencies": { | ||
| "Azure.Extensions.AspNetCore.Configuration.Secrets": "1.4.0", | ||
| "Microsoft.Data.SqlClient": "6.1.4", | ||
@@ -36,15 +35,2 @@ "Microsoft.Extensions.Hosting": "10.0.3", | ||
| }, | ||
| "Azure.Extensions.AspNetCore.Configuration.Secrets/1.4.0": { | ||
| "dependencies": { | ||
| "Azure.Core": "1.50.0", | ||
| "Azure.Security.KeyVault.Secrets": "4.6.0", | ||
| "Microsoft.Extensions.Configuration": "10.0.3" | ||
| }, | ||
| "runtime": { | ||
| "lib/net8.0/Azure.Extensions.AspNetCore.Configuration.Secrets.dll": { | ||
| "assemblyVersion": "1.4.0.0", | ||
| "fileVersion": "1.400.25.10702" | ||
| } | ||
| } | ||
| }, | ||
| "Azure.Identity/1.17.1": { | ||
@@ -63,13 +49,2 @@ "dependencies": { | ||
| }, | ||
| "Azure.Security.KeyVault.Secrets/4.6.0": { | ||
| "dependencies": { | ||
| "Azure.Core": "1.50.0" | ||
| }, | ||
| "runtime": { | ||
| "lib/netstandard2.0/Azure.Security.KeyVault.Secrets.dll": { | ||
| "assemblyVersion": "4.6.0.0", | ||
| "fileVersion": "4.600.24.11403" | ||
| } | ||
| } | ||
| }, | ||
| "Microsoft.Bcl.AsyncInterfaces/8.0.0": { | ||
@@ -842,3 +817,3 @@ "runtime": { | ||
| "libraries": { | ||
| "SqlAugur/1.3.1": { | ||
| "SqlAugur/1.3.0": { | ||
| "type": "project", | ||
@@ -855,9 +830,2 @@ "serviceable": false, | ||
| }, | ||
| "Azure.Extensions.AspNetCore.Configuration.Secrets/1.4.0": { | ||
| "type": "package", | ||
| "serviceable": true, | ||
| "sha512": "sha512-cy8kazCYnG/IUHQ9048UUmObgbPsqkQbcdrCAPxl1JA6ylLBV+v+8586bOWpuSF6GZaxpulLGFDBBm3PR5t1gA==", | ||
| "path": "azure.extensions.aspnetcore.configuration.secrets/1.4.0", | ||
| "hashPath": "azure.extensions.aspnetcore.configuration.secrets.1.4.0.nupkg.sha512" | ||
| }, | ||
| "Azure.Identity/1.17.1": { | ||
@@ -870,9 +838,2 @@ "type": "package", | ||
| }, | ||
| "Azure.Security.KeyVault.Secrets/4.6.0": { | ||
| "type": "package", | ||
| "serviceable": true, | ||
| "sha512": "sha512-vwPceoznuT6glvirZcXlaCQrh1uzTSxpZUi2hRFNumHiS3hVyqIXI5fgWiLtlBzwqPJMTr0flUoSvGKjXXQlfg==", | ||
| "path": "azure.security.keyvault.secrets/4.6.0", | ||
| "hashPath": "azure.security.keyvault.secrets.4.6.0.nupkg.sha512" | ||
| }, | ||
| "Microsoft.Bcl.AsyncInterfaces/8.0.0": { | ||
@@ -879,0 +840,0 @@ "type": "package", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet