Claude Multi-Database MCP Server
Enables querying and schema discovery on Alibaba Cloud MaxCompute databases, allowing AI agents to run SQL queries, search tables, and retrieve metadata.
Enables querying and schema discovery on ClickHouse databases, allowing AI agents to run SQL queries, search tables, and retrieve metadata.
Enables querying and schema discovery on PostgreSQL databases, allowing AI agents to run SQL queries, search tables, and retrieve metadata.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude Multi-Database MCP Serversearch for tables related to orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Claude Multi-Database MCP Server
A production-ready MCP (Model Context Protocol) server that enables Claude to query multiple heterogeneous databases with automatic schema discovery and intelligent table search.
π Features
π Multi-Database Support: PostgreSQL, ClickHouse, Alibaba Cloud MaxCompute
π Smart Schema Discovery: Automatically fetches table structures and column comments from databases
π Intelligent Search: Cross-database table search based on keywords
π‘οΈ Security First: SQL validation, read-only access, automatic LIMIT enforcement
β‘ Performance Optimized: Metadata caching, connection pooling
π Cross-Source Analysis: Query and analyze data across multiple databases
π― Zero Maintenance: No manual schema catalog needed
π Prerequisites
Python 3.8+
Access to one or more supported databases
Claude Desktop or Anthropic API access
π Quick Start
1. Installation
# Clone the repository
git clone https://github.com/yourusername/claude-multi-db-mcp.git
cd claude-multi-db-mcp
# Install dependencies
pip install -r requirements.txt
# Or install as a package
pip install -e .2. Configuration
# Copy configuration template
cp config/database_config.json.example config/database_config.json
# Edit configuration with your database credentials
nano config/database_config.jsonExample configuration:
{
"datasources": {
"business_pg": {
"type": "postgresql",
"host": "your-host.example.com",
"port": 5432,
"database": "business_db",
"user": "readonly_user",
"password": "your_password"
}
}
}3. Create Read-Only Users
For security, create read-only database users:
# PostgreSQL
psql -h your-host -U admin -d your_db -f scripts/create_readonly_users.sql
# ClickHouse
clickhouse-client --host your-host --multiquery < scripts/create_readonly_users.sql4. Test Connection
python scripts/test_connection.py5. Configure Claude Desktop
Edit your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"database-query": {
"command": "python",
"args": ["/absolute/path/to/claude-multi-db-mcp/src/mcp_server.py"]
}
}
}Restart Claude Desktop.
π‘ Usage Examples
Once configured, you can chat with Claude naturally:
Example 1: Search for Tables
You: "Find tables related to users"
Claude will:
Call
search_tables(keyword="users")Return matching tables from all databases
Show table locations and descriptions
Example 2: View Table Structure
You: "What columns does the users table have in business_pg?"
Claude will:
Call
get_table_metadata(source="business_pg", table="users")Display all columns with names, types, and comments
Example 3: Execute Analysis
You: "Count new users by channel for last month"
Claude will:
Search for relevant tables
Check table structure
Generate SQL query
Execute and analyze results
Example 4: Cross-Database Analysis
You: "Compare product data in local_pg with click data in clickhouse to find products with high views but low conversion"
Claude will:
Query product list from local_pg
Query click and conversion data from clickhouse
Join and analyze in memory
Provide insights and recommendations
π οΈ Available MCP Tools
1. query_database
Execute SQL queries on specified datasource.
{
"source": "business_pg",
"sql": "SELECT * FROM users WHERE created_at > '2024-01-01' LIMIT 10"
}2. get_table_metadata
Get table structure and column comments.
{
"source": "business_pg",
"table_name": "users" # Optional, omit to list all tables
}3. search_tables
Search tables by keyword across all datasources.
{
"keyword": "order",
"sources": ["business_pg", "clickhouse"] # Optional
}4. list_datasources
List all available datasources.
{}π Documentation
π§ͺ Testing
# Run all tests
python -m pytest tests/
# Run specific test
python -m pytest tests/test_query_tool.py
# Test with coverage
python -m pytest --cov=src tests/π Security
β Only read-only database users
β SQL validation blocks DDL/DML operations
β Automatic LIMIT enforcement
β Query logging and audit trail
β Sensitive data filtered through database views
See Security Best Practices for details.
π€ Contributing
Contributions are welcome! Please read our Contributing Guide first.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
Built with Anthropic's Claude
Database drivers: psycopg2, clickhouse-driver, pyodps
π¬ Contact
Issues: GitHub Issues
Discussions: GitHub Discussions
πΊοΈ Roadmap
Add MySQL support
Add MongoDB support
Query result visualization
Query template library
Redis result caching
Multi-user permission system
Web UI for management
Made with β€οΈ for the Claude community
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xza-m/claude-multi-db-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server