nebula-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEBULA_MAX_ROWS | No | Maximum number of result rows to include in the MCP context. Does not prevent the database from computing large results. | |
| NEBULA_PASSWORD | Yes | Password for the NebulaGraph database. Required. Note: stored in plaintext in ~/.codex/config.toml by Codex Desktop. | |
| NEBULA_USERNAME | Yes | Username for the NebulaGraph database. Required. | |
| NEBULA_ADDRESSES | Yes | One or more HOST:PORT addresses of the NebulaGraph database. Required. | |
| NEBULA_ALLOW_MUTATIONS | No | Set to 'true' to allow mutation statements via the dedicated nebula_execute_mutation tool. Defaults to 'false'. | false |
| NEBULA_CONNECT_TIMEOUT_MS | No | Connection timeout in milliseconds. Recommended: 30000. | 30000 |
| NEBULA_REQUEST_TIMEOUT_MS | No | Per-request timeout in milliseconds for individual query execution. |
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 |
|---|---|
| nebula_list_environmentsA | List preconfigured environment names and the active environment; no credentials. |
| nebula_switch_environmentA | Switch to a preconfigured environment after testing its connection. Failure keeps the existing session. Success resets selected graph and pending query. Does not execute pending queries in the new environment or switch host MCP servers. |
| nebula_configure_connectionB | Configure the database inside MCP without restarting. Connection settings stay in this process only; replacing a connection resets its session and graph choice. Passwords are never returned, but tool arguments may be stored by the host. Use installer --configure for local no-echo password entry instead if preferred. |
| nebula_select_graphA | Choose the user's graph using SESSION SET GRAPH in the existing database session. Automatically execute the last read-only query blocked by a missing graph. Return its result; do not execute that query again. |
| nebula_render_resultA | Display a query result: graph entities open as an interactive graph, otherwise open the table. Supply an evidence-based explanation of result meaning, specific observations, insights and limitations, not only counts. Includes charts and actual GQL. |
| nebula_test_connectionA | Test the configured YueShu connection and return only redacted settings. |
| nebula_list_graphsA | List persistent graphs before choosing schema and graph context. |
| nebula_get_graph_schemaC | Read a Graph Type schema; optionally include a UTF-8 byte-bounded DDL string. |
| nebula_validate_gqlA | Validate YueShu 5.3 GQL for placeholders, dialect residuals, policy, and optional EXPLAIN. This never executes the original statement. |
| nebula_execute_queryA | Execute one approved read-only GQL statement. Graph, analysis, and charts are independently configurable and default to enabled. Present all enabled results together: render a non-empty cytoscape-elements-v1 graph, render every non-empty vega-lite-v5 chart, and write a human-readable explanation from explanation_context. A table does not replace charts or the explanation. |
| nebula_render_graphA | Legacy compatibility entry; prefer nebula_render_result. Render a non-empty query graph together with its table, charts, explanation, and exact executed GQL. Explain specific findings, their meaning and limitations; counts alone are insufficient. |
| nebula_execute_mutationA | Execute one mutation only when NEBULA_ALLOW_MUTATIONS=true and confirm_mutation=true. This tool is destructive and returns no charts. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| nebula-connection | Redacted YueShu connection status and server version. |
| nebula-query-result-ui | Interactive graph, table, chart, explanation, and GQL result view. |
TDQS
Scored across 12 tools
Tools mostly target distinct resources and actions: environment listing, connection setup/testing, graph listing/selection, schema retrieval, GQL validation, read execution, mutation execution, and rendering. However, nebula_render_graph is explicitly a legacy alias of nebula_render_result, and nebula_execute_query also renders results, creating mild ambiguity about when to use render_result separately. The descriptions mitigate but do not fully eliminate this overlap.
All 12 tools use consistent snake_case with a nebula_ prefix and a verb_noun pattern: list_environments, select_graph, execute_query, validate_gql, etc. There is no mixing of conventions or vague verb styles.
12 tools sit well within the 3-15 sweet spot for a graph database MCP. Each tool covers a distinct operational area (connection, environment, graph selection, schema, validation, execution, mutation, rendering) without excessive redundancy.
The surface covers connection and environment setup, graph listing and selection, schema retrieval, GQL validation, read query execution, mutation execution, and result rendering. Minor gaps exist for explicit graph creation/deletion or query cancellation, but the core query lifecycle is well covered and mutations may handle DDL.