singlestore-mcp-server
SingleStore MCP Server is a tool for secure and structured interaction with SingleStore databases. It provides features like listing tables, reading data, and executing SQL queries efficiently and safely. The server enhances AI assistant capabilities by controlling database exploration and analysis.
SingleStore MCP Server
A Model Context Protocol (MCP) server that enables secure interaction with SingleStore databases. This server allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
Features
- List available SingleStore tables as resources
- Read table contents with support for various data formats (including BSON and JSON)
- Execute SQL queries with proper error handling
- Support for SingleStore-specific data types and functions
- Secure database access through environment variables
- Comprehensive logging
Installation
pip install singlestore-mcp-server
Configuration
Set the following environment variables:
SINGLESTORE_HOST=your_workspace_host
SINGLESTORE_PORT=3306 # Default SingleStore port
SINGLESTORE_USER=your_username
SINGLESTORE_PASSWORD=your_password
SINGLESTORE_DATABASE=your_database
Usage
With Claude Desktop
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"singlestore": {
"command": "uv",
"args": [
"--directory",
"path/to/singlestore_mcp_server",
"run",
"singlestore_mcp_server"
],
"env": {
"SINGLESTORE_HOST": "your_workspace_host",
"SINGLESTORE_PORT": "3306",
"SINGLESTORE_USER": "your_username",
"SINGLESTORE_PASSWORD": "your_password",
"SINGLESTORE_DATABASE": "your_database"
}
}
}
}
As a standalone server
# Install dependencies
pip install -r requirements.txt
# Run the server
python -m singlestore_mcp_server
Development
# Clone the repository
git clone https://github.com/yourusername/singlestore_mcp_server.git
cd singlestore_mcp_server
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
SingleStore-Specific Features
- Support for BSON data type and operations
- Native JSON handling with SingleStore JSON functions
- Support for SingleStore Kai (MongoDB API compatibility)
- Proper handling of SingleStore-specific data types
Security Considerations
- Never commit environment variables or credentials
- Use a database user with minimal required permissions
- Consider implementing query whitelisting for production use
- Monitor and log all database operations
Security Best Practices
This MCP server requires database access to function. For security:
- Create a dedicated SingleStore user with minimal permissions
- Never use admin credentials or administrative accounts
- Restrict database access to only necessary operations
- Enable logging for audit purposes
- Regular security reviews of database access
See SingleStore Security Configuration Guide for detailed instructions on:
- Creating a restricted SingleStore user
- Setting appropriate permissions
- Monitoring database access
- Security best practices
⚠️ IMPORTANT: Always follow the principle of least privilege when configuring database access.
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request