bytebase-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTPS_PROXY | No | Outbound proxy (HTTPS) | |
| BYTEBASE_URL | Yes | Instance base URL (required) | |
| BYTEBASE_PROXY | No | Outbound proxy | |
| BYTEBASE_CA_FILE | No | Extra CA for incomplete cert chains | bundled chain |
| BYTEBASE_MCP_HOME | No | Token file location | ~/.config/bytebase-mcp |
| BYTEBASE_MAX_LIMIT | No | Maximum row limit | 5000 |
| NODE_EXTRA_CA_CERTS | No | Extra CA for incomplete cert chains | |
| BYTEBASE_ALLOW_WRITE | No | Allow write SQL in bytebase_query | unset |
| BYTEBASE_CALLBACK_PORT | No | Loopback OAuth redirect port | 51789 |
| BYTEBASE_DEFAULT_LIMIT | No | Default row limit | 200 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bytebase_whoamiA | Verify the configured Bytebase token: returns the server version, the identity it maps to, and how long the token remains valid. Run this first when anything returns 401/403. |
| bytebase_list_projectsA | List every Bytebase project the configured identity can see. |
| bytebase_list_databasesA | List databases with their instance, engine and environment. Use this to discover the reference string to pass to bytebase_query (format: //). |
| bytebase_search_tablesA | Find tables in a database by name or column name. Prefer this over dumping a schema — a production database here can hold ~1000 tables. Returns names and row counts only; use bytebase_describe_table for columns. |
| bytebase_describe_tableA | Full definition of one table: columns with types and nullability, indexes, and foreign keys. |
| bytebase_queryA | Execute SQL through the Bytebase SQL Editor and return rows as JSON. Read-only: only SELECT/WITH/SHOW/DESCRIBE/EXPLAIN are accepted. Queries run under the configured Bytebase identity and are subject to its access policies, data masking and audit log. |
| bytebase_query_historyA | Recent SQL Editor queries recorded by Bytebase. Useful for recovering a query you ran earlier or seeing how a table is normally joined. |
| bytebase_list_issuesB | List schema/data change issues in a project, with review and approval status. |
| bytebase_create_planA | Draft a titled SQL change plan against one database: creates a Sheet (the SQL text) and a Plan (the proposal) in Bytebase. This does NOT open an Issue and does NOT run the SQL — a plan only becomes executable after a human opens it in the Bytebase UI, submits it for review, and it is approved, at which point Bytebase creates the rollout automatically. Available even when BYTEBASE_ALLOW_WRITE is unset, since nothing runs until a human approves it — this is the safe route for write SQL that bytebase_query blocks in read-only mode. |
| bytebase_get_planA | Fetch a plan's title, description, target database, status, and full SQL statement (decoded from its Sheet). Use this before bytebase_update_plan to see the current content. |
| bytebase_update_planA | Edit a plan's title, description, and/or SQL statement — works both before and after it has been submitted for review (title edits go to the review Issue instead of the Plan once one exists, matching Bytebase's own UI). Changing the statement creates a new Sheet (sheets are immutable) and repoints the plan at it — refused once the plan has a rollout, since tasks may already reference the old sheet. Only supports single-spec plans — i.e. plans created by bytebase_create_plan. |
| bytebase_list_issue_labelsA | List the issue labels a project has configured. Call this before bytebase_submit_plan_for_review when the project defines any labels, so the caller can offer them as choices rather than guessing label names — "required: true" means Bytebase will reject the issue if none are attached. |
| bytebase_submit_plan_for_reviewA | Open a review Issue for a Plan created with bytebase_create_plan. This is the step that actually starts the approval workflow — once approved and its checks pass, Bytebase creates the rollout and runs the SQL. Do not call this unless the user has confirmed the plan is ready to go out for review. If the project defines issue labels (check with bytebase_list_issue_labels first), ask the user which ones to attach instead of guessing. |
| bytebase_close_planA | Cancel a change before it runs. If the plan was never submitted for review, this deletes the draft plan. If it was submitted (an open review Issue exists), this cancels that issue instead — mirroring the "Close" action in the Bytebase UI. Refuses if the plan already has an active rollout: at that point tasks may be running or done, and canceling them needs the Bytebase UI's task-level actions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target distinct resources/actions (projects, databases, tables, plans, issues), but bytebase_list_issues and bytebase_list_issue_labels could be confused at a glance, and bytebase_get_plan/update_plan/close_plan are clearly grouped. The plan lifecycle tools are well-differentiated by descriptions.
All tools follow a consistent bytebase_<verb>_<noun> pattern (list_projects, describe_table, submit_plan_for_review). Verbs are clear and predictable, with no mixed casing or stylistic deviations.
14 tools is well within the ideal range for a database management server covering discovery, querying, and change workflows. Each tool maps to a meaningful operation in Bytebase's domain.
The surface covers database discovery, schema inspection, read-only querying, and the plan/review lifecycle well. Minor gaps: no direct tool for listing/creating databases or managing issues beyond listing, but the core workflows are complete and the write path is intentionally gated.