Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/A-Point-Systems-ltd/ms-sql-mcp/llms.txt

Use this file to discover all available pages before exploring further.

The MSSQL MCP Server targets .NET 9.0 and compiles to a self-contained win-x64 executable. Two publish paths exist: a standard Debug or Release build suitable for local development, and a single-file self-contained publish intended for production deployments. The production path bundles the .NET runtime so the target machine does not need .NET installed.

Requirements

RequirementVersion
.NET SDK9.0

Build (development)

Use dotnet build from inside the MssqlMcp directory for a quick Debug build, or target the solution file explicitly to build in Release configuration.
# Debug build
cd MssqlMcp
dotnet build

# Release build
dotnet build MssqlMcp.sln -c Release
The compiled executable is written to:
  • DebugMssqlMcp\bin\Debug\net9.0\MssqlMcp.exe
  • ReleaseMssqlMcp\bin\Release\net9.0\MssqlMcp.exe
Point your MCP client command at either path to run the server during development.

Single-file publish (production)

For production deployments, use the included PowerShell script to produce a self-contained, compressed, single-file executable.
.\publish-release.ps1

# Optional: forward extra arguments to dotnet publish
.\publish-release.ps1 --verbosity normal
The script calls dotnet publish with the ReleaseSingleFile publish profile and the Release configuration. When it completes successfully, the output is printed in green:
Done. Executable: C:\Development\MCPs\MS-SQL-Release\MssqlMcp.exe
The resulting MssqlMcp.exe is:
  • Self-contained — the .NET 9.0 runtime is bundled inside the executable
  • Single file — all managed assemblies and native libraries are packed into one file
  • CompressedEnableCompressionInSingleFile reduces the file size on disk
  • No debug symbolsDebugType=none keeps the output lean
Because the runtime is included, the target machine does not need .NET 9.0 installed.

Publish profile settings

The Release configuration <PropertyGroup> in MssqlMcp/MssqlMcp.csproj defines the key publish flags:
PropertyValueEffect
SelfContainedtrueBundles the .NET runtime — no runtime install required on the target machine
PublishSingleFiletruePacks all assemblies into one MssqlMcp.exe
PublishReadyToRunfalseSkips ahead-of-time compilation (reduces publish time and output size)
IncludeNativeLibrariesForSelfExtracttrueEmbeds native libraries so the single file is truly standalone
EnableCompressionInSingleFiletrueCompresses embedded content to reduce file size
DebugTypenoneStrips debug symbols from the output
DeleteExistingFilesfalsePreserves other files already present in PublishDir (such as linked docs or skills)
These same properties are also declared in MssqlMcp/Properties/PublishProfiles/ReleaseSingleFile.pubxml, which is what publish-release.ps1 activates via -p:PublishProfile=ReleaseSingleFile.

Changing the output path

The default output directory is C:\Development\MCPs\MS-SQL-Release\. To change it, update the <PublishDir> value in either of the following files (they are kept in sync — editing both is safest): MssqlMcp/MssqlMcp.csproj — inside the Release condition <PropertyGroup>:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
  <!-- Change this path to your preferred output directory -->
  <PublishDir>C:\Development\MCPs\MS-SQL-Release\</PublishDir>
  ...
</PropertyGroup>
MssqlMcp/Properties/PublishProfiles/ReleaseSingleFile.pubxml:
<PropertyGroup>
  <!-- Change this path to your preferred output directory -->
  <PublishDir>C:\Development\MCPs\MS-SQL-Release\</PublishDir>
  ...
</PropertyGroup>
You can also override the output directory at publish time without editing any files:
dotnet publish MssqlMcp\MssqlMcp.csproj -c Release -o "D:\MyMCPs\MssqlMcp\" -p:PublishProfile=
After publishing to a new path, update the command value in your MCP client configuration to point at the new executable location. Most MCP clients (Cursor, VS Code, Claude Desktop) require a server restart before picking up the new path.

Build docs developers (and LLMs) love