{
  "markdown": "# C# SQL Server Dynamic MCP Suite\n\nA high-performance, unrestricted Model Context Protocol (MCP) server for Microsoft SQL Server. This server enables LLM agents (like Gemini CLI, Claude Desktop, or Cursor) to explore, search, and fully interact with any SQL Server database using dynamic credentials passed per-request.\n\n## Features\n\n- 🛠 **Full Tool Suite**:\n  - `execute_query`: Unrestricted execution of any SQL query (SELECT, INSERT, UPDATE, DELETE, DDL).\n  - `list_tables`: Discover all tables in the connected database.\n  - `describe_table`: Detailed schema inspection (columns, types, nullability).\n  - `search_tables`: Fuzzy search for table names.\n- 🔑 **Dynamic Credentials**: Credentials are not stored; the AI provides Server, Database, Username, and Password for each session or request.\n- ⚡ **Built on Official SDK**: Uses the official `ModelContextProtocol.Sdk` and .NET 9.0.\n- 🏗 **Enterprise Clean Code**: Implemented with Dependency Inversion, explicit DTOs, and Dapper for efficiency.\n\n## Installation\n\n### Prerequisite: .NET 9 SDK\nIf you don't have .NET 9 installed, download it from [dot.net](https://dotnet.microsoft.com/download/dotnet/9.0).\n\n### Option 1: Using Gemini CLI (Recommended)\nAdd this server to your Gemini CLI environment:\n```bash\ngemini mcp add sql-server dotnet run --project \"/path/to/gemini.dynamic.mcp.csproj\"\n```\n\n### Option 2: Manual Configuration\nAdd the server to your `~/.gemini/settings.json` or `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"sql-server-dynamic\": {\n      \"command\": \"dotnet\",\n      \"args\": [\n        \"run\",\n        \"--project\",\n        \"C:/path/to/gemini.dynamic.mcp.csproj\"\n      ]\n    }\n  }\n}\n```\n\n## Tools Documentation\n\n### 1. `execute_query`\nExecutes any SQL command. \n- **Parameters**: `ServerAddress`, `DatabaseName`, `Username`, `Password`, `SqlQuery`.\n\n### 2. `list_tables`\nLists all base tables in the current database.\n- **Parameters**: `ServerAddress`, `DatabaseName`, `Username`, `Password`.\n\n### 3. `describe_table`\nReturns columns, data types, and nullability for a specific table.\n- **Parameters**: `ServerAddress`, `DatabaseName`, `Username`, `Password`, `TableName`.\n\n### 4. `search_tables`\nSearches for tables using a LIKE pattern.\n- **Parameters**: `ServerAddress`, `DatabaseName`, `Username`, `Password`, `SearchPattern` (e.g., `%Users%`).\n\n## Security Note\nThis server has **no query restrictions**. It allows the agent to perform destructive operations if provided with high-privilege credentials. It is recommended to:\n1. Provide the AI with a **Read-Only** SQL user where possible.\n2. Only provide administrative credentials for specific maintenance tasks.\n3. Run the server in a secure, isolated environment.\n\n## License\nMIT\n",
  "bytes": 2732,
  "sha": "bd7e7b7b449dbe731fd79c00b04add6f15c94c6f10357c7bf96b30c8aca8c729",
  "repo_slug": "rinaldinie/gemini.dynamic.mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_rinaldinie_gemini_dynamic_mcp_234bb338/readme"
}