tibero-mcp
Click on "Deploy 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., "@tibero-mcp search tables by comment for 주문 and describe the sales order table"
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.
tibero-mcp is a Model Context Protocol server that lets AI agents such as Claude Code, Codex and Cursor explore and query a Tibero database. It is built for the way agents actually work on enterprise and public-sector schemas: find the right table from a Korean comment, understand its keys, write a query, check the plan, and never change data by accident.
Why tibero-mcp
Safe by default. Tibero ignores the JDBC read-only flag and has no SET TRANSACTION READ ONLY, so the server enforces it itself. Only SELECT and WITH run, one statement per call, SELECT … FOR UPDATE is refused, and every read is rolled back. The tool that writes does not even exist unless you turn writes on.
Schema discovery that reads comments. In many Tibero schemas the comments are the only documentation. Search tables and columns by comment (주문, 납기), and get columns, primary, unique and foreign keys and indexes for a table in one call.
Results an agent can use. Typed JSON (numbers stay numbers, dates are ISO strings, LOBs are clipped), a hard row cap with a truncated flag and a next_offset to continue from, statement timeouts, execution plans as a readable tree, and errors that say what to try next.
No driver hunting. The official TmaxTibero JDBC driver (com.tmaxtibero:tbjdbc8, GPG-signed on Maven Central) is downloaded on first run, checked against a pinned SHA-1 and cached. No proprietary jar in this repository, no CLASSPATH to set.
Ready to run alongside other agents. stdio or Streamable HTTP, a connection that reconnects by itself, and a process that exits cleanly when the client goes away.
Verified against Tibero 6 using the 7.2.6 driver.
Related MCP server: Oracle DB MCP Server
Quick start
You need Python 3.12+, uv, Java 8+ and network access to Maven Central on first run.
Clone and configure
git clone https://github.com/jdk1021/tibero-mcp.git cd tibero-mcp cp env.example .env # host, dbname, user, password uv syncRegister with your client. Claude Code:
claude mcp add -s user tibero -- uv --directory /path/to/tibero-mcp run tibero-mcpClaude Desktop, Cursor and other JSON-configured clients, passing settings as env instead of
.env:{ "mcpServers": { "tibero": { "command": "uv", "args": ["--directory", "/path/to/tibero-mcp", "run", "tibero-mcp"], "env": { "TIBERO_HOST": "db.example.com", "TIBERO_PORT": "8629", "TIBERO_DBNAME": "tibero", "TIBERO_USER": "app_reader", "TIBERO_PASSWORD": "…" } } } }Ask your agent something like "Which tables hold order dates? Show the structure of the sales order table."
To share one server between several agents, run it over HTTP and point clients at http://127.0.0.1:8000/mcp:
uv run tibero-mcp --transport streamable-http --port 8000The HTTP transport has no authentication and binds to 127.0.0.1 by default. Keep it there, or put it behind something that authenticates.
Tools
Tool | What it does |
| Schemas with table and view counts; system schemas only on request |
| Tables and views with comments and row estimates, filtered by text in the name or comment; paged |
| Columns (type, nullability, default, comment), primary, unique and foreign keys, indexes |
| Columns across a schema matched by name or comment, with full types such as |
| One |
| Execution plan as an indented tree, plus per-step cost, cardinality and predicates |
| DML, DDL or a PL/SQL block, committed on success. Registered only when |
Configuration
Variable | Default | Notes |
| required | |
|
| |
| required; database name (SID) | |
| required | |
|
|
|
|
| upper bound per call |
|
| seconds; |
| use a driver jar you already have instead of downloading | |
| pick a specific JDK or JRE |
Environment variables win over .env in the working directory. The driver is cached in $XDG_CACHE_HOME/tibero-mcp (default ~/.cache/tibero-mcp).
How read-only is enforced
Layer | What it stops |
Tool surface | No |
Statement check | Anything but |
Transaction | Every read ends in a rollback |
Your account | Everything else. A function called from a |
Development
uv sync
uv run ruff check . && uv run ruff format --check .
uv run pytestUnit tests need neither a database nor a JVM. See CONTRIBUTING.md.
License
MIT for this project. The Tibero JDBC driver is distributed by TmaxTibero under its own license and is not included here. This project is not affiliated with or endorsed by TmaxTibero; Tibero is a trademark of TmaxTibero Co., Ltd.
Available Tools
6 toolsdescribe_tableBRead-only
Show a table's columns (type, nullability, default, comment), keys, foreign keys and indexes.
Inputs: table (required), schema. Returns: object
explainARead-only
Show the optimizer's execution plan as an indented tree, plus per-step cost, cardinality and access/filter predicates exactly as Tibero reports them.
Inputs: sql (required). Returns: object
list_schemasARead-only
List schemas that own tables or views visible to the connected user, with object counts.
Inputs: include_system. Returns: object
list_tablesBRead-only
List tables (and views) in a schema with their comments and approximate row counts.
Inputs: offset, schema, search, include_views. Returns: object
queryARead-only
Run a read-only query and return columns and rows. truncated is true when more rows exist.
Inputs: sql (required), offset, params, max_rows. Returns: object
search_columnsARead-only
Find columns across a schema by name or comment, e.g. '주문' or 'ORDER_DT'. Results are paged.
Inputs: keyword (required), offset, schema, max_rows, +1 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct step in database exploration: schema listing, table listing, table description, column search, querying, and plan explanation. The only near-overlap (describe_table vs search_columns) is clearly separated by scope: one table's structure versus schema-wide column lookup.
Four tools follow a clean verb_noun pattern (list_schemas, list_tables, describe_table, search_columns), but query and explain are bare verbs without a noun. The deviation is minor and the names remain unambiguous.
Six tools is well-scoped for a read-only database exploration server, with no redundant or filler tools. Each tool maps to a clear workflow stage from discovery to query execution.
The surface covers a full discovery-to-execution lifecycle: schemas, tables, columns, search, query, and explain plan. Minor gaps exist, such as standalone index/constraint exploration or procedure/function listing, but agents can work around these via describe_table and query.
Maintenance
Related MCP Connectors
Query and update Teable records, manage tables, and access the Teable API with AI agents.
Astra DB tools for agents: schema, find, vector search, guarded writes, and interactive views.
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Query, explore, and manage your databases through natural conversation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides access to database schema information generated by tbls and enables secure SQL query execution on MySQL and SQLite databases. Allows users to explore database structures, table relationships, and execute SELECT queries through natural language interactions.ISC
- AlicenseAqualityDmaintenanceEnables AI tools to interact with Oracle databases through query execution, schema browsing, stored procedure calls, and transaction management. Supports multiple database connections with safety features like read-only mode and dangerous query detection.16MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with relational databases such as MySQL, PostgreSQL, SQLite, SQL Server, and Oracle. Provides tools for querying, data inspection, and schema analysis with optional read-only mode.13 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables safe schema exploration and read-only SQL querying of Tibero databases, with policy-enforced SELECT queries and table metadata inspection.6 npmMIT