# LocalDB MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to query and interact with Microsoft SQL Server LocalDB (MSSQLLocalDB).
## Features
This MCP server provides the following tools:
| Tool | Description |
|------|-------------|
| `list_databases` | List all databases on the LocalDB instance |
| `connect_database` | Connect to a specific database |
| `list_tables` | List all tables in the current database |
| `describe_table` | Get detailed schema information (columns, keys, indexes) |
| `query` | Execute SELECT queries (read-only, safe) |
| `execute_sql` | Execute any SQL statement (INSERT, UPDATE, DELETE, DDL) |
| `database_info` | Get database metadata and statistics |
| `list_stored_procedures` | List all stored procedures |
| `get_procedure_definition` | Get the source code of a stored procedure |
| `sample_data` | Get sample rows from a table |
## Prerequisites
- Node.js 18 or higher
- Microsoft SQL Server LocalDB installed
- LocalDB instance named `MSSQLLocalDB` (default)
## Installation
```bash
npm install
npm run build
```
## Usage
### With VS Code (GitHub Copilot)
The `.vscode/mcp.json` file is already configured. Just open VS Code in this directory and the MCP server will be available.
### With Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"localdb-mcp": {
"command": "node",
"args": ["d:/MCP HOLE/localdb-mcp/build/index.js"]
}
}
}
```
### Manual Testing
```bash
npm start
```
## Example Queries
Once connected, you can ask your AI assistant:
- "List all databases on LocalDB"
- "Connect to the AdventureWorks database"
- "Show me all tables in the current database"
- "Describe the Customers table"
- "Show me the first 10 rows from the Orders table"
- "How many records are in the Products table?"
- "What stored procedures exist in this database?"
## Security Notes
- The `query` tool only allows SELECT statements for safety
- The `execute_sql` tool allows any SQL - use with caution
- Connections use Windows Authentication by default
- Only connects to LocalDB on the local machine
## Development
```bash
# Watch mode for development
npm run dev
# Build for production
npm run build
```
## Troubleshooting
### Connection Issues
1. Ensure LocalDB is installed:
```cmd
sqllocaldb info
```
2. Start the LocalDB instance if not running:
```cmd
sqllocaldb start MSSQLLocalDB
```
3. Verify the instance is accessible:
```cmd
sqllocaldb info MSSQLLocalDB
```
### Common Errors
- **"Cannot connect to LocalDB"**: Make sure the MSSQLLocalDB instance exists and is running
- **"Login failed"**: LocalDB uses Windows Authentication - ensure you have access
- **"Database not found"**: Use `list_databases` to see available databases
## License
MIT