Azure-Samples / Azure-Samples/SQL-AI-samples

MssqlMcp: Incorrect tool tags - 'List Tables' marked as destructive, 'Create Table' marked as read-only

Open
#90 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
331
Forks
208
PR merge metrics
No merged PRs in 30d

Description

## Problem

The MssqlMcp .NET server has incorrect tool tags that misrepresent the nature of operations:

**Current (incorrect) behavior:**
- `ListTables` is tagged as **destructive**
- `CreateTable` is tagged as **read-only**
- `DescribeTable` is tagged as **read-only** ✓ (correct)

**Expected behavior:**
- `ListTables` should be tagged as **read-only** (it only queries metadata via INFORMATION_SCHEMA or sys tables)
- `CreateTable` should be tagged as **destructive** or **write** (it modifies database schema)
- Other write operations (`InsertData`, `UpdateData`, `DropTable`) should also be reviewed for correct tagging

## Impact

This causes user confusion and may trigger unnecessary confirmations for safe read operations while failing to warn about actual schema modifications.

## Environment

- MssqlMcp version: Built from main branch (dotnet implementation)
- .NET 8.0
- MCP SDK: Official C# SDK

## Steps to Reproduce

1. Configure MssqlMcp server in Claude Desktop or VS Code
2. View available tools
3. Observe incorrect tags on `ListTables` (destructive) and `CreateTable` (read-only)

## Additional Context

The tool tags appear to be swapped or misconfigured in the tool definitions. `ListTables` performs a SELECT query on database metadata and should be completely safe/read-only.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.