DATABASE DEVELOPMENT / Yugabyte
YugabyteDB MCP Server
Python MCP server from the Yugabyte organisation that lists schema objects, runs a SELECT inside a read-only transaction, and keeps the write tool off unless an operator flag turns it on.
“An MCP server for YugabyteDB and PostgreSQL — lets LLMs (Claude Desktop, Cursor, Windsurf, etc.) summarize schemas, run read-only queries, and execute write statements behind a configurable guardrail layer.”
01 / THE REASONING
Why this made the selection.
- Yugabyte publishes this server in yugabyte/yugabytedb-mcp-server. At commit 57017d04364653df78300718f81940c66b9c5d5e, pyproject.toml names the package yugabytedb-mcp-server version 2.0.0rc2 and authors Yugabyte.
- tools.py defines summarize_database, run_read_only_query, and run_write_query. The README says the write tool is disabled unless --enable-write-query or YB_MCP_ENABLE_WRITE_QUERY=true is set.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- README.md at 57017d04364653df78300718f81940c66b9c5d5e: tools, install lines, Claude Desktop JSON, transport and auth environment variables, guardrail list, telemetry sentence.
- pyproject.toml at the same revision: package name, version 2.0.0rc2, requires-python >=3.10, license Apache-2.0, author Yugabyte.
- LICENSE at the same revision: Apache License Version 2.0, with the unfilled copyright appendix.
- src/yugabytedb_mcp_server/tools.py at the same revision: function definitions for summarize_database, run_read_only_query, and run_write_query.
Our findings
- The three tool names in the README match function definitions in tools.py.
- pyproject.toml classifiers include Development Status :: 4 - Beta. The README describes version 2.0.0rc2 as a release candidate.
- The Apache 2.0 file grants reproduction and distribution. It does not name a copyright holder; the appendix placeholder is still present.
- The README's uvx config example does not pin the release-candidate version. A later note on the same page says the args need yugabytedb-mcp-server@2.0.0rc2 or --pre while 2.0.0rc2 is the published pre-release.
Not established by this review
- Not executed: it was not installed or run.
- No database connection, OIDC login, or tool call was made.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Connect a server deliberately.
DOCUMENTED COMMAND
pipx install yugabytedb-mcp-server==2.0.0rc2 Copying does not execute this command. It may retrieve a newer version than the reviewed source.
- The README prints that release-candidate command in the install section, and also prints unversioned uvx, pipx, uv tool, and pip lines that it says will not select the pre-release.
- Set YUGABYTEDB_URL. The printed uvx client block uses command uvx and args ["yugabytedb-mcp-server"]; the same page says those args need the @2.0.0rc2 suffix or --pre while this pre-release is current.
- Leave YB_MCP_ENABLE_WRITE_QUERY unset unless the write tool is intended.
Before you start
- Python 3.10+ and one of uv, pipx, or pip.
- A reachable YugabyteDB or PostgreSQL database.
Documented configuration example
Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.
{
"mcpServers": {
"yugabytedb": {
"command": "uvx",
"args": [
"yugabytedb-mcp-server"
],
"env": {
"YUGABYTEDB_URL": "host=… port=5433 dbname=… user=… password=…"
}
}
}
} 04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
https://github.com/yugabyte/yugabytedb-mcp-server/blob/57017d04364653df78300718f81940c66b9c5d5e/README.md
Supports: upstreamDescription, install, configExample, bestFor, limitations, transports, access
https://github.com/yugabyte/yugabytedb-mcp-server/blob/57017d04364653df78300718f81940c66b9c5d5e/LICENSE
Supports: license
- pyproject.toml at 57017d04 ↗Checked
https://github.com/yugabyte/yugabytedb-mcp-server/blob/57017d04364653df78300718f81940c66b9c5d5e/pyproject.toml
Supports: language, compatibility, whySelected
- tools.py at 57017d04 ↗Checked
https://github.com/yugabyte/yugabytedb-mcp-server/blob/57017d04364653df78300718f81940c66b9c5d5e/src/yugabytedb_mcp_server/tools.py
Supports: whySelected, review.findings