OceanBase MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OB_HOST | Yes | Hostname or IP of the OceanBase proxy or direct connect address. | |
| OB_PORT | No | Port number of the OceanBase proxy. | 2883 |
| OB_USER | Yes | Username for the OceanBase connection, typically in format user@tenant#cluster. | |
| NODE_ENV | No | Node environment. | production |
| OB_MCP_HOST | No | Bind address for the HTTP server. | 127.0.0.1 |
| OB_PASSWORD | No | Password for the OceanBase user. Either this or OB_PASSWORD_FILE must be set. | |
| OB_PRODUCTION | No | Set to 'true' for production mode. | false |
| OB_COMPATIBILITY | No | Compatibility mode: 'mysql' or 'oracle'. | mysql |
| OB_MCP_READ_ONLY | No | Must be 'true' to start the server. | true |
| OB_PASSWORD_FILE | No | Path to a file containing the password. Alternative to OB_PASSWORD. | |
| OB_MCP_AUTH_TOKEN | No | Bearer token for HTTP authentication. | |
| OB_ALLOWED_SCHEMAS | No | Comma-separated list of allowed schemas. | |
| OB_MCP_ALLOWED_IPS | No | Comma-separated IPs or CIDR for source IP allowlist. | |
| OB_ALLOW_SELECT_STAR | No | Allow SELECT * queries. | false |
| OB_MCP_ALLOWED_HOSTS | No | Comma-separated allowed Host headers. | |
| OB_MCP_AUTH_TOKEN_FILE | No | Path to a file containing the bearer token. | |
| OB_ENFORCE_READ_ONLY_TX | No | Enforce read-only transactions. | true |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ob_list_profilesA | List configured OceanBase MCP profiles with redacted settings. |
| ob_config_diagnosticsB | Check profile, policy, TLS, HTTP, and production hardening settings. |
| ob_check_opencode_setupC | Check local OpenCode config, OceanBase agent, and query skill files for the current project. |
| ob_get_usage_guideA | Return the recommended read-only OpenCode workflow, safety rules, and MySQL/Oracle notes. |
| ob_list_capabilitiesC | List supported tool groups, tool versions, active compatibility mode, and read-only limits. |
| ob_refresh_metadata_cacheB | Clear in-memory metadata cache entries for the active profile, optionally scoped by schema or table. |
| ob_get_cache_statusB | Return profile-scoped metadata cache settings and counters without exposing cached content. |
| ob_verify_permissionsB | Inspect current database grants and report whether the account appears read-only. |
| ob_pingC | Verify the configured OceanBase connection. |
| ob_policy_explainB | Explain whether a SQL statement is allowed and which read-only or access-policy checks apply. |
| ob_query_previewA | Preview policy, sensitive-column, and EXPLAIN risk for a read-only SQL statement without executing the target query. |
| ob_queryC | Run a strictly read-only SQL statement against OceanBase. |
| ob_query_pageB | Run a strictly read-only SELECT/WITH query with server-side pagination. |
| ob_start_query_sessionB | Create an in-memory read-only query context for follow-up paging, refinement, and summarization. |
| ob_get_query_sessionB | Return a read-only query session context without exposing stored parameter values. |
| ob_close_query_sessionB | Close an in-memory query session for the selected profile. |
| ob_query_next_pageC | Run the next page for a read-only query session without bypassing row, timeout, output, or policy limits. |
| ob_query_prev_pageA | Run the previous page for a read-only query session without bypassing row, timeout, output, or policy limits. |
| ob_query_refineB | Build a refined read-only SELECT from a query session using structured columns, filters, ordering, and pagination without executing it. |
| ob_summarize_resultC | Summarize already returned query rows without reading the database. |
| ob_compare_query_resultsC | Compare two already returned query results without reading the database or storing row values. |
| ob_export_result_previewA | Generate a bounded Markdown or CSV preview string from already returned rows without writing files. |
| ob_explainC | Run EXPLAIN for a strictly read-only SQL statement. |
| ob_analyze_query_planC | Run EXPLAIN for a strictly read-only SQL statement and return evidence-based plan findings. |
| ob_generate_performance_reportB | Generate a read-only SQL performance advisory report from EXPLAIN, table statistics, and index metadata. |
| ob_build_selectA | Build a parameterized read-only SELECT from validated table, columns, filters, ordering, and pagination without executing it. |
| ob_generate_queryB | Generate read-only SQL templates from policy-filtered table metadata without executing them. |
| ob_generate_query_examplesB | Generate scenario-based read-only SQL examples from policy-filtered table metadata without executing them. |
| ob_find_recent_rowsC | Read recent rows from an allowed table using an explicit or metadata-detected time column with safe pagination. |
| ob_list_schemasC | List schemas/databases visible to the current OceanBase user, filtered by access policy. |
| ob_list_tablesB | List tables visible to the current OceanBase user, filtered by access policy. |
| ob_describe_tableC | Return column metadata for an allowed OceanBase table. |
| ob_get_schema_mapC | Return a compact, policy-filtered schema map with table summaries, key fields, and relationship hints. |
| ob_get_database_dictionaryC | Generate a bounded JSON or Markdown data dictionary from visible table and column metadata. |
| ob_find_related_tablesC | Find foreign-key and conservative naming-based relationships for an allowed OceanBase table. |
| ob_generate_data_dictionaryC | Generate bounded JSON, Markdown, or simple HTML data dictionary output from visible metadata. |
| ob_search_catalogC | Search schemas, tables, columns, and comments, filtered by access policy. |
| ob_find_tables_by_business_termB | Find visible candidate tables from a business term using glossary, catalog metadata, comments, and relationship evidence. |
| ob_search_everythingC | Search visible schemas, tables, columns, comments, and business glossary entries with confidence and evidence. |
| ob_search_business_glossaryB | Search optional business terms mapped to allowed OceanBase schemas, tables, and columns. |
| ob_find_columnsB | Find visible columns across tables by name, comment, data type, table pattern, or business term. |
| ob_get_table_schemaC | Return policy-filtered table columns and types for one table. |
| ob_get_table_ddlC | Return native or structured DDL metadata for an allowed OceanBase table. |
| ob_get_table_statsB | Return table-level optimizer statistics and metadata counts for an allowed OceanBase table. |
| ob_get_table_summaryC | Return a compact table summary with inferred purpose, key fields, relationship hints, and query entry points. |
| ob_get_indexesC | Return indexes for an allowed OceanBase table. |
| ob_get_constraintsC | Return constraints for an allowed OceanBase table. |
| ob_get_partitionsC | Return partition metadata for an allowed OceanBase table. |
| ob_sample_rowsB | Return a small, policy-filtered sample from an allowed table. Sensitive-looking fields are always masked. |
| ob_get_table_contextC | Return the common read-only table context needed for SQL drafting and data inspection. |
| ob_list_objectsC | List policy-filtered Oracle object metadata such as views, sequences, synonyms, procedures, functions, and packages. |
| ob_get_object_metadataC | Return bounded, policy-filtered metadata for one Oracle view, sequence, synonym, procedure, function, or package. |
| ob_detect_time_columnsC | Detect likely create, update, and business time columns from visible table metadata. |
| ob_detect_dimension_columnsC | Detect likely status, type, channel, region, flag, and category columns from visible table metadata. |
| ob_capture_metadata_snapshotB | Capture a bounded metadata-only OceanBase snapshot for later offline diff and impact analysis. |
| ob_compare_metadata_snapshotsB | Compare two metadata-only snapshots and return evidence-based structural changes. |
| ob_analyze_change_sql_impactC | Analyze which indexed project SQL snippets are impacted by a metadata snapshot diff. |
| ob_analyze_metadata_impactC | Summarize metadata diff impact using optional SQL usage index and business glossary evidence. |
| ob_generate_metadata_change_reportC | Generate a Markdown or simple HTML metadata change report from diff and impact evidence. |
| ob_compare_tablesC | Compare two visible tables by columns, indexes, constraints, and partitions. |
| ob_compare_schemasB | Compare two visible schemas by table list and bounded per-table metadata differences. |
| ob_convert_sql_dialectC | Convert read-only SQL between OceanBase MySQL and Oracle modes with documented limitations. |
| ob_explain_errorC | Explain a SQL error with policy context and visible metadata hints without executing the SQL. |
| ob_lint_sqlB | Lint read-only SQL for policy, dialect, pagination, ordering, sensitive fields, and optional EXPLAIN risk without returning data. |
| ob_rewrite_sqlB | Rewrite SELECT/WITH SQL into a safer read-only form without executing it. |
| ob_find_sql_usagesB | Find project SQL usages from a static SQL usage index without executing SQL or reading project files. |
| ob_validate_sql_snippetC | Validate a pasted read-only SQL snippet for policy, dialect, pagination, plan risk, and visible table or column metadata. |
| ob_explain_project_queryC | Explain a read-only SQL snippet from text or a local project file without executing it. |
| ob_generate_query_docB | Generate bounded JSON or Markdown documentation for a SQL snippet without executing the target query. |
| ob_generate_mapper_contextC | Generate read-only table and column context for a MyBatis mapper, SQL file, or explicit table. |
| ob_find_unknown_columns_in_sqlA | Find unknown tables or columns in SQL and return visible metadata-based candidates without executing the SQL. |
| ob_prepare_queryC | Prepare candidate tables, fields, read-only SQL drafts, and safety previews from visible metadata without executing the target query. |
| ob_profile_tableC | Return a bounded table-level profile with metadata counts, key fields, time/status fields, and sampled null overview. |
| ob_profile_columnsC | Return bounded, policy-filtered column profiles for an allowed OceanBase table. |
| ob_get_value_distributionB | Return bounded top-value distribution for one allowed column, with masking and sample limits enforced. |
| ob_check_data_qualityB | Run bounded read-only data quality checks for nulls, duplicate key risk, dimensions, and time columns. |
| ob_generate_table_docC | Generate bounded JSON or Markdown documentation for one visible table without returning sample values. |
| ob_generate_schema_docC | Generate bounded JSON or Markdown documentation for visible tables in one schema. |
| ob_generate_onboarding_docC | Generate bounded onboarding documentation from visible OceanBase metadata and optional business glossary hints. |
| ob_explain_relationshipB | Explain visible relationship evidence between two OceanBase tables without inventing missing relationships. |
| ob_generate_er_diagramC | Generate Mermaid and JSON ER metadata from allowed OceanBase table metadata and relationships. |
| ob_generate_er_documentC | Generate Markdown, PlantUML, and DOT documentation from allowed ER metadata and relationship evidence. |
| ob_generate_entity_diagramC | Generate a local entity-focused ER diagram from a business term or table, with Mermaid, JSON, and optional HTML. |
| ob_plan_er_exportC | Plan local ER HTML export commands for large OceanBase schemas without returning large inline HTML. |
| ob_generate_er_htmlC | Generate a self-contained HTML ER diagram from allowed OceanBase metadata and relationship evidence. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| connection | Default OceanBase MCP connection settings, excluding password and SSL material. |
| profiles | Configured OceanBase profiles with redacted connection settings. |
Latest Blog Posts
- 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/sevoniva/oceanbase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server