Portable Database MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DBMCP_CONFIG | No | Set the default configuration path. --config overrides it. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hybrid_queryA | Run SQL/MongoDB reads concurrently, join and aggregate on the server. Supply named sources and inner/left equijoins using source.field keys. Optional group_by and count/sum/avg/min/max metrics operate on the full join. Truncated inputs fail rather than producing misleading totals. No writes, natural-language planning, or cross-database snapshot guarantee. |
| list_databasesA | List configured aliases and capabilities without disclosing credentials. |
| health_checkC | Check one database connection; connects lazily. |
| list_schemasB | List SQL schemas visible to the configured database principal. |
| list_tablesC | List SQL tables and views in a schema. |
| describe_tableC | Inspect columns, primary/foreign keys and indexes. |
| query_sqlA | Execute one SELECT using :name bind parameters. Limit caps returned rows, not DB work. |
| explain_queryB | Get an estimated query plan on SQLite/PostgreSQL/MySQL/MariaDB; never ANALYZE. |
| execute_sqlA | Commit one DML statement on a write-enabled alias. UPDATE/DELETE require WHERE. |
| execute_transactionA | Commit a bounded list of {sql, params} DML statements atomically; rollback on failure. |
| list_collectionsC | List MongoDB collections. |
| describe_collectionC | Inspect MongoDB indexes; MongoDB documents need not share a schema. |
| find_documentsC | Find bounded MongoDB documents using a filter and optional projection. |
| aggregate_documentsB | Run a bounded read aggregation using supported stages; no joins, writes or JS. |
| write_documentB | Write one MongoDB document. Updates support $set; update/delete require a filter. |
| suggest_sqlA | Send selected schema metadata and question to configured LLM; never execute its SQL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate_database |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog |
TDQS
Scored across 16 tools
Each tool targets a distinct resource and action across SQL and MongoDB: find vs aggregate vs write for Mongo, query vs execute vs explain for SQL, and separate list/describe tools for schemas, tables, collections, and databases. Hybrid_query and suggest_sql are unique in purpose. No two tools overlap in a way that would cause misselection.
Most tool names follow a consistent verb_noun snake_case pattern (find_documents, aggregate_documents, write_document, list_schemas, describe_table, query_sql, execute_sql, etc.). Minor deviations are health_check (noun_noun) and hybrid_query (adjective_noun), but overall the convention is clear and predictable.
16 tools is slightly above the typical 3-15 sweet spot, but the dual SQL/MongoDB scope justifies separate read, write, schema, transaction, and hybrid operations. Each tool earns its place with no obvious redundancy, though a few could theoretically be merged (e.g., schema listing tools).
The surface covers core CRUD and lifecycle operations for both SQL and MongoDB: connect, inspect schemas/tables/collections, query, write, transact, explain, and hybrid join. Minor gaps include no DDL (create/alter/drop), no index management, and no bulk MongoDB writes, but common agent workflows are well supported.