Server For MSSQL
БесплатноНе проверенProvides secure, API-key authenticated access to on-premise MSSQL databases, enabling SQL query execution, schema exploration, and stored procedure management t
Описание
Provides secure, API-key authenticated access to on-premise MSSQL databases, enabling SQL query execution, schema exploration, and stored procedure management through MCP.
README
This project implements a Model Context Protocol (MCP) server that provides secure access to on-premise MSSQL databases. It allows MCP clients to execute SQL queries, retrieve database metadata, and perform various database operations through a standardized protocol.
Features
- Database Tools: Execute SQL queries, stored procedures, and retrieve metadata
- Schema Exploration: Get database schemas, tables, views, columns, and distinct values
- Secure Authentication: API key-based authentication for database access
- Session Management: HTTP-based transport with session handling
- Error Monitoring: Integrated Sentry for error tracking and performance monitoring
- Docker Containerization: Easy deployment in containerized environments
Prerequisites
- Node.js 18+
- TypeScript
- Access to on-premise MSSQL database
- Docker and Docker Compose (for containerized deployment)
Installation
Clone the repository
Install dependencies:
npm installBuild the project:
npm run build
Configuration
Environment Variables
Set the following environment variables:
# Database Configuration
DB_USER=your-db-user
DB_PASSWORD=your-db-password
DB_SERVER=your-db-server
DB_NAME=your-db-name
TRUST_CERT=false # Set to true for self-signed certificates
# API Configuration
API_KEY=your-static-api-key
PORT=3000 # Optional, defaults to 3000
# Monitoring
SENTRY_DSN=your-sentry-dsn # Optional, for error tracking
Database Connection
The server connects to an MSSQL database using the mssql package. Ensure your database server allows connections from the server host.
Usage
Development
npm run dev
Production
npm run build
npm start
The server will start on the specified port (default 3000) and listen for MCP requests at /mcp endpoint.
Available Tools
get_databases
Get a list of all databases on the server.
Parameters: None
get_tables
Get a list of all tables in the specified database, organized by schema.
Parameters:
database(string, optional): Database name (defaults to configured default)
get_list_views
Get a list of all views in the specified database, organized by schema.
Parameters:
database(string, optional): Database name (defaults to configured default)
get_columns
Get column information for a specific table or view.
Parameters:
table(string): Fully qualified table name (schema.table)database(string, optional): Database name (defaults to configured default)
run_sql
Execute any SQL command on the database.
Parameters:
query(string): SQL query to execute
execute_stored_procedure
Execute a stored procedure with parameters.
Parameters:
procedure(string): Stored procedure nameparameters(array, optional): Array of parameter objects withnameandvaluedatabase(string, optional): Database name (defaults to configured default)
get_table_joins
Get join information from 'Joins' extended property on tables.
Parameters:
table(string, optional): Specific table name (if not provided, returns joins for all tables)database(string): Database name
get_distinct_values
Get distinct values from a column, capped at 50 unique values, plus the total count.
Parameters:
table(string): Fully qualified table name (schema.table)column(string): Column namedatabase(string, optional): Database name (defaults to configured default)
Docker Deployment
The project includes Docker support for easy deployment.
Prerequisites
- Docker and Docker Compose installed
Quick Start
- Clone the repository
- Configure environment variables in
.envfile - Start the services:
docker-compose up --build
This will start the MCP server in a container.
Environment Variables for Docker
# Database
DB_USER=your-db-user
DB_PASSWORD=your-db-password
DB_SERVER=your-db-server
DB_NAME=your-db-name
TRUST_CERT=false
# API
API_KEY=your-api-key
PORT=3000
# Monitoring
SENTRY_DSN=your-sentry-dsn
MCP Client Integration
This server can be used with any MCP-compatible client.
Configuration for Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"database-server": {
"command": "node",
"args": ["/path/to/project/dist/index.js"]
}
}
}
Testing the Server
You can test the server using curl:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'
Security Considerations
- Authentication is required for all operations using Bearer token
- Database credentials are stored securely as environment variables
- All queries are logged for audit purposes
- Sensitive data should be handled according to your organization's security policies
Development
Project Structure
src/
index.ts # Main entry point
server.ts # MCP server implementation with HTTP transport
config.ts # Configuration and environment variables
db.ts # Database connection pool management
auth.ts # API key authentication
tools.ts # MCP tool definitions and handlers
dist/ # Compiled JavaScript output
Dockerfile # Docker build configuration
docker-compose.yml # Multi-service Docker setup
Adding New Tools
- Define the tool schema in the
toolsarray intools.ts - Implement the handler function
- Add the handler to the
toolHandlersmap - Update the
handleToolCallfunction if needed
Building and Running
# Development with auto-reload
npm run dev
# Build for production
npm run build
# Run production build
npm start
# Clean build artifacts
npm run clean
Monitoring and Logging
The server integrates with Sentry for error tracking and performance monitoring. Configure SENTRY_DSN to enable.
All database operations are logged to the console for debugging and audit purposes.
Установка Server For MSSQL
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/stijnv18/MCP-ServerFAQ
Server For MSSQL MCP бесплатный?
Да, Server For MSSQL MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Server For MSSQL?
Нет, Server For MSSQL работает без API-ключей и переменных окружения.
Server For MSSQL — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Server For MSSQL в Claude Desktop, Claude Code или Cursor?
Открой Server For MSSQL на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolCompare Server For MSSQL with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
