Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Elekto MCP for SQL Server

by elekto-com-brversion 2.3.4i★ –iRuns on your computer
Registry nameio.github.elekto-com-br/elekto-mcp-sql

Install

Overview

Description from the maker (original English)

Read-only SQL Server introspection and querying: schema, definitions, dependencies and data.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Databases & datasets

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "elekto-sql": {
      "command": "dnx",
      "args": [
        "Elekto.Mcp.Sql",
        "--yes"
      ]
    }
  }
}

Run this in your terminal

claude mcp add elekto-sql -- dnx Elekto.Mcp.Sql --yes

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "elekto-sql": {
      "command": "dnx",
      "args": [
        "Elekto.Mcp.Sql",
        "--yes"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "elekto-sql": {
      "type": "stdio",
      "command": "dnx",
      "args": [
        "Elekto.Mcp.Sql",
        "--yes"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account elekto-com-br, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Databases & datasetsi

  • More stars than 0% of the other 1137 servers in this category
  • Published to the registry more recently than 66% of the other 1137 servers in this category
  • Basic checks equal to or better than 100% of the other 1137 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Elekto MCP for SQL Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.3.4) reached the registry 23 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need .NET on your computer.

What can I use instead?

In the same category: Supabase, MongoDB MCP Server, Elasticsearch MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Supabase

by supabase

Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.

Computer or cloud★ 2,993Apache-2.0Updated yesterday
Install

MongoDB MCP Server

by mongodb-js

MongoDB Model Context Protocol Server

Runs on your computer★ 1,157Apache-2.0Updated 3 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Elekto.Mcp.Sql

Read-only MCP server for SQL Server 2017+ introspection and querying (tested on 2019 and 2022). Exposes schema metadata, object definitions, and data queries via the MCP protocol (stdio), allowing GitHub Copilot (and other MCP clients, like Claude, etc.) to understand your database structure without storing credentials in the repository.

⚠️ Privacy and Data Security Warning

MCP servers act as a bridge between your local data and AI language models. When you use this server with an AI assistant (such as GitHub Copilot, Claude, or others), the following happens:

  1. The AI agent calls tools on this server to read data from your SQL Server database.
  2. The results — which may include table schemas, stored procedure definitions, or actual row data — are sent back to the AI agent and transmitted to the LLM provider's infrastructure for analysis.
  3. This means your data leaves your machine and is sent to a third-party service (Microsoft, Anthropic, OpenAI, etc.), subject to their respective terms of service and privacy policies.

Before connecting this server to any database, carefully consider:

  • What data could be read? Does it include PII, financial records, trade secrets, or other sensitive information?
  • Who is the LLM provider and what are their data retention and privacy policies?
  • Are you authorized to share this data with that third party under applicable laws and regulations?

Recommendations:

  • Never connect to databases containing sensitive data unless you have explicitly assessed and accepted this risk.
  • Use database accounts with the minimum required privileges (read-only, restricted to specific schemas where possible).
  • Use max_query_rows to limit how much data can be returned in a single call.
  • Prefer databases with anonymized or synthetic data for development and exploration.
  • AI agents can be extremely creative in finding ways to execute a task. Altouht this server is designed to be read-only and to validate all inputs, there is always a risk of unintended consequences when exposing database access to an AI agent.

Regardless of the precautions you take, the responsibility for any consequences arising from the use of this tool rests entirely with you. This software is provided *as is* with no warranties of any kind.

Available Tools

ToolDescription
list_databasesDatabases registered in the configuration
get_database_overviewHigh-level database summary (counts, size, connection metadata), and whether the login sees everything
check_permissionsWhat the connected login can and cannot see, the GRANT that completes it, and whether it could write
get_schema_summaryAggregated metrics by schema (objects, rows, size)
list_schemasSchemas in a database (excluding system schemas)
list_tablesUser tables with schema, dates, approximate rows and estimated size; filterable by schema and name pattern
list_viewsUser views, filterable by schema and name pattern
find_columnsEvery table and view holding a column whose name matches a pattern
list_proceduresUser stored procedures (with basic complexity metrics)
list_functionsUser-defined functions (with basic complexity metrics)
get_table_schemaColumns with unambiguous type declarations, all extended properties, PKs, FKs, checks, uniques and indexes with key order and declared key width
get_view_definitionDDL definition + columns of a view, with the same column detail
get_procedure_definitionCREATE PROCEDURE text
get_function_definitionCREATE FUNCTION text
get_dependency_graphObject dependency edges (FK + SQL dependencies)
get_table_usageReferences to a table across FKs and SQL modules
get_data_profileColumn profile (null ratio, distinct count, min/max, top values)
get_index_healthDuplicate/unused index diagnostics + missing-index suggestions
compare_schemasCompares table/column structure between two configured databases
generate_dependency_dotGraphviz DOT dependency graph with node metadata (node_kind)
query_tableSELECT from a table or view with filtering, grouping, secure aggregates, sorting, sampling and pagination

Upgrading from 1.x

Version 2.0.0 changes what the tools return and how their parameters are declared. Nothing needs reconfiguring — connection files, .mcp.json and the CLI arguments are unchanged — but anything that parses the output will notice:

ChangeWhat to do
query_table returns an object, not an arrayRead the rows from rows; check truncated
Failures return ok: false content instead of raising a tool errorTest for ok === false before treating the payload as data
Column results gained type_declaration, max_length_chars, is_persisted and extended_propertiesPrefer type_declaration over max_length, which is bytes
description on a column is now an alias for extended_properties.MS_DescriptionNothing; it still works
Optional tool parameters are no longer nullableNothing over MCP. Direct C# callers pass "" (or 0) instead of null
New: find_columns; list_tables and list_views take a name_patternNothing; both are additive

Everything else — every other tool, every other field — is unchanged.

What changed in 2.1.0

Nothing changes shape: arrays are still arrays and objects keep every field they had. A few values now say "unknown" instead of passing a guess for a fact, which is worth knowing if you parse them:

ChangeWhy
New: check_permissionsSays what the login is missing, per tool, with the GRANT that fixes it
get_database_overview, get_table_usage, get_index_health and generate_dependency_dot gained a visibility blockSo a result the login could only partly see says so
list_procedures / list_functions rows gained definition_visible; line_count and join_count are null when it is falseA hidden definition used to read as a body of 0 lines
referenced_object_count is null, and get_table_usage's sql_module_usage is null, when the login cannot read sys.sql_expression_dependenciesBoth used to fail the whole call with error 229
get_index_health returns the duplicates and null for the DMV sections when the login lacks the server permissionIt used to fail outright, losing the part that needs no permission
get_*_definition of a name the login cannot see returns ok: false instead of [][] read the same for "does not exist" and "hidden from you"
SQL errors carry their number, and the hint tells permission, missing name and syntax apartOne generic hint covered all three

What changed in 2.2.0

No tool result changes shape. What changes is how the server starts and how it is packaged:

ChangeWhy
The server starts without any connection, states it in its server instructions, and every tool answers ok: false with the file to create, where it looked and an exampleA server that exited at startup showed only as "failed", and failed in every project when registered for all of them
A configuration that cannot be read (invalid JSON, a %{VARIABLE} that is not set, a --connections file that is missing or empty) is reported the same way, instead of ending the processThe error now reaches whoever calls the tools
While nothing is loaded, every call looks for the configuration againA connections file created after the server started is used without a restart
The package is listed among nuget.org's MCP servers and carries .mcp/server.jsonSo it can be found there, with a ready configuration on its MCP Server tab

The process no longer exits with code 1 when the configuration is missing or unreadable. Anything that relied on that exit code should read a tool's answer instead. The README also gained setup instructions for Claude Code and Codex.

What changed in 2.3.0

No tool result changes shape; what changes is what the tools say about themselves, which is what an agent chooses them by:

ChangeWhy
Every tool declares a title and the MCP annotations readOnlyHint, idempotentHint, destructiveHint: false and openWorldHint: falseClients can show the tools as safe, and agents need not infer it from prose
Every description says what the tool does, when to use it and which tool to use insteadSo an agent picks the right one of 21 tools the first time
The server always sends instructions on connecting, describing how the tools fit togetherPreviously it sent them only when no connection was configured

What changed in 2.3.1

Nothing changes shape. generate_dependency_dot now says which way its arrows point, what it returns besides the DOT text, how to render it and when another tool fits better. The server is listed in the MCP Registry as "Elekto MCP for SQL Server", and each release now also appears under the repository's GitHub Releases.

What changed in 2.3.2

Nothing changes shape. When no connection is configured, the guidance returned to the agent now tells it to agree with the user before writing anything, and never to write a password into the connections file or anywhere else, using %{VARIABLE} in its place. It also points to connections the project may already keep where this server does not look (spring.datasource.url in application.properties or application.yml, or a sqlserver:// or mssql:// URL in a .env file), for the agent to show the user rather than for the server to parse.

What changed in 2.3.3

Nothing changes shape. The tool shipped System.Security.Cryptography.Pkcs 9.0.13, which Microsoft.Data.SqlClient brings in and which two .NET denial of service advisories affect: GHSA-846f-f764-76mx (CVE-2026-84008, high) and GHSA-2fmv-rv2c-59x7 (CVE-2026-70162, moderate). It now ships the fixed 10.0.13. Update the global tool with dotnet tool update -g Elekto.Mcp.Sql; a dnx configuration that names no version picks up 2.3.3 by itself.

This is also the first release whose GitHub Release carries the package, with a build provenance attestation; Verifying a release shows how to check it.

What changed in 2.3.4

Nothing changes shape. The tool now runs on `Microsoft.Data.SqlC

Only the beginning is shown; read the rest in the repo

Ask PopNx