← Back to directory
U

Universal DB MCP

Community
Connect AI to Your Database with Natural Language
Category
Database #41 of 58
Stars
★ 940 Popular
Transport
stdio (local process) · SSE · Streamable HTTP
Runtime
Node.js >=20.0.0 · Docker
Credentials
No credential needed
License
MIT
Last commit
⚠
Tools
9
49FMRS · D

Universal DB MCP is a powerful database MCP connector supporting a wide range of databases and platforms, offering flexible architecture and multiple permission controls, but users must pay attention to security configuration and permission management.

Strongest · Documentation 13/20 Weakest · Reliability 5/20

Reliability
5/20
Security and permissions
9/20
Maintenance
10/20
Documentation
13/20
Setup experience
12/20
Why each score
Reliability 5/20
The README is internally consistent — the same nine tools appear in both stdio and HTTP modes, and the stdio/SSE/Streamable HTTP/REST access paths are described coherently, so nothing is visibly broken on paper. However, no source code, package manifest, tests, or CI workflows were provided, so the declared tool list cannot be verified against real behavior, and performance claims (up to 100x faster) are unverifiable marketing data. Under the static calibration, reliability cannot exceed 12 without execution evidence, and missing evidence is deducted rather than assumed in the best case, so the score sits near the lower end.
Security and permissions 9/20
No red line was triggered: install examples only contain placeholders (your_password, xxx, your-secret-key), the default 'safe' read-only mode explicitly blocks INSERT/UPDATE/DELETE/DROP, and dangerous 'full' mode requires an explicit flag. The README documents permission modes, permission types, data masking, transport-specific permission parameters, and security best practices, showing genuine least-privilege design intent. Deductions: enforcement cannot be verified without source (SQL write-blocking and masking logic may not work as claimed); the SSE example passes the DB password in a URL query string, risking leakage via access logs, proxies, or browser history; elevated modes lack a confirmation step for destructive operations; no row/column-level scoping or audit-log evidence; mandatory TLS for remote transports is not mentioned.
Maintenance 10/20
The project has an MIT license, is not archived, npm version/download badges imply published releases, and a CHANGELOG is referenced. Deductions: no release dates, commit history, or issue-response evidence was supplied; no security policy (SECURITY.md) or vulnerability-reporting channel is visible; dependency updates and CI status cannot be confirmed. The 900 stars are a discovery signal only and add no points per the evidence rules. This looks active but with governance and release-tracking gaps.
Documentation 13/20
The README is unusually layered and concrete: install commands, an exact Claude Desktop JSON config, HTTP-mode environment variables, endpoint tables with required headers, a 17-database table with types and default ports, permission-mode and transport-naming tables, 55+ platform integration guides, and a docs tree covering deployment, security, multi-tenancy, architecture, and troubleshooting. Deductions: individual MCP tool parameter schemas are absent from the README and only referenced in unprovided doc files; limitations (timeouts, result-size caps) and cost are not disclosed; the referenced docs were not provided and the README itself is untrusted evidence, so real depth cannot be verified.
Setup experience 12/20
On paper, setup is a clear few-step path: npm install -g universal-db-mcp, paste the provided JSON into claude_desktop_config.json, restart the client, and query; HTTP mode needs only two environment variables plus a health-check curl; SSE and Streamable HTTP connection examples are complete and cover mainstream clients. Deductions: per static calibration, setup cannot exceed 15 without committed CI/tests, and no execution evidence was provided at all; the 17-driver dependency footprint (especially Oracle/SQL Server native clients) could make real installs fragile; no package.json or bin entry was reviewable to confirm the npx command resolves.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkConnects to a database

Best for

  • Developers and data analysts who need to access databases from multiple AI platforms and IDEs using natural language
  • Scenarios requiring connection to diverse databases including Chinese domestic databases
  • Environments that need read-only safe access to prevent accidental modifications

Not for

  • Scenarios that require write operations (INSERT, UPDATE, DELETE) without permission restrictions (read-only by default)
  • Environments with strict security policies that cannot rely on third-party connectors

Required permissions

  • Read database connection configuration information
  • Execute SQL queries (read-only by default, can be extended to write with configuration)
  • Access database schema and metadata

Risks and side effects

  • Enabling full write mode could lead to data corruption or loss
  • Database credentials may be stored in plaintext in config files; handle with care
  • Remote access (HTTP) may face unauthorized access risk; use API keys and network security measures

Setup

Before you start

Runtime:Node.js >=20.0.0 · Docker

API_KEYS optionalsecret Secret key(s) you define yourself for authenticating requests to the HTTP API.
Other optional settings (2)
MODE optional Startup mode; set to http to enable HTTP API/SSE mode (default is stdio).
HTTP_PORT optional Port the server listens on in HTTP mode, e.g. 3000.

Install globally: npm install -g universal-db-mcp

For Claude Desktop, edit the configuration file (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json) and add the mcpServers configuration, then restart Claude Desktop.

For HTTP mode: set environment variables MODE=http, HTTP_PORT=3000, API_KEYS=your-secret-key, then run npx universal-db-mcp.

claude_desktop_config.json
{
  "mcpServers": {
    "my-database": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type", "mysql",
        "--host", "localhost",
        "--port", "3306",
        "--user", "root",
        "--password", "your_password",
        "--database", "your_database"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "my-database": {
      "command": "npx",
      "args": [
        "universal-db-mcp",
        "--type",
        "mysql",
        "--host",
        "localhost",
        "--port",
        "3306",
        "--user",
        "root",
        "--password",
        "your_password",
        "--database",
        "your_database"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add my-database -- npx universal-db-mcp --type mysql --host localhost --port 3306 --user root --password your_password --database your_database

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After restarting Claude Desktop, tools such as execute_query, get_schema, and get_table_info should appear in the client's tool list; asking "Count orders from the last 7 days" and getting results confirms the connection works.

Troubleshooting

  1. Ensure Node.js version >= 20.0.0
  2. Check that database connection parameters in the MCP config are correct
  3. If connection fails, check if the database allows remote connections and firewall ports are open
  4. View logs (via --debug or environment variables) for more error information

Things to try

Once connected, you can ask your AI assistant things like:

  • Show me the structure of the users table
  • Count orders from the last 7 days
  • Find the top 5 products by sales
  • Check the current connection status with get_connection_status

Tools 9

execute_query read-only
Execute a read-only SQL query and return the results.
get_schema read-only
Get the database schema including tables, columns, indexes, etc.
get_table_info read-only
Get detailed information about a specific table, such as columns, types, and comments.
clear_cache destructive
Clear the cached database schema information.
get_enum_values read-only
Get the allowed values for an enum column.
get_sample_data read-only
Get sample data from a specific table.
connect_database writes
Connect to a new database instance.
disconnect_database destructive
Disconnect from the current database.
Show 1 more tools
get_connection_status read-only
Check the status of the current database connection.

Use cases

Ask AI assistants database questions like 'Show me the top 10 customers by order value this month'
Query and analyze database data via natural language in IDEs like Claude Desktop, Cursor, Windsurf, and VS Code
Integrate with automation platforms like Coze and n8n via REST API

Supported clients

Claude Desktop
Cursor
Windsurf
VS Code
ChatGPTPartial support

Listed from the project's documentation, not tested by this site.

Overview

Universal DB MCP is a universal database connector implementing the Model Context Protocol (MCP) and HTTP API, enabling AI assistants to query and analyze databases using natural language. It supports 17 databases including MySQL, PostgreSQL, Oracle, MongoDB, and 10 Chinese domestic databases. It offers 2 startup modes (stdio/http) with 4 access methods: MCP stdio, MCP SSE, MCP Streamable HTTP, and REST API. It works with 50+ platforms such as Claude Desktop, Cursor, Windsurf, VS Code, and ChatGPT. Features include read-only mode by default, flexible permission modes, intelligent caching, batch query optimization, multi-schema support, and data masking.

Similar servers

Source revision dc338cd7740c Data synced 2026-10-19 Read the FMRS scoring method