tigergraph-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TG_HOST | No | TigerGraph host | http://127.0.0.1 |
| TG_SECRET | No | GSQL secret (optional) | |
| TG_GS_PORT | No | GSQL port | 14240 |
| TG_PROFILE | No | Active connection profile (optional) | |
| TG_TGCLOUD | No | Whether using TigerGraph Cloud | false |
| TG_PASSWORD | No | Password | tigergraph |
| TG_SSL_PORT | No | SSL port | 443 |
| TG_USERNAME | No | Username | tigergraph |
| TG_API_TOKEN | No | API token (optional) | |
| TG_CERT_PATH | No | Path to certificate (optional) | |
| TG_GRAPHNAME | No | Graph name (optional) | |
| TG_JWT_TOKEN | No | JWT token (optional) | |
| TG_RESTPP_PORT | No | REST++ port | 9000 |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tigergraph__list_connectionsA | List all available TigerGraph connection profiles. Profiles are configured via environment variables: the default profile uses TG_HOST, TG_USERNAME, etc., while named profiles use _TG_HOST, _TG_USERNAME, etc. |
| tigergraph__show_connectionA | Show non-sensitive connection details for a specific profile (host, username, graph name, ports). Never reveals passwords or tokens. |
| tigergraph__authenticateA | Register TigerGraph credentials for the current MCP session. Re-points one of the session's connections at a TigerGraph instance. Omit Either |
| tigergraph__get_global_schemaA | Get the complete global schema including all global vertex types, edge types, graphs, and their member types. Runs GSQL 'LS' command. Use When: • You need to see all graphs and their schemas at once • Understanding the complete database structure • Finding all available vertex and edge types across all graphs • Database-level schema exploration Quick Start: (No parameters needed) Tips: • Returns output from GSQL 'LS' command • Shows all graphs in the database • For single graph details, use 'show_graph_details' instead • Useful for database administrators Related Tools: list_graphs, show_graph_details, get_graph_schema |
| tigergraph__list_graphsA | List all graph names in the TigerGraph database. Returns only graph names — no schema, query, or job details. Use When: • Discovering what graphs exist in the database • First step when connecting to a new TigerGraph instance • Verifying a graph was created or dropped successfully Quick Start: (No parameters needed) Next Steps: • Use 'show_graph_details' to see everything under a graph (schema, queries, jobs) • Use 'get_graph_schema' to get just the schema (vertex/edge types) Related Tools: show_graph_details, get_graph_schema, create_graph |
| tigergraph__create_graphA | Create a new graph in the TigerGraph database with its schema (vertex types and edge types). Each graph has its own independent schema. Use When: • Creating a new graph from scratch • Setting up a graph with specific vertex and edge types • Initializing a new project or data model • Defining the structure before loading data Quick Start: Common Workflow:
Vertex Primary Key Options:
• Default: auto-generates Tips: • Define all vertex types before edge types • Edge types reference vertex types by name • Set 'directed': false on edge types for undirected edges (default: directed) • Consider using 'get_workflow' for step-by-step guidance Related Tools: list_graphs, show_graph_details, drop_graph |
| tigergraph__drop_graphA | Drop (delete) a graph and its schema from the TigerGraph database. This permanently removes the graph, its schema, and all data. Use When: • Removing a graph that's no longer needed • Cleaning up test graphs • Starting fresh with a new schema Quick Start: Warning: DANGER: • This deletes EVERYTHING: schema, vertices, edges, queries, loading jobs • Operation is PERMANENT and cannot be undone • Double-check the graph_name before executing • Consider using 'clear_graph_data' if you only want to remove data Tips: • Use 'list_graphs' first to confirm the graph name • For production graphs, always backup first • To keep schema but clear data, use 'clear_graph_data' Related Tools: create_graph, clear_graph_data, list_graphs |
| tigergraph__clear_graph_dataA | Clear all data (vertices and edges) from a specific graph while keeping its schema structure intact. This is a destructive operation that removes all graph data. Use When: • Resetting a graph to empty state • Clearing test data before loading production data • Starting data reload with same schema Quick Start: WARNING: • Deletes ALL vertices and edges in the graph • Operation is PERMANENT and cannot be undone • Must set 'confirm': true to execute • Schema (vertex/edge types) remains intact Tips: • Preserves schema, only clears data • To delete everything including schema, use 'drop_graph' • Always backup important data first • Can specify 'vertex_type' to clear only specific type Related Tools: drop_graph, get_vertex_count, delete_nodes |
| tigergraph__get_graph_schemaA | Get the schema of a specific graph — vertex types, edge types, and their attributes — as structured JSON. Returns schema only, not queries or jobs. Use When: • You need to know vertex/edge types and their attributes • Building or validating queries against the schema • Programmatic schema inspection or comparison Quick Start: Tips: • Returns structured JSON (vertex types, edge types, attributes) • For a full listing including queries and jobs, use 'show_graph_details' • For just graph names, use 'list_graphs' Related Tools: show_graph_details (full listing), list_graphs (names only) |
| tigergraph__show_graph_detailsA | Show details of a specific graph. By default shows everything (schema, queries, loading jobs, data sources). Use 'detail_type' to show only a specific category. Use When: • You need a full picture of a graph (schema + queries + jobs) • Starting work with a graph (call this first!) • Checking which queries or loading jobs are installed • Debugging schema or job issues Quick Start: (Shows everything under the graph) Filter by category: Options: 'schema', 'query', 'loading_job', 'data_source' Tips:
• No detail_type → shows all (GSQL Related Tools: get_graph_schema (schema JSON), list_graphs (names only), list_vector_attributes (vector attribute details) |
| tigergraph__update_schemaA | Apply incremental schema changes: add/drop vertex types, edge types, or individual attributes. Supports both local (graph-scoped) and global schema changes. Use When:
Local schema change (add a vertex type to a graph): Global schema change (omit graph_name): Tips:
Related Tools: create_graph, get_graph_schema, show_graph_details |
| tigergraph__validate_schema_namesA | Validate vertex type names, edge type names, attribute names, and the graph name against GSQL reserved keywords and naming conflict rules. Use When:
Quick Start: (Returns warnings for 'SELECT' and 'count' as reserved keywords) Related Tools: create_graph, get_graph_schema |
| tigergraph__add_nodeA | Add a single node (vertex) to a TigerGraph graph. This performs an upsert operation - creates a new vertex if it doesn't exist, or updates attributes if it does. Use When: • Creating a single new entity (user, product, document, etc.) • Updating an existing vertex's attributes • You have individual entities to add (not batch loading) Quick Start: Common Workflow:
Tips: • For multiple vertices: Use 'add_nodes' instead (more efficient) • Primary key is required (usually the 'id' attribute) • Attribute names must match the schema exactly (case-sensitive) • This is an upsert: existing vertices are updated, not duplicated More Examples: Related Tools: • add_nodes - Batch insert multiple vertices • get_node - Retrieve a vertex by ID • delete_node - Remove a vertex • has_node - Check if vertex exists |
| tigergraph__add_nodesA | Add multiple nodes (vertices) to a TigerGraph graph in a single batch operation. This is significantly more efficient than calling 'add_node' multiple times. Use When: • Loading multiple vertices of the same type • Importing data from CSV, JSON, or database • Initial data population • Bulk updates to existing vertices Quick Start: Common Workflow:
Tips: • Set 'vertex_id' to match your schema's primary key name (default: 'id') • For SARGraph: vertex_id='ACCOUNT_ID' for Account vertices • All vertices must be the same type • For very large datasets (>10K vertices), consider using loading jobs • Batch size: 1000-5000 vertices per call is optimal Warning: Common Mistakes: • Missing primary key in one or more vertices • Using wrong vertex_id name (check schema with show_graph_details) • Mixing different vertex types in one call • Attribute name typos (must match schema exactly) • Wrong data types (e.g., string instead of int) |
| tigergraph__get_nodeA | Get a single node (vertex) from a TigerGraph graph by its type and ID. Use When: • Retrieving a specific entity by its ID • Verifying a vertex was created successfully • Checking current attribute values • Fetching details before updating Quick Start: Related Tools: • get_nodes - Get multiple vertices • has_node - Check if vertex exists • get_node_edges - Get edges connected to vertex |
| tigergraph__get_nodesA | Purpose: Retrieve multiple vertices (nodes) from the graph with optional filtering and sorting. When to Use:
Key Features:
Common Workflows:
Tips:
Related Tools:
|
| tigergraph__delete_nodeA | Purpose: Delete a single vertex (node) from the graph by its ID. When to Use:
Important Notes:
Common Workflows:
Tips:
Related Tools:
|
| tigergraph__delete_nodesA | Purpose: Delete multiple vertices (nodes) from the graph in a single operation. When to Use:
Important Notes:
Usage Modes:
Safety Tips:
Related Tools:
|
| tigergraph__has_nodeA | Purpose: Check if a vertex (node) exists in the graph without retrieving its full data. When to Use:
Key Features:
Common Workflows:
Tips:
Related Tools:
|
| tigergraph__get_node_edgesA | Purpose: Retrieve all edges connected to a specific vertex (node). When to Use:
What You Get:
Common Workflows:
Tips:
Note: This returns edges where the specified vertex is the SOURCE. For incoming edges, use a reverse traversal query or get_neighbors(). Related Tools:
|
| tigergraph__add_edgeA | Add a single edge (relationship) to a TigerGraph graph connecting two vertices. Use When: • Creating a relationship between two entities • Connecting vertices in the graph • Building graph structure • Adding individual relationships Quick Start: Common Workflow:
Tips: • Both vertices must exist before adding edge • Edge type must match schema definition • For multiple edges, use 'add_edges' (more efficient) • Edge attributes are optional Related Tools: add_edges, add_node, get_neighbors, delete_edge |
| tigergraph__add_edgesA | Add multiple edges (relationships) to a TigerGraph graph in a single batch operation. More efficient than calling 'add_edge' multiple times. Use When: • Loading multiple relationships • Building graph connections in bulk • Importing relationship data from files • Initial graph construction Quick Start: Common Workflow:
Tips: • All edges in one call must be same edge type • All referenced vertices must exist • Batch size: 1000-5000 edges per call is optimal • Much faster than individual 'add_edge' calls Related Tools: add_edge, add_nodes, get_edge_count |
| tigergraph__get_edgeA | Get a single edge (relationship) from a TigerGraph graph by specifying source, target, and edge type. Use When: • Retrieving a specific relationship • Checking edge attributes • Verifying edge was created Quick Start: Tips: • Requires full edge specification (source, target, type) • Returns edge attributes if any • Use 'get_neighbors' for simpler neighbor queries Related Tools: get_edges, has_edge, get_neighbors |
| tigergraph__get_edgesA | Get multiple edges (relationships) from a TigerGraph graph, optionally filtered by type. Use When: • Retrieving multiple edges • Exploring graph relationships • Data export and analysis Quick Start: Tips: • Can filter by edge type • Returns all edges from a source vertex • Use 'get_neighbors' for simpler use cases Related Tools: get_edge, get_neighbors, get_edge_count |
| tigergraph__delete_edgeA | Delete a single edge (relationship) from a TigerGraph graph. Use When: • Removing a specific relationship • Disconnecting two vertices • Graph maintenance Quick Start: Warning: • Operation is permanent • Does not delete the vertices, only the edge Related Tools: delete_edges, add_edge, has_edge |
| tigergraph__delete_edgesA | Delete multiple edges (relationships) from a TigerGraph graph. Use When: • Removing multiple relationships • Bulk edge deletion • Graph restructuring Quick Start: Warning: • Operation is permanent and cannot be undone • Does not delete vertices Related Tools: delete_edge, add_edges |
| tigergraph__has_edgeA | Check if an edge (relationship) exists between two vertices without retrieving its data. Use When: • Verifying relationship existence • Validation logic • More efficient than get_edge when you only need existence check Quick Start: Tips: • Returns boolean (true/false) • Faster than get_edge when you don't need the data • Use before add_edge to avoid duplicates Related Tools: get_edge, add_edge |
| tigergraph__run_queryA | Run an interpreted query on a TigerGraph graph. Supports both GSQL and openCypher query languages. Use this for ad-hoc queries without needing to install them first. Use When: • Running one-time or ad-hoc queries • Testing queries before installation • Simple data retrieval operations • Prototyping and exploration Quick Start (GSQL): Quick Start (Cypher): Common Workflow:
Tips: • Query type auto-detected (GSQL vs Cypher) • For frequent queries, use 'install_query' + 'run_installed_query' for better performance • Always include 'FOR GRAPH' clause • Use LIMIT to avoid retrieving too much data Warning: Syntax Notes:
• GSQL: Related Tools: run_installed_query, install_query, get_neighbors |
| tigergraph__run_installed_queryA | Run an installed GSQL query on a TigerGraph graph with parameters. Faster than interpreted queries for repeated execution. Use When: • Running pre-installed, compiled queries • Queries that are executed frequently • Performance-critical operations • Parameterized queries with different inputs Quick Start: Common Workflow:
Tips: • Queries must be installed first with 'install_query' • Use 'is_query_installed' to check if query exists • Provide params as dictionary matching query signature • Faster than interpreted queries Related Tools: install_query, is_query_installed, show_query |
| tigergraph__install_queryA | Install a GSQL query on a TigerGraph graph, compiling it for faster repeated execution. Use When: • You have a query you'll run multiple times • You want better query performance • Creating reusable query logic • Building query libraries Quick Start: Common Workflow:
Tips: • Query text should start with 'CREATE QUERY' • Installation compiles the query for better performance • Can define parameters in query signature • Use 'show_query' to view installed query text Related Tools: run_installed_query, drop_query, show_query |
| tigergraph__drop_queryA | Drop (delete) an installed query from TigerGraph. Use When: • Removing queries no longer needed • Cleaning up test queries • Before re-installing a modified query Quick Start: Warning: • Permanently deletes the installed query • Cannot be undone • Any code calling this query will fail Tips: • Use 'show_query' first to review before dropping • Cannot drop queries being used by other queries Related Tools: install_query, show_query, is_query_installed |
| tigergraph__show_queryA | Show the GSQL text of an installed query. Use When: • Reviewing what an installed query does • Debugging query behavior • Understanding existing queries • Documenting installed queries Quick Start: Tips: • Returns the full GSQL query text • Query must be installed first • Use 'is_query_installed' to check existence Related Tools: install_query, get_query_metadata, is_query_installed |
| tigergraph__get_query_metadataA | Get metadata about an installed query including parameters, return type, and other details. Use When: • Understanding query parameters and signature • Discovering what queries are available • Building query documentation • Programmatic query discovery Quick Start: Tips: • Shows query parameters, types, and metadata • Helps understand how to call the query • Use 'show_query' to see the actual query text Related Tools: show_query, is_query_installed, run_installed_query |
| tigergraph__update_query_descriptionA | Set a human-readable description for an installed query and, optionally, descriptions for each of its parameters. Requires TigerGraph 4.0+. Use When: • Documenting what an installed query does and what its parameters mean • Making queries self-describing for agents and other consumers Quick Start: Tips: • Query must be installed first • Omit 'parameter_descriptions' to set only the query-level description • Read it back with 'get_query_description' Related Tools: get_query_description, get_query_metadata, show_query |
| tigergraph__get_query_descriptionA | Get the description and parameter descriptions of one or more installed queries. Requires TigerGraph 4.0+. Use When: • Discovering what a query does and what each parameter means • Building query documentation • Understanding a query's parameters together with their descriptions Quick Start: Tips: • Pass 'all' (the default) to read descriptions for every query • Pair with 'get_query_metadata' to combine parameter types and descriptions • Set descriptions with 'update_query_description' Related Tools: update_query_description, get_query_metadata, show_query |
| tigergraph__is_query_installedA | Check if a query is installed in TigerGraph without running it. Use When: • Verifying query installation • Before trying to run an installed query • Conditional query logic Quick Start: Tips: • Returns true/false • Faster than trying to run and catching errors • Use before 'run_installed_query' Related Tools: install_query, run_installed_query, show_query |
| tigergraph__get_neighborsA | Get neighbor vertices connected to a source vertex via edges. Useful for 1-hop graph traversal to find connected entities. Use When: • Finding vertices directly connected to a vertex • 1-hop traversal (immediate neighbors) • Discovering relationships • Building recommendation lists Quick Start: Common Workflow:
Tips: • Simpler than writing a query for 1-hop traversal • Can filter by edge type (e.g., only 'FOLLOWS' edges) • Can specify target vertex type • For multi-hop traversal, use 'run_query' instead Examples: • Find friends: edge_type='FRIENDS' • Find purchases: edge_type='PURCHASED', target_vertex_type='Product' • Find all connections: omit edge_type Related Tools: get_node_edges, run_query, add_edge |
| tigergraph__create_loading_jobA | Create a loading job from structured configuration. The job defines how to load data from files into vertices and edges. Each file config specifies: file alias, separator, header, EOL, and mappings. Node mappings define which columns map to vertex attributes. Edge mappings define source/target columns and edge attributes. Optionally run the job immediately and drop it after execution. |
| tigergraph__run_loading_job_with_fileC | Execute a loading job with a data file. The file is uploaded to TigerGraph and loaded according to the specified loading job definition. |
| tigergraph__run_loading_job_with_dataB | Execute a loading job with inline data string. The data is posted to TigerGraph and loaded according to the specified loading job definition. |
| tigergraph__get_loading_jobsA | Get a list of all loading jobs defined for the current graph. |
| tigergraph__get_loading_job_statusB | Get the status of a specific loading job by its job ID. |
| tigergraph__drop_loading_jobB | Drop (delete) a loading job from the graph. |
| tigergraph__get_vertex_countA | Get the count of vertices in a TigerGraph graph. |
| tigergraph__get_edge_countB | Get the count of edges in a TigerGraph graph. |
| tigergraph__get_node_degreeB | Get the degree (number of connected edges) of a node in a TigerGraph graph. |
| tigergraph__gsqlA | Execute a GSQL command on TigerGraph. Use this for administrative tasks (e.g., creating users, granting roles) or schema modifications (e.g., CREATE VERTEX). Do NOT use this for running data queries (SELECT statements) - use run_query instead. Example: |
| tigergraph__generate_gsqlA | Generate a GSQL query from a natural language description using an LLM. Use this tool when you need to create a GSQL query but are unsure of the exact syntax. The generated query can then be executed using the gsql tool. For best results, provide the graph_name so the schema can be used to generate accurate queries. Configure the LLM via env vars: LLM_MODEL (e.g., 'gpt-4o' or 'openai:gpt-4o') and optionally LLM_PROVIDER. |
| tigergraph__generate_cypherA | Generate an openCypher query from a natural language description using an LLM. Use this tool when you prefer Cypher syntax over GSQL. The generated query will be wrapped in TigerGraph's INTERPRET OPENCYPHER QUERY format. graph_name is required as the query needs to specify the target graph. Configure the LLM via env vars: LLM_MODEL (e.g., 'gpt-4o' or 'openai:gpt-4o') and optionally LLM_PROVIDER. |
| tigergraph__add_vector_attributeA | Add a vector attribute to an existing vertex type. Creates a schema change job to ALTER VERTEX with ADD VECTOR ATTRIBUTE. |
| tigergraph__drop_vector_attributeA | Drop a vector attribute from a vertex type. Creates a schema change job to ALTER VERTEX with DROP VECTOR ATTRIBUTE. |
| tigergraph__list_vector_attributesA | Get vector attribute information (name, dimension, metric) for vertex types in a graph. Parses the output of the GSQL 'LS' command. Optionally filter by vertex type. Related Tools: add_vector_attribute, drop_vector_attribute, get_vector_index_status |
| tigergraph__get_vector_index_statusA | Check the rebuild status of vector indexes. Returns 'Ready_for_query' when complete or 'Rebuild_processing' if still building. |
| tigergraph__upsert_vectorsA | Upsert multiple vertices with vector data using the REST Upsert API. Vectors must be provided inline as lists of floats (i.e., already in memory). To bulk-load vectors from a local file, use 'load_vectors_from_csv' or 'load_vectors_from_json' instead. |
| tigergraph__load_vectors_from_csvA | Bulk-load vectors from a CSV/delimited file into a vertex type's vector attribute. Creates a GSQL loading job, runs it with the file, then drops the job. File format: Each row has a vertex ID and a vector. Fields are separated by Example file (field_separator='|', element_separator=','): Prerequisites:
Related Tools: add_vector_attribute, load_vectors_from_json (JSON Lines alternative), upsert_vectors (REST API for in-memory data), get_vector_index_status (check indexing after load) |
| tigergraph__load_vectors_from_jsonA | Bulk-load vectors from a JSON Lines (.jsonl) file into a vertex type's vector attribute. Creates a GSQL loading job with JSON_FILE="true", runs it with the file, then drops the job. File format: Each line is a JSON object with an ID field and a vector field. The vector is stored as a comma-separated string (not a JSON array). Example file (id_key='id', vector_key='embedding'): Prerequisites:
Related Tools: add_vector_attribute, load_vectors_from_csv (CSV alternative), upsert_vectors (REST API for in-memory data), get_vector_index_status (check indexing after load) |
| tigergraph__search_top_k_similarityA | Perform vector similarity search using TigerGraph's vectorSearch() function. Returns top-K most similar vertices with distance scores. IMPORTANT: The Use Related Tools: list_vector_attributes (check dimension), fetch_vector (retrieve vector values), get_vector_index_status (check index readiness) |
| tigergraph__fetch_vectorA | Fetch vertices with their vector data using GSQL PRINT WITH VECTOR. Note: Vector attributes cannot be fetched via REST API. |
| tigergraph__create_data_sourceA | Create a new data source for loading data from object storage (S3, GCS, Azure Blob), a data warehouse (Snowflake, BigQuery, PostgreSQL), an Iceberg catalog, or Kafka. Call 'get_data_source_types' first if unsure which keys a type needs; if the server rejects the request, the response includes the keys that type requires. |
| tigergraph__update_data_sourceC | Update an existing data source configuration. |
| tigergraph__get_data_sourceB | Get information about a specific data source. |
| tigergraph__drop_data_sourceA | Drop (delete) a data source. |
| tigergraph__get_all_data_sourcesB | Get information about all data sources. |
| tigergraph__drop_all_data_sourcesA | Drop all data sources. WARNING: This is a destructive operation. |
| tigergraph__get_data_source_typesA | List the data source types supported by 'create_data_source', with the required and optional configuration keys and an example config for each. Answers locally without contacting TigerGraph. |
| tigergraph__preview_sample_dataB | Preview sample data from a file in a data source. |
| tigergraph__discover_toolsA | Discover which TigerGraph tools are relevant for your task. Use this tool when:
Returns:
Example: task_description: 'I want to add multiple users to the graph' |
| tigergraph__get_workflowA | Get a step-by-step workflow template for common TigerGraph tasks. Use this tool when:
Returns:
Available workflows: create_graph, load_data, query_data, vector_search, graph_analysis, setup_connection |
| tigergraph__get_tool_infoA | Get detailed information about a specific TigerGraph tool. Use this tool when:
Returns:
|
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 69 tools
Most tools have clearly distinct purposes, with singular/plural pairs (add_node/add_nodes, get_edge/get_edges) and lifecycle operations well separated. However, get_edges and get_node_edges overlap heavily—both retrieve edges from a source vertex—and the schema trio (get_global_schema, get_graph_schema, show_graph_details) requires careful reading to distinguish.
All tool names follow a consistent snake_case verb_noun pattern (add_node, get_edges, drop_query, list_graphs). Even meta tools like discover_tools and get_workflow fit the pattern. There is no mixing of conventions or vague generic verbs.
69 tools is an extreme count, well above the 50+ threshold for over-fragmentation. Even though TigerGraph is a complex platform, the tool surface is bloated with many near-duplicate variants (singular/plural pairs, multiple vector loading methods) that will overwhelm agents and make selection harder.
The surface is remarkably comprehensive, covering schema management, node/edge CRUD, query lifecycle (interpreted, installed, described), loading jobs, data sources, vector search, and admin via gsql. Minor gaps exist, such as a dedicated list_queries tool or conditional bulk edge deletion, but agents can work around these with show_graph_details or gsql.