gong-nl-db-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_NAME | Yes | The name of the PostgreSQL database | |
| INSTANCE_CONNECTION_NAME | Yes | The Cloud SQL instance connection name (project:region:instance) |
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 |
|---|---|
| list_schemasA | List non-system schemas in the gong-nl-db database. Call this first when exploring. |
| list_tablesA | List tables and views in a schema. Use list_schemas first to find valid schema names. Defaults to 'public'. |
| describe_tableA | Describe a table's columns, types, and nullability. Use this before writing a query against an unfamiliar table. |
| sample_rowsA | Return up to |
| run_queryA | Run a read-only SQL query against gong-nl-db. Only SELECT, WITH (terminating in SELECT), and set-operation queries are allowed — any INSERT/UPDATE/DELETE/DDL is rejected before the query reaches the database. Results are capped at |
| search_transcriptsA | Full-text search across transcript_segments. Prefer this over ILIKE when searching for phrases in calls — it uses the GIN FTS index and is ~100x faster. Returns matching segments joined to call metadata. |
| user_activityA | Per-user daily call activity from the mv_user_daily materialized view — answers questions like 'how many calls did X have this week', 'avg talk ratio by person last month'. Filter by |
| semantic_searchA | Semantic / meaning-based search across call transcript chunks using Vertex AI embeddings (text-embedding-005) and cosine similarity. Use this when the user asks to find calls 'about' a topic or concept — e.g. 'calls where pricing came up', 'conversations about churn risk', 'mentions of competitor X'. Unlike search_transcripts (FTS keyword matching), this finds conceptually related content even without exact word matches. |
| explain_queryA | Return the Postgres query plan for a SELECT statement. Useful for debugging slow queries. |
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 9 tools
Each tool serves a distinct purpose: schema exploration, table inspection, sampling, query execution, query planning, keyword search, semantic search, and user activity. The two transcript search tools are clearly differentiated by their descriptions (FTS keyword vs. semantic meaning), and all other tools have non-overlapping boundaries.
Most tools follow a clear verb_noun pattern (e.g., list_schemas, describe_table, search_transcripts), but user_activity and semantic_search deviate from this pattern, making naming slightly inconsistent. However, the names remain intuitive and readable.
With 9 tools, the set is well-scoped for a database MCP server, covering schema exploration, data sampling, query execution, and specialized search/analysis. No clutter or redundancy; each tool earns its place.
The tool set covers the full analytical workflow: discover schemas/tables, inspect columns, sample data, run queries, explain slow queries, and perform targeted transcript/activity searches. The generic run_query provides an escape hatch for any missing operations, though a few niche endpoints like a direct user list are absent, which is a minor gap.