ontologie
title: Ontology sidebar_label: Ontology (65) sidebar_position: 1 doc_type: reference
Ontology
Overview
Query, create, and navigate your business model.
Prerequisites
- API key with the MCP preset and required scopes
- Configured MCP client (see Configuration)
Quick start examples
Discover and search your ontology
- List your available espaces :
{
"name": "ontology_list_espaces",
"arguments": {}
}
- Search entities by keyword :
{
"name": "ontology_search",
"arguments": {
"query": "fournisseur",
"limit": 10
}
}
- View entity details :
{
"name": "ontology_get_node",
"arguments": {
"nodeId": "uuid-de-lentite"
}
}
Discovery
ontology_list_espaces
[DISCOVERY] List available ontology espaces (canvases) in the workspace.
USE WHEN: • Starting exploration with no espace ID known • Need to discover available ontologies • Finding the default espace for queries RETURNS: List of espaces with IDs, names, node counts, and the defaultEspaceId FEATURES: • Identifies default espace for auto-resolution • Optional node count inclusion • Filter by status (active/archived) REQUIRES: optional: includeNodeCounts, status, limit RELATED: • ontology_describe: Get overview of specific espace • ontology_query_nodes: Query nodes in an espace EXAMPLE: "What ontologies exist?" or "List my espaces" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
includeNodeCounts | boolean | No | Include the count of nodes in each espace (default : true) |
limit | number | No | Maximum number of espaces to return (default : 50) |
status | choice (active, archived, all) | No | Filter by espace status (default : "active") |
Response
| Field | Type | Description |
|---|---|---|
espaces | array | |
defaultEspaceId | string | |
defaultEspaceName | string | |
total | number |
Example
{
"name": "ontology_list_espaces",
"arguments": {}
}
Tip : Utilisez le
defaultEspaceIdde la reponse pour les autres outils ontologie.
Related tools :
ontology_describe,ontology_query_nodes
ontology_describe
[DISCOVERY] Get a high-level business overview of an ontology structure.
USE WHEN: • Want summary before detailed queries • Need to understand what\
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
format | choice (summary, detailed, statistics) | No | Output format: summary (default), detailed, or statistics (default : "summary") |
includeTopEntities | number | No | Number of top entities to include in the summary (default : 10) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
isDefault | boolean | |
wasAutoResolved | boolean | |
statistics | object | |
totalNodes | number | |
objectTypeCount | number | |
linkTypeCount | number | |
edgeCount | number | |
topObjectTypes | array | |
displayName | string | |
description | string | |
connectionCount | number | |
topLinkTypes | array | |
usageCount | number | |
edgeTypes | array | |
type | string | |
count | number | |
businessDescription | string |
Example
{
"name": "ontology_describe",
"arguments": {
"format": "summary"
}
}
Related tools :
ontology_query_nodes,ontology_get_node,ontology_analyze_schema
Queries
ontology_query_nodes
[QUERY] Search and filter nodes (ObjectTypes, LinkTypes) in an ontology.
USE WHEN: Looking for specific nodes by type, name, or status RETURNS: List of matching nodes with IDs, types, properties REQUIRES: espaceId (optional - uses default if not provided) RELATED: ontology_get_node (single node details), ontology_get_neighbors (connections) EXAMPLE: "Find all Customer entities" or "List ObjectTypes" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
limit | number | No | Maximum results to return (default : 100) |
nodeType | choice (ObjectType, LinkType) | No | Filter by node type |
offset | number | No | Offset for pagination (default : 0) |
search | string | No | Search nodes by name (case-insensitive) |
status | choice (active, draft, archived, all) | No | Filter by status (default : "active") |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
nodes | array | |
total | number | |
hasMore | boolean |
Example
{
"name": "ontology_query_nodes",
"arguments": {
"nodeType": "ObjectType",
"limit": 20
}
}
Related tools :
ontology_get_node,ontology_get_neighbors,ontology_search
ontology_query_edges
[QUERY] Search and filter edges (relationships) between nodes in an ontology.
USE WHEN: Looking for specific relationships, connections from/to a node RETURNS: List of edges with source/target nodes, edge types, properties REQUIRES: espaceId (optional - uses default if not provided) RELATED: ontology_get_neighbors (more efficient for single node), ontology_traverse (graph exploration) EXAMPLE: "Show all belongs_to relationships" or "What connects to Customer?" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
edgeType | string | No | Filter by edge type (e.g., "belongs_to", "references") |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
includeNodeNames | boolean | No | Include source/target node names in results (default : true) |
limit | number | No | Maximum results to return (default : 100) |
nodeId | string | No | Filter edges connected to this node (either as source or target) |
offset | number | No | Offset for pagination (default : 0) |
sourceId | string | No | Filter edges originating from this node ID |
targetId | string | No | Filter edges pointing to this node ID |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
edges | array | |
total | number | |
hasMore | boolean |
Example
{
"name": "ontology_query_edges",
"arguments": {
"limit": 20
}
}
Related tools :
ontology_get_neighbors,ontology_traverse,ontology_get_edge_properties
ontology_search
[SEARCH] Full-text search across ontology entities and relations.
USE WHEN: • Need to find entities by name, description, or properties • Looking for nodes matching keywords RETURNS: Ranked list of matching nodes with scores and highlights FEATURES: • Prefix matching for autocomplete • Relevance-ranked results (PostgreSQL TSVECTOR) • Shows where matches occurred (name, description, properties) • Redis caching for fast repeat queries REQUIRES: query (min 2 chars); optional: espaceId, nodeType, includeProperties, limit RELATED: • ontology_get_node: Get full details of a found node • ontology_get_neighbors: See connections of a found node • ontology_query_nodes: Filter-based query (vs text search) EXAMPLE: "Find entities related to customer" → this tool with query "customer"
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query (min 2 characters) |
espaceId | string (uuid) | No | Espace/canvas ID (optional, auto-resolves to default) |
espaceName | string | No | Alternative: espace name |
includeProperties | boolean | No | Include property details in results (default : false) |
limit | number | No | Maximum results (default : 20) |
nodeType | choice (ObjectType, LinkType) | No | Filter by node type |
offset | number | No | Pagination offset (default : 0) |
Response
| Field | Type | Description |
|---|---|---|
results | array | |
total | number | |
took | number | |
query | string |
Example
{
"name": "ontology_search",
"arguments": {
"query": "fournisseur",
"limit": 10
}
}
Related tools :
ontology_get_node,ontology_get_neighbors,ontology_explain_search
ontology_semantic_query
[NL QUERY] Ask questions about the ontology in natural language.
USE WHEN:
- User asks a question about data in the ontology
- Need to traverse the graph without knowing exact types/filters
- Natural language query like "which clients have expired contracts" RETURNS: Synthesized answer, matching entities, relationships, step-by-step explanation REQUIRES: query (2-1000 chars); optional: espaceId, maxResults, includeExplanation RELATED:
- ontology_query_nodes: Structured query (needs type/filters)
- ontology_search: Keyword search for entities
- ontology_traverse: Manual graph traversal EXAMPLE: "Which clients are linked to expired contracts?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural language question about the ontology |
espaceId | string (uuid) | No | Filter to a specific espace/canvas |
includeExplanation | boolean | No | Include step-by-step query explanation (default : true) |
maxResults | number | No | Maximum number of entity results (default : 20) |
Response
| Field | Type | Description |
|---|---|---|
answer | string | |
entities | array | |
id | string | |
name | string | |
type | string | |
properties | record | |
relationships | array | |
sourceId | string | |
targetId | string | |
explanation | string | |
metadata | object | |
totalTimeMs | number | |
entitiesFound | number |
Example
{
"name": "ontology_semantic_query",
"arguments": {
"query": "Quels sont les types de contrats ?"
}
}
Related tools :
ontology_query_nodes,ontology_search,ontology_traverse
ontology_explain_search
[ANALYSIS] Understand why nodes ranked as they did in ontology search.
USE WHEN:
- Debugging search quality or unexpected rankings
- Refining queries based on score breakdown
- Understanding which fields matched (name, description, properties) RETURNS: Per-field scores, match details, ranking factors, query analysis FEATURES:
- Score breakdown by field (name, description, apiName, properties)
- Query term analysis and normalization
- Match highlighting with positions
- Human-readable ranking factor explanations REQUIRES: query (min 2 chars); optional: nodeId, topK, espaceId RELATED: ontology_search (perform search), ontology_get_node (details) EXAMPLE: "Why did Customer rank above Lead?" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The search query to analyze (min 2 characters) |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
nodeId | string (uuid) | No | Specific node ID to explain (if omitted, explains top results) |
topK | number | No | Number of top results to explain (default : 5) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
query | string | |
explanations | array | |
searchConfig | object | |
usesTsvector | boolean | |
weightedScoring | boolean | |
prefixMatchingEnabled | boolean | |
suggestions | array |
Related tools :
ontology_search,ontology_get_node
CRUD Nodes
ontology_get_node
[QUERY] Get complete details of a single node by ID or name.
USE WHEN: Need full properties, metadata, and details of a specific entity RETURNS: Complete node with properties, position, status, groups, interfaces REQUIRES: nodeId OR nodeName (at least one required) RELATED: ontology_get_neighbors (see connections), ontology_query_nodes (search multiple) EXAMPLE: "Get details of Customer entity" or "Show node properties" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
nodeId | string (uuid) | No | Node ID to retrieve |
nodeName | string | No | Node name to retrieve (alternative to nodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean |
Example
{
"name": "ontology_get_node",
"arguments": {
"nodeId": "uuid-de-lentite"
}
}
Related tools :
ontology_get_neighbors,ontology_query_nodes,ontology_get_property_schema
ontology_create_node
[MUTATION] Create a new ObjectType or LinkType in the ontology.
USE WHEN: Need to add a new entity type or relationship type to the model RETURNS: Created node with ID, confirmation message REQUIRES: type (ObjectType/LinkType), name; espaceId optional RELATED: ontology_update_node (modify), ontology_delete_node (remove) EXAMPLE: "Create a Customer entity" or "Add a new relationship type" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name of the node |
position | object | Yes | |
type | choice (ObjectType, LinkType) | Yes | The type of node to create |
x | number | Yes | |
color | string | No | Node color (hex) |
description | string | No | Description of the node |
displayName | string | No | Human-readable display name |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
icon | string | No | Icon name |
properties | array | No | Node properties/fields |
y | number | No | Position on canvas |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
nodeId | string | |
type | string | |
version | number |
Example
{
"name": "ontology_create_node",
"arguments": {
"type": "ObjectType",
"name": "Fournisseur",
"properties": {
"description": "Entite representant un fournisseur"
}
}
}
Related tools :
ontology_update_node,ontology_delete_node,ontology_get_node
ontology_update_node
[MUTATION] Update an existing node\
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
position | object | Yes | |
updates | object | Yes | |
x | number | Yes | |
color | string | No | |
description | string | No | |
displayName | string | No | |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
expectedVersion | number | No | Expected version for OCC (optional) |
icon | string | No | Fields to update |
name | string | No | |
nodeId | string (uuid) | No | Node ID to update |
nodeName | string | No | Node name to update (alternative to nodeId, case-insensitive) |
properties | array | No | |
status | choice (active, draft, archived) | No | |
y | number | No |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
nodeId | string | |
version | number | |
updatedFields | array |
Related tools :
ontology_get_node,ontology_create_node,ontology_delete_node
ontology_delete_node
[MUTATION] Delete a node from the ontology (with optional edge cascade).
USE WHEN: Need to remove an entity or relationship type from the model RETURNS: Confirmation with deleted node ID and edge count if cascade REQUIRES: nodeId OR nodeName; cascade=true to also delete connected edges RELATED: ontology_get_node (verify first), ontology_get_neighbors (check connections) EXAMPLE: "Delete the Customer entity" or "Remove unused LinkType" → this toolYou can specify either nodeId or nodeName.
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
cascade | boolean | No | Also delete connected edges (default: true to prevent orphan edges) (default : true) |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
nodeId | string (uuid) | No | Node ID to delete |
nodeName | string | No | Node name to delete (alternative to nodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
nodeId | string | |
deletedEdges | number |
Related tools :
ontology_get_node,ontology_get_neighbors,ontology_impact_analysis
CRUD Relationships
ontology_create_edge
[MUTATION] Create a new relationship (edge) between two nodes.
USE WHEN: Need to connect two entities with a relationship RETURNS: Created edge with ID, source/target info REQUIRES: source (id or name), target (id or name), edgeType RELATED: ontology_update_edge (modify), ontology_delete_edge (remove), ontology_get_edge_properties (view) EXAMPLE: "Connect Customer to Order with owns relationship" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
edgeType | string | Yes | Type/name of the relationship (e.g., "belongs_to", "references", "owns") |
displayName | string | No | Human-readable display name for the relationship |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
sourceNodeId | string (uuid) | No | Source node UUID |
sourceNodeName | string | No | Source node name (alternative to sourceNodeId, case-insensitive) |
targetNodeId | string (uuid) | No | Target node UUID |
targetNodeName | string | No | Target node name (alternative to targetNodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
edgeId | string | |
edgeType | string | |
source | object | |
target | object | |
version | number |
Related tools :
ontology_update_edge,ontology_delete_edge,ontology_get_edge_properties
ontology_update_edge
[MUTATION] Update properties of an existing edge (relationship).
USE WHEN: Need to modify edge type, cardinality, cascade rules, or other properties RETURNS: Updated edge with version info REQUIRES: edgeId, updates object RELATED: ontology_create_edge (create), ontology_delete_edge (remove), ontology_get_edge_properties (view) EXAMPLE: "Change Customer->Order cardinality to one-to-many" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
edgeId | string | Yes | Edge ID to update |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
edgeId | string | |
previousVersion | number | |
newVersion | number | |
updatedFields | array |
Related tools :
ontology_create_edge,ontology_delete_edge,ontology_get_edge_properties
ontology_delete_edge
[MUTATION] Delete an existing edge (relationship) from the ontology.
USE WHEN: Need to remove a relationship between nodes RETURNS: Deleted edge info, undo capability REQUIRES: edgeId NOTE: Deletion can be undone via workspace undo RELATED: ontology_create_edge (create), ontology_update_edge (modify), ontology_get_edge_properties (view) EXAMPLE: "Remove the owns relationship between Customer and Order" → this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
edgeId | string | Yes | Edge ID to delete |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
force | boolean | No | Skip confirmation warnings (e.g., for cascade effects) (default : false) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
success | boolean | |
edgeId | string | |
deletedEdgeType | string | |
source | object | |
target | object | |
canUndo | boolean |
Related tools :
ontology_create_edge,ontology_update_edge,ontology_impact_analysis
ontology_get_edge_properties
[SCHEMA] Get detailed edge properties including cardinality, cascade rules, and constraints.
USE WHEN: Need to understand relationship constraints, cascade behavior, or cardinality RETURNS: Full edge property schema with cardinality (one-to-many), cascadeDelete, reverseName, constraints REQUIRES: At least one filter (edgeId, sourceNodeId, targetNodeId, or edgeType) RELATED: ontology_query_edges (basic listing), ontology_impact_analysis (cascade simulation) EXAMPLE: "What happens if I delete Account?" or "Is Customer->Order one-to-many?" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
edgeId | string | No | Specific edge ID to retrieve properties for |
edgeType | string | No | Filter by edge/relationship type (e.g., "belongs_to", "references") |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
limit | number | No | Maximum results to return (default : 50) |
sourceNodeId | string (uuid) | No | Filter edges originating from this node |
sourceNodeName | string | No | Filter edges originating from node with this name (case-insensitive) |
targetNodeId | string (uuid) | No | Filter edges pointing to this node |
targetNodeName | string | No | Filter edges pointing to node with this name (case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
edges | array | |
total | number | |
summary | object | |
totalEdges | number | |
cardinalityDistribution | record | |
cascadeDeleteCount | number | |
bidirectionalCount | number | |
withConstraintsCount | number |
Related tools :
ontology_query_edges,ontology_impact_analysis,ontology_get_property_schema
Graph Navigation
ontology_get_neighbors
[GRAPH] Get all neighbors of a node in a single efficient call.
USE WHEN: Need to see what entities connect to/from a specific node RETURNS: Inbound connections (pointing TO), outbound connections (pointing FROM) REQUIRES: nodeId OR nodeName (at least one required) RELATED: ontology_traverse (multi-level exploration), ontology_query_edges (filter edges) EXAMPLE: "What connects to Customer?" or "Show relationships for Order" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
direction | choice (in, out, both) | No | Direction of edges to include: in (incoming), out (outgoing), both (default : "both") |
edgeTypes | array | No | Filter by specific edge types (e.g., ["belongs_to", "references"]) |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
limit | number | No | Maximum neighbors to return per direction (default : 50) |
nodeId | string | No | Node ID to get neighbors for |
nodeName | string | No | Node name (alternative to nodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
inbound | array | |
outbound | array | |
stats | object | |
inCount | number | |
outCount | number | |
totalConnections | number | |
hasMoreInbound | boolean | |
hasMoreOutbound | boolean |
Example
{
"name": "ontology_get_neighbors",
"arguments": {
"nodeId": "uuid-de-lentite",
"direction": "both"
}
}
Related tools :
ontology_traverse,ontology_query_edges,ontology_get_node
ontology_traverse
[GRAPH] Traverse the ontology graph from a starting node up to N levels deep.
USE WHEN: Need to explore the broader context around an entity (multi-hop) RETURNS: Subgraph with all nodes, edges, paths, and traversal stats REQUIRES: startNodeId OR startNodeName, maxDepth (1-5, default 2) RELATED: ontology_get_neighbors (single-hop), ontology_analyze_schema (structure) EXAMPLE: "Show 2 levels around Customer" or "Map the Order context" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
direction | choice (in, out, both) | No | Direction of edges to follow: in, out, or both (default : "both") |
edgeTypes | array | No | Filter by specific edge types |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
includeProperties | boolean | No | Include node properties in output (increases response size) (default : false) |
maxDepth | number | No | Maximum traversal depth (1-5, default: 2) (default : 2) |
maxNodes | number | No | Maximum total nodes to return (safety limit) (default : 100) |
startNodeId | string | No | Starting node ID for traversal |
startNodeName | string | No | Starting node name (alternative to startNodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
graph | object | |
nodes | array | |
edges | array | |
paths | array | |
stats | object | |
nodesVisited | number | |
edgesTraversed | number | |
maxDepthReached | number | |
truncated | boolean |
Related tools :
ontology_get_neighbors,ontology_find_path,ontology_analyze_schema
ontology_find_path
[GRAPH] Find shortest path(s) between two nodes in the ontology graph.
USE WHEN: Need to understand how two entities are connected RETURNS: Path(s) with nodes, edges, and distances ALGORITHMS: bfs (hop count), dijkstra (edge weights) REQUIRES: source (id or name), target (id or name) RELATED: ontology_traverse (explore from one node), ontology_impact_analysis (cascade effects) EXAMPLE: "How are Customer and Invoice connected?" or "Path from Lead to Deal" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
algorithm | choice (bfs, dijkstra) | No | Algorithm: bfs (shortest hop count) or dijkstra (minimum weight) (default : "bfs") |
direction | choice (out, in, both) | No | Direction of edges to follow (default : "both") |
edgeTypes | array | No | Filter by specific edge types |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
findAllPaths | boolean | No | If true, find all paths up to maxPaths (slower) (default : false) |
maxDepth | number | No | Maximum path length (1-10, default: 5) (default : 5) |
maxNodesExplored | number | No | Safety limit: max nodes to explore before stopping (100-50000, default: 10000) (default : 10000) |
maxPaths | number | No | Maximum number of paths to return when findAllPaths=true (default : 5) |
sourceNodeId | string (uuid) | No | Source node UUID |
sourceNodeName | string | No | Source node name (alternative to sourceNodeId, case-insensitive) |
targetNodeId | string (uuid) | No | Target node UUID |
targetNodeName | string | No | Target node name (alternative to targetNodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
found | boolean | |
paths | array | |
stats | object | |
algorithm | enum | |
nodesExplored | number | |
edgesExplored | number | |
executionTimeMs | number | |
pathsFound | number | |
shortestPathLength | number | |
hitExplorationLimit | boolean |
Related tools :
ontology_traverse,ontology_impact_analysis,ontology_get_neighbors
ontology_reference_graph
[IMPACT] "Who uses this?" — Find all consumers of an ontology element and calculate change impact.
USE WHEN:
- Before modifying/deleting an ObjectType, property, or link
- Need to understand what depends on an element
- Impact analysis before schema changes RETURNS: List of consumers (workflows, agents, spreadsheets), reference stats, impact severity if changeType provided REQUIRES: sourceType, sourceId; optional: changeType (for impact analysis) RELATED:
- ontology_impact_analysis: Cascade analysis (existing tool)
- ontology_get_node: Get element details EXAMPLE: "What uses the Customer ObjectType?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sourceId | string (uuid) | Yes | ID of the ontology element |
sourceType | choice (objectType, linkType, property, interface, sharedProperty, action) | Yes | Type of ontology element |
changeType | choice (rename, delete, modify_type, add_required, remove, deprecate) | No | If provided, calculates impact severity for this change type |
Response
| Field | Type | Description |
|---|---|---|
consumers | array | |
impact | object | |
items | array | |
summary | object | |
totalConsumers | number | |
breakingCount | number | |
riskyCount | number | |
safeCount | number |
Related tools :
ontology_impact_analysis,ontology_get_node,ontology_describe
Schemas and Properties
ontology_get_property_schema
[SCHEMA] Get complete property schema of a node with validation rules, tags, and metadata.
USE WHEN: Need to understand property definitions, validation rules, or data constraints RETURNS: Full property schema with types, validation (format, min/max), tags (pii), metadata (indexable) REQUIRES: nodeId OR nodeName (at least one required) RELATED: ontology_get_node (basic info), ontology_analyze_schema (full espace analysis) EXAMPLE: "What validation rules does Lead have?" or "Which properties are PII?" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
includeMetadata | boolean | No | Include metadata flags (indexable, searchable, sortable) (default : true) |
includeTags | boolean | No | Include property tags (pii, encrypted, sensitive) (default : true) |
includeValidation | boolean | No | Include validation rules (format, min, max, pattern) (default : true) |
nodeId | string (uuid) | No | Node ID to retrieve schema for |
nodeName | string | No | Node name to retrieve schema for (alternative to nodeId, case-insensitive) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
nodeId | string | |
nodeName | string | |
nodeDisplayName | string | |
nodeType | string | |
properties | array | |
summary | object | |
totalProperties | number | |
requiredCount | number | |
uniqueCount | number | |
computedCount | number | |
withValidationCount | number | |
piiTaggedCount | number | |
indexableCount | number |
Related tools :
ontology_get_node,ontology_analyze_schema,ontology_get_edge_properties
ontology_analyze_schema
[ANALYSIS] Deep analysis of ontology schema: types, properties, patterns, metrics.
USE WHEN: Need to understand the data model structure before queries or modifications RETURNS: Schema summary, node type analyses, graph patterns, recommendations REQUIRES: espaceId (optional - uses default if not provided) RELATED: ontology_describe (quick overview), ontology_traverse (explore specific areas) EXAMPLE: "Analyze the schema structure" or "What patterns exist?" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
analyzePatterns | boolean | No | Analyze graph patterns (hubs, leaves, potential cycles) (default : true) |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
focus | string | No | Focus on a specific node name for detailed analysis |
includeUsageStats | boolean | No | Include instance counts and relationship usage statistics (default : true) |
nodeType | choice (ObjectType, LinkType, all) | No | Filter by node type (default: all) (default : "all") |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
isDefault | boolean | |
wasAutoResolved | boolean | |
nodeTypes | array | |
recommendations | array |
Related tools :
ontology_describe,ontology_traverse,ontology_get_property_schema
ontology_value_types
[TYPES] Manage reusable value type definitions for property standardization.
USE WHEN:
- Need to see available value types (text, numeric, temporal, etc.)
- Get details of a specific value type (constraints, formatting)
- Understand what types are available for properties OPERATIONS:
- list: List all value types (system + custom)
- get: Get a specific value type by ID REQUIRES: operation; optional: valueTypeId (get), category/search/limit (list) RELATED:
- ontology_get_property_schema: Get property definitions
- ontology_get_node: Get ObjectType details EXAMPLE: "What value types are available?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | choice (list, get) | Yes | Operation to perform |
category | string | No | Filter by category (e.g. "text", "numeric", "temporal") |
limit | number | No | Max results (for list) (default : 50) |
search | string | No | Search filter on name/description |
valueTypeId | string (uuid) | No | Value type ID (required for get) |
Response
| Field | Type | Description |
|---|---|---|
operation | string | |
valueType | object | |
id | string | |
name | string | |
displayName | string | |
description | string | |
baseType | string | |
constraints | record | |
formatting | record | |
examples | array | |
category | string | |
version | number | |
status | string | |
valueTypes | array | |
typeSource | string | |
total | number |
Related tools :
ontology_get_property_schema,ontology_get_node,ontology_describe
ontology_computed_properties
[COMPUTED] Manage computed (derived) properties on ObjectTypes.
USE WHEN:
- List computed properties on an ObjectType
- Create a new formula-based or aggregation property
- Evaluate a computed property for an entity instance OPERATIONS:
- list: Get all computed properties for an ObjectType
- create: Create a new computed property with formula
- evaluate: Compute value for a specific entity instance REQUIRES: operation, objectTypeId; depends on operation: name/formula/dataType (create), propertyId/entityInstanceId (evaluate) RELATED:
- ontology_get_property_schema: Get property definitions
- ontology_get_node: Get ObjectType details EXAMPLE: "Add a computed property total_revenue on Customer" -> this tool
| Scope | mcp.read |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
objectTypeId | string (uuid) | Yes | ObjectType ID |
operation | choice (list, create, evaluate) | Yes | Operation to perform |
computationType | choice (formula, aggregation) | No | Computation type (required for create) |
dataType | string | No | Data type of the computed value (required for create) |
description | string | No | Property description |
entityInstanceId | string (uuid) | No | Entity instance to evaluate against (required for evaluate) |
formula | string | No | Formula expression (for create with formula type) |
name | string | No | Property name (required for create) |
propertyId | string (uuid) | No | Computed property ID (required for evaluate) |
Response
| Field | Type | Description |
|---|---|---|
operation | string | |
properties | array | |
id | string | |
name | string | |
displayName | string | |
dataType | string | |
computationType | string | |
formula | string | |
status | string | |
dependsOnProperties | array | |
created | object | |
evaluation | object | |
value | unknown | |
cached | boolean | |
durationMs | number | |
errors | array |
Related tools :
ontology_get_property_schema,ontology_get_node,ontology_update_node
Entity Data
ontology_query_entity_data
[DATA ACCESS] Query actual business data (records) linked to an ontology entity.
USE WHEN:
- Need to see real data synced from external sources (Airbyte)
- Want to browse entity instances (rows in df_mapped tables)
- Need to verify what data is linked to an ontology node RETURNS: Records, columns, stream info, pagination REQUIRES: entityId (UUID of the ontology node) RELATED:
- ontology_entity_data_schema: Get column schema before querying
- ontology_get_node: Get the ontology node details
- ontology_write_entity_data: Create/update/delete records EXAMPLE: "Show me the data for the Customer entity" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string (uuid) | Yes | UUID of the ontology entity (node) to query data for |
limit | number | No | Number of records to return (default: 50, max: 500) (default : 50) |
offset | number | No | Pagination offset (default: 0) (default : 0) |
streamId | string (uuid) | No | Filter to a specific stream if the entity has multiple linked streams |
Response
| Field | Type | Description |
|---|---|---|
records | array | |
columns | array | |
streamInfo | object | |
streamId | string | |
streamName | string | |
tableName | string | |
displayLabel | string | |
groupLabel | string | |
sourceId | string | |
sourceName | string | |
sourceType | string | |
availableStreams | array | |
total | number | |
pagination | object | |
limit | number | |
offset | number | |
hasMore | boolean |
Related tools :
ontology_entity_data_schema,ontology_get_node,ontology_write_entity_data
ontology_entity_data_schema
[SCHEMA] Get the column schema (names, types, nullability) for data linked to an entity.
USE WHEN:
- Need to understand the structure of entity data before querying
- Want to know which columns are available for an entity
- Need column types for filtering or writing data RETURNS: Column definitions with name, data type, and nullability REQUIRES: entityId (UUID of the ontology node) RELATED:
- ontology_query_entity_data: Query the actual data
- ontology_write_entity_data: Write data using this schema EXAMPLE: "What columns does the Customer entity have?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string (uuid) | Yes | UUID of the ontology entity (node) to get schema for |
streamId | string (uuid) | No | Filter to a specific stream if the entity has multiple linked streams |
Response
| Field | Type | Description |
|---|---|---|
columns | array | |
name | string | |
type | string | |
nullable | boolean | |
streamInfo | object | |
streamId | string | |
streamName | string | |
tableName | string | |
sourceId | string | |
sourceName | string | |
sourceType | string | |
availableStreams | array | |
displayLabel | string |
Related tools :
ontology_query_entity_data,ontology_write_entity_data,ontology_get_node
ontology_write_entity_data
[WRITE] Create, update, or delete data rows linked to an ontology entity.
USE WHEN:
- Need to add a new record to an entity
- Want to update an existing entity record
- Need to delete a record from an entity RETURNS: Success status, row ID, and affected row count REQUIRES: entityId, operation (create|update|delete)
- create: requires data object
- update: requires rowId and data object
- delete: requires rowId RELATED:
- ontology_query_entity_data: Read data first
- ontology_entity_data_schema: Check schema before writing EXAMPLE: "Add a new customer record" -> this tool with operation=create
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string (uuid) | Yes | UUID of the ontology entity (node) to write data for |
operation | choice (create, update, delete) | Yes | Operation type: create, update, or delete |
data | record | No | Data to write (required for create/update). Keys are column names. |
rowId | string | No | Row identifier (_airbyte_raw_id) for update/delete operations |
streamId | string (uuid) | No | Specific stream to target if entity has multiple linked streams |
Response
| Field | Type | Description |
|---|---|---|
success | boolean | |
operation | string | |
rowId | string | |
message | string | |
affectedRows | number |
Related tools :
ontology_query_entity_data,ontology_entity_data_schema
Kinetic Actions
ontology_list_actions
[DISCOVERY] List Kinetic actions (automations) attached to entities.
USE WHEN:
- Want to see what automations exist for an entity
- Need to discover available actions in the workspace
- Looking for specific action types (API_CALL, WEBHOOK, WORKFLOW, AGENT) RETURNS: List of actions with type, trigger, and status REQUIRES: none (optional: entityId, espaceId to filter) RELATED:
- ontology_get_action: Get full details of an action
- ontology_execute_action: Execute an action
- ontology_action_history: View execution history EXAMPLE: "What automations does the Order entity have?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string (uuid) | No | Filter actions for a specific entity. Omit to list all workspace actions. |
espaceId | string (uuid) | No | Filter actions for a specific espace (canvas). |
Response
| Field | Type | Description |
|---|---|---|
actions | array | |
count | number |
Related tools :
ontology_execute_action,ontology_get_action,ontology_action_history
ontology_get_action
[READ] Get detailed information about a specific Kinetic action, including execution stats.
USE WHEN:
- Need full details of an action (config, trigger, type)
- Want to see execution statistics (success rate, avg duration) RETURNS: Action details + execution statistics REQUIRES: actionId (UUID) RELATED:
- ontology_list_actions: Find actions first
- ontology_execute_action: Execute this action
- ontology_action_history: View execution history EXAMPLE: "Show me details of this action" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
actionId | string (uuid) | Yes | UUID of the Kinetic action to retrieve |
Related tools :
ontology_list_actions,ontology_execute_action,ontology_action_history
ontology_execute_action
[EXECUTE] Execute a Kinetic action attached to an entity.
USE WHEN:
- Need to trigger an automation action
- Want to run a workflow or agent from an entity context
- Triggering API calls or webhooks linked to entities RETURNS: Execution result with status and output REQUIRES: actionId (UUID) NOTE: WORKFLOW and AGENT types are queued; simple types execute inline RELATED:
- ontology_list_actions: Find actions to execute
- ontology_get_action: Check action config first
- ontology_action_history: View execution history EXAMPLE: "Execute the notify-team action" -> this tool
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
actionId | string (uuid) | Yes | UUID of the Kinetic action to execute |
params | record | No | Optional parameters to pass to the action |
Response
| Field | Type | Description |
|---|---|---|
success | boolean | |
executionId | string | |
status | string | |
output | unknown | |
error | string | |
durationMs | number |
Related tools :
ontology_list_actions,ontology_get_action,ontology_action_history
ontology_action_history
[READ] View the execution history for a Kinetic action.
USE WHEN:
- Need to see past execution results (success/failure)
- Want to debug why an action failed
- Need to check when an action was last run RETURNS: List of executions with status, duration, and errors REQUIRES: actionId (UUID) RELATED:
- ontology_get_action: Get action details and stats
- ontology_execute_action: Run the action
- ontology_list_actions: Find actions first EXAMPLE: "Show execution history for this action" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
actionId | string (uuid) | Yes | UUID of the Kinetic action to get history for |
limit | number | No | Number of execution records to return (default: 20, max: 100) (default : 20) |
Response
| Field | Type | Description |
|---|---|---|
executions | array | |
count | number | |
actionId | string |
Related tools :
ontology_get_action,ontology_execute_action,ontology_list_actions
Instances
ontology_list_instances
List instances (records) of a given object type.
USE WHEN: Need to see all records for an entity type. REQUIRES: objectTypeId RELATED: ontology_get_instance, ontology_search_instances, ontology_create_instance
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
objectTypeId | string (uuid) | Yes | Object type ID to list instances for |
limit | number | No | Maximum number of results (default : 20) |
offset | number | No | Offset for pagination (default : 0) |
Response
| Field | Type | Description |
|---|---|---|
instances | array | |
id | string | |
objectTypeId | string | |
displayName | string | |
data | record | |
createdAt | string | |
updatedAt | string | |
total | number | |
hasMore | boolean |
ontology_get_instance
Get full details of a specific object instance by ID.
USE WHEN: Need details for a specific record. REQUIRES: instanceId RELATED: ontology_list_instances, ontology_update_instance
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
instanceId | string (uuid) | Yes | The instance ID |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
objectTypeId | string | |
displayName | string | |
data | record | |
version | number | |
externalId | string | |
createdAt | string | |
updatedAt | string |
ontology_create_instance
Create a new object instance (record) for a given object type.
USE WHEN: Need to create a new record in the digital twin. REQUIRES: objectTypeId, data RELATED: ontology_list_instances, ontology_update_instance
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
data | record | Yes | Instance data (key-value pairs matching the object type schema) |
objectTypeId | string (uuid) | Yes | Object type ID for the new instance |
displayName | string | No | Display name for the instance |
externalId | string | No | Optional external system ID |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
objectTypeId | string | |
displayName | string | |
createdAt | string |
ontology_update_instance
Update an existing object instance with OCC support.
USE WHEN: Need to modify instance data or display name. REQUIRES: instanceId, data or displayName RELATED: ontology_get_instance, ontology_delete_instance
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
instanceId | string (uuid) | Yes | Instance ID to update |
data | record | No | Updated data fields (merged with existing) |
displayName | string | No | Updated display name |
expectedVersion | number | No | Expected version for OCC (optimistic concurrency) |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
version | number | |
updatedAt | string |
ontology_delete_instance
Delete an object instance by ID.
USE WHEN: Need to remove a record from the digital twin. REQUIRES: instanceId RELATED: ontology_get_instance, ontology_list_instances
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
instanceId | string (uuid) | Yes | Instance ID to delete |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
deleted | boolean |
ontology_search_instances
Search object instances by their JSONB data fields.
USE WHEN: Need to find instances matching a text query across data fields. RETURNS: Instances with matched field info. RELATED: ontology_list_instances, ontology_get_instance
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query to match against instance data fields |
limit | number | No | Maximum number of results (default : 20) |
objectTypeId | string (uuid) | No | Optional: narrow search to a specific object type |
offset | number | No | Offset for pagination (default : 0) |
Response
| Field | Type | Description |
|---|---|---|
instances | array | |
id | string | |
objectTypeId | string | |
displayName | string | |
matchedField | string | |
matchedValue | string | |
createdAt | string | |
total | number | |
hasMore | boolean |
Scenarios
ontology_create_scenario
Create a new what-if scenario for copy-on-write modeling.
USE WHEN: Want to test changes without affecting production data. REQUIRES: name RELATED: ontology_list_scenarios, ontology_add_mutation, ontology_scenario_impact
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Scenario name |
baseSnapshotId | string (uuid) | No | Optional base snapshot to fork from |
description | string | No | Scenario description |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
status | string | |
createdAt | string |
ontology_list_scenarios
List what-if scenarios with optional status filter.
USE WHEN: Want to see available scenarios. RELATED: ontology_create_scenario, ontology_scenario_impact, ontology_apply_scenario
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum number of results (default : 20) |
offset | number | No | Offset for pagination (default : 0) |
status | choice (draft, active, applied, discarded) | No | Filter by status |
Response
| Field | Type | Description |
|---|---|---|
scenarios | array | |
id | string | |
name | string | |
description | string | |
status | string | |
mutationCount | number | |
createdBy | string | |
createdAt | string | |
total | number | |
hasMore | boolean |
ontology_add_mutation
Add a mutation (change) to a what-if scenario.
USE WHEN: Want to model a change in a scenario without affecting production. REQUIRES: scenarioId, entityType, entityId, operation RELATED: ontology_create_scenario, ontology_scenario_impact
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string (uuid) | Yes | Entity ID to mutate |
entityType | string | Yes | Type of entity to mutate (instance, node, edge) |
operation | choice (create, update, delete) | Yes | Mutation operation |
scenarioId | string (uuid) | Yes | Scenario ID |
data | record | No | Mutation data (for create/update) |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
scenarioId | string | |
operation | string | |
createdAt | string |
ontology_scenario_impact
Analyze the impact of all mutations in a what-if scenario.
USE WHEN: Want to understand what changes a scenario would make before applying. REQUIRES: scenarioId RELATED: ontology_apply_scenario, ontology_add_mutation
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
scenarioId | string (uuid) | Yes | Scenario ID to analyze |
Response
| Field | Type | Description |
|---|---|---|
scenarioId | string | |
scenarioName | string | |
totalMutations | number | |
impactSummary | object | |
creations | number | |
updates | number | |
deletions | number | |
affectedEntityTypes | array | |
mutations | array | |
id | string | |
entityType | string | |
entityId | string | |
operation | string |
ontology_apply_scenario
Apply a what-if scenario to production data (COW merge). DESTRUCTIVE.
USE WHEN: Ready to commit scenario changes to production. Use dryRun=true to preview first. REQUIRES: scenarioId RELATED: ontology_scenario_impact, ontology_create_scenario
| Scope | mcp.write |
| Read-only | No |
| Destructive | Yes |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
scenarioId | string (uuid) | Yes | Scenario ID to apply |
dryRun | boolean | No | Preview only without applying (default : false) |
Response
| Field | Type | Description |
|---|---|---|
scenarioId | string | |
applied | boolean | |
mutationsApplied | number | |
errors | array | |
status | string |
ontology_compare_scenarios
Compare multiple what-if scenarios side by side with diff matrix.
USE WHEN: Need to see differences between scenario variants. REQUIRES: scenarioIds (at least 2) RELATED: ontology_create_scenario, ontology_scenario_impact
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
scenarioIds | array | Yes | Scenario IDs to compare (2-10) |
objectTypeId | string (uuid) | No | Filter comparison to specific object type |
Response
| Field | Type | Description |
|---|---|---|
scenarioIds | array | |
instances | array | |
instanceId | string | |
displayName | string | |
objectTypeId | string | |
diffs | array | |
overlap | object | |
total | number | |
modified | number | |
unique | record |
Pipelines
ontology_list_pipelines
List data pipelines in the workspace.
USE WHEN: Need to see available pipelines, check pipeline status. RELATED: ontology_get_pipeline, ontology_run_pipeline, ontology_pipeline_status
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum number of results (default : 20) |
offset | number | No | Offset for pagination (default : 0) |
status | choice (active, inactive, error, all) | No | (default : "all") |
Response
| Field | Type | Description |
|---|---|---|
pipelines | array | |
id | string | |
name | string | |
sourceType | string | |
targetObjectTypeId | string | |
status | string | |
lastRunAt | string | |
createdAt | string | |
total | number | |
hasMore | boolean |
ontology_get_pipeline
Get full details of a specific data pipeline.
USE WHEN: Need pipeline configuration, mappings, schedule. REQUIRES: pipelineId RELATED: ontology_list_pipelines, ontology_run_pipeline
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pipelineId | string (uuid) | Yes | Pipeline ID |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
sourceType | string | |
sourceConfig | record | |
targetObjectTypeId | string | |
fieldMappings | record | |
status | string | |
schedule | string | |
lastRunAt | string | |
createdAt | string | |
updatedAt | string |
ontology_run_pipeline
Trigger execution of a data pipeline.
USE WHEN: Need to manually run a pipeline to sync data. REQUIRES: pipelineId RELATED: ontology_pipeline_status, ontology_get_pipeline
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pipelineId | string (uuid) | Yes | Pipeline ID to execute |
force | boolean | No | Force execution even if already running (default : false) |
Response
| Field | Type | Description |
|---|---|---|
runId | string | |
pipelineId | string | |
status | string | |
startedAt | string |
ontology_pipeline_status
Get the status of a pipeline run (latest or specific).
USE WHEN: Need to check if a pipeline is running, completed, or failed. REQUIRES: pipelineId RELATED: ontology_run_pipeline, ontology_get_pipeline
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pipelineId | string (uuid) | Yes | Pipeline ID |
runId | string (uuid) | No | Specific run ID (omit for latest) |
Response
| Field | Type | Description |
|---|---|---|
runId | string | |
pipelineId | string | |
pipelineName | string | |
status | string | |
startedAt | string | |
completedAt | string | |
recordsProcessed | number | |
errorCount | number | |
triggeredBy | string |
ontology_create_pipeline
Create a data pipeline with typed blocks (sources, transforms, destinations).
USE WHEN: Building a new ETL pipeline or data transformation flow. REQUIRES: name, blocks (array of typed blocks) RELATED: ontology_run_pipeline, ontology_preview_pipeline_block, ontology_get_pipeline
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
blocks | array | Yes | Pipeline blocks (nodes) |
name | string | Yes | Pipeline name |
scheduleConfig | object | Yes | |
connections | array | No | Connections between blocks (edges) |
cron_expression | string | No | Schedule configuration |
description | string | No | Pipeline description |
trigger | choice (manual, on_sync, cron) | No | (default : "manual") |
Response
| Field | Type | Description |
|---|---|---|
pipelineId | string | |
name | string | |
blockCount | number | |
status | string |
ontology_preview_pipeline_block
Preview data at a specific block in a pipeline. Executes the DAG up to that block and returns sample rows.
USE WHEN: Need to inspect data flow at a specific point in the pipeline. REQUIRES: pipelineId, blockId RELATED: ontology_run_pipeline, ontology_create_pipeline, ontology_get_pipeline
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
blockId | string | Yes | Block ID to preview data at |
pipelineId | string (uuid) | Yes | Pipeline ID |
limit | number | No | Max rows to return (default 100) (default : 100) |
Response
| Field | Type | Description |
|---|---|---|
blockId | string | |
rowCount | number | |
schema | array | |
name | string | |
type | string | |
sampleRows | array | |
warnings | array |
Templates
ontology_list_templates
List available pre-built ontology templates.
USE WHEN: Want to see what ontology templates are available for import. RELATED: ontology_get_template, ontology_import_template
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | Filter by template category |
limit | number | No | Maximum number of results (default : 20) |
Response
| Field | Type | Description |
|---|---|---|
templates | array | |
id | string | |
name | string | |
description | string | |
category | string | |
version | string | |
nodeCount | number | |
edgeCount | number | |
total | number |
ontology_get_template
Get full details of a specific ontology template.
USE WHEN: Want to preview a template before importing. REQUIRES: templateId RELATED: ontology_list_templates, ontology_import_template
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
templateId | string (uuid) | Yes | Template ID |
Response
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
description | string | |
category | string | |
version | string | |
nodeCount | number | |
edgeCount | number | |
schema | record | |
createdAt | string |
ontology_import_template
Import a pre-built ontology template into the workspace.
USE WHEN: Want to bootstrap an ontology from a template. REQUIRES: templateId RELATED: ontology_list_templates, ontology_get_template
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
templateId | string (uuid) | Yes | Template ID to import |
espaceId | string (uuid) | No | Target espace (canvas) ID. If omitted, creates a new one. |
prefix | string | No | Optional prefix for imported node names |
Response
| Field | Type | Description |
|---|---|---|
templateId | string | |
templateName | string | |
espaceId | string | |
nodesImported | number | |
edgesImported | number | |
status | string |
Saved Views
ontology_list_saved_views
List saved table views (column/filter/sort configurations) for an object type.
USE WHEN: Need to see available saved views for a type, find default views. REQUIRES: objectTypeId RELATED: ontology_apply_saved_view, ontology_list_instances
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
objectTypeId | string (uuid) | Yes | Object type ID to list saved views for |
Response
| Field | Type | Description |
|---|---|---|
views | array | |
id | string | |
name | string | |
description | string | |
isDefault | boolean | |
columnCount | number | |
hasFilters | boolean | |
hasSorts | boolean | |
createdBy | string | |
createdAt | string | |
total | number |
ontology_apply_saved_view
Apply a saved view configuration and return matching instances.
USE WHEN: Need to load instances using a pre-configured view (columns, filters, sorts). REQUIRES: viewId RELATED: ontology_list_saved_views, ontology_list_instances
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
viewId | string (uuid) | Yes | Saved view ID to apply |
limit | number | No | Maximum number of results (default : 20) |
offset | number | No | Offset for pagination (default : 0) |
Response
| Field | Type | Description |
|---|---|---|
view | object | |
id | string | |
name | string | |
objectTypeId | string | |
columns | array | |
filters | record | |
sorts | array | |
field | string | |
order | string | |
instances | array | |
displayName | string | |
data | record | |
createdAt | string | |
updatedAt | string | |
total | number | |
hasMore | boolean |
Simulation
ontology_generate_parametric
Generate a what-if scenario from a parametric template with custom parameter values.
USE WHEN: Creating scenarios from predefined templates with variable inputs. REQUIRES: templateId, parameterValues RELATED: ontology_compare_scenarios, ontology_create_scenario
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
parameterValues | record | Yes | Parameter name-value pairs |
templateId | string (uuid) | Yes | Parametric template ID |
name | string | No | Optional name for generated scenario |
Response
| Field | Type | Description |
|---|---|---|
scenarioId | string | |
mutationCount | number | |
templateName | string |
ontology_run_simulation
Create and execute a temporal simulation on a scenario with rules.
USE WHEN: Simulating how data evolves over time with conditions and actions. REQUIRES: scenarioId, timeConfig, rules RELATED: ontology_list_simulation_steps, ontology_compare_scenarios
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
action | object | Yes | |
condition | array | Yes | |
endDate | string | Yes | ISO 8601 end date |
field | string | Yes | |
name | string | Yes | |
operator | string | Yes | |
rules | array | Yes | |
scenarioId | string (uuid) | Yes | Scenario to simulate |
startDate | string | Yes | ISO 8601 start date |
stepUnit | choice (day, week, month) | Yes | Time step unit |
timeConfig | object | Yes | |
type | string | Yes | |
formula | string | No | |
priority | number | No | Simulation rules to evaluate at each step |
target_field | string | No | |
value | unknown | No |
Response
| Field | Type | Description |
|---|---|---|
runId | string | |
status | string | |
totalSteps | number | |
currentStep | number |
ontology_list_simulation_steps
Retrieve step-by-step results from a temporal simulation run.
USE WHEN: Inspecting simulation timeline, KPI evolution, or rules fired. REQUIRES: runId RELATED: ontology_run_simulation, ontology_compare_scenarios
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
runId | string (uuid) | Yes | Simulation run ID |
fromStep | number | No | Start step index (inclusive) |
toStep | number | No | End step index (inclusive) |
Response
| Field | Type | Description |
|---|---|---|
runId | string | |
steps | array | |
stepIndex | number | |
stepTime | string | |
kpiValues | record | |
rulesFired | array | |
mutationsApplied | number | |
durationMs | number | |
totalSteps | number |
ontology_execute_solver
Run an optimization solver to find optimal values for decision variables.
USE WHEN: Need to optimize instance data under constraints. REQUIRES: solverId RELATED: ontology_apply_solver, ontology_compare_scenarios
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
solverId | string (uuid) | Yes | Solver definition ID to execute |
Response
| Field | Type | Description |
|---|---|---|
runId | string | |
status | string | |
bestObjectiveValue | number | |
constraintsSatisfied | number | |
constraintsViolated | number | |
mutationCount | number | |
durationMs | number | |
justification | string |
ontology_apply_solver
Convert a completed solver run into a standard scenario with proposed mutations.
USE WHEN: Applying an optimization result as a reviewable scenario. REQUIRES: runId RELATED: ontology_execute_solver, ontology_apply_scenario
| Scope | mcp.write |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
runId | string (uuid) | Yes | Solver run ID to apply |
scenarioName | string | No | Optional name for the created scenario |
Response
| Field | Type | Description |
|---|---|---|
scenarioId | string | |
mutationCount | number |
Export
ontology_export
[EXPORT] Export the ontology structure as JSON.
USE WHEN:
- Need to backup the ontology structure
- Want to version-control the schema
- Export for migration or CI/CD RETURNS: Full ontology structure with ObjectTypes, LinkTypes, properties REQUIRES: none; optional: espaceId, includeInstances, format RELATED:
- ontology_describe: Quick summary without full export
- ontology_list_espaces: List available espaces first EXAMPLE: "Export the ontology structure" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Export a specific espace (canvas). Omit for all espaces. |
format | choice (json) | No | Export format (default : "json") |
includeInstances | boolean | No | Include entity instances (can be large) (default : false) |
Response
| Field | Type | Description |
|---|---|---|
espaces | array | |
id | string | |
name | string | |
objectTypes | array | |
type | string | |
properties | array | |
espaceId | string | |
linkTypes | array | |
sourceId | string | |
targetId | string | |
totalNodes | number | |
totalEdges | number | |
exportedAt | string |
Related tools :
ontology_describe,ontology_list_espaces,ontology_export_graphml,ontology_export_rdf
ontology_export_graphml
[EXPORT] Export ontology as GraphML format for use in Gephi or Cytoscape.
USE WHEN:
- Need to visualize the ontology in Gephi or Cytoscape
- Want a standard graph exchange format
- Need to analyze network topology externally RETURNS: GraphML XML string with node/edge counts REQUIRES: none (optional: espaceId, filters, options) RELATED:
- ontology_export_rdf: Export as RDF/OWL
- ontology_export: Export as JSON/YAML
- ontology_generate_docs: Generate documentation EXAMPLE: "Export ontology for Gephi" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | object | Yes | |
options | object | Yes | |
colorScheme | choice (category, status, monochrome) | No | Color scheme for nodes (default : "category") |
edgeTypes | array | No | Filter to specific edge types |
espaceId | string (uuid) | No | Export a specific espace. Omit for default espace. |
includePositions | boolean | No | Include node canvas positions (default : true) |
includeProperties | boolean | No | Include node/edge properties in export (default : true) |
nodeTypes | array | No | Filter to specific node types |
status | choice (active, inactive, all) | No | Filter by node status (default: active) (default : "active") |
Response
| Field | Type | Description |
|---|---|---|
graphml | string | |
nodeCount | number | |
edgeCount | number | |
format | string |
Related tools :
ontology_export_rdf,ontology_export,ontology_generate_docs
ontology_export_rdf
[EXPORT] Export ontology as RDF/OWL for semantic web interoperability.
Supports Turtle, RDF-XML, N-Triples, and JSON-LD formats.
USE WHEN:
- Need semantic web compatible export
- Want to import ontology into Protégé or other OWL editors
- Need linked data format (JSON-LD)
- Integration with triple stores (Fuseki, Blazegraph) RETURNS: RDF string in chosen format with triple count REQUIRES: none (optional: espaceId, format, options) RELATED:
- ontology_export_graphml: Export as GraphML
- ontology_export: Export as JSON/YAML
- ontology_generate_docs: Generate documentation EXAMPLE: "Export ontology as Turtle RDF" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | |
baseUri | string | No | Base URI for RDF resources (default: http://dataforge.io) |
espaceId | string (uuid) | No | Export a specific espace. Omit for default espace. |
format | choice (turtle, rdf-xml, n-triples, json-ld) | No | RDF format (default: turtle) (default : "turtle") |
includeMetadata | boolean | No | Include generation metadata in output (default : true) |
Response
| Field | Type | Description |
|---|---|---|
rdf | string | |
format | string | |
tripleCount | number | |
nodeCount | number | |
edgeCount | number |
Related tools :
ontology_export_graphml,ontology_export,ontology_generate_docs
ontology_generate_docs
[EXPORT] Generate auto-documentation of the ontology in Markdown, HTML, or JSON.
USE WHEN:
- Need to generate documentation for the ontology
- Want a human-readable summary with statistics
- Creating reference documentation for the team
- Need formatted output with tables of contents RETURNS: Formatted documentation string with section list REQUIRES: none (optional: espaceId, format, options) RELATED:
- ontology_export_graphml: Export as GraphML
- ontology_export_rdf: Export as RDF/OWL
- ontology_describe: Quick summary EXAMPLE: "Generate ontology documentation in Markdown" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | |
espaceId | string (uuid) | No | Generate docs for a specific espace. Omit for default. |
format | choice (markdown, html, json) | No | Output format (default: markdown) (default : "markdown") |
includeExamples | boolean | No | Include example queries (default : false) |
includeSchema | boolean | No | Include data schema section (default : true) |
includeStatistics | boolean | No | Include node/edge statistics (default : true) |
language | choice (en, fr) | No | Documentation language (default : "en") |
Response
| Field | Type | Description |
|---|---|---|
documentation | string | |
format | string | |
sections | array | |
nodeCount | number | |
edgeCount | number |
Related tools :
ontology_export_graphml,ontology_export_rdf,ontology_describe
ontology_stats
[STATS] Get ontology statistics: entity counts, type counts, property averages.
USE WHEN:
- Need a quick overview of ontology size and health
- Want to see entity/type distribution across espaces
- Monitoring ontology growth over time RETURNS: Workspace-level and optional espace-level statistics REQUIRES: none; optional: espaceId, includeEspaceBreakdown RELATED:
- ontology_describe: Structural summary (types, edges)
- ontology_list_espaces: List available espaces EXAMPLE: "How many entities are in the ontology?" -> this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
espaceId | string (uuid) | No | Get stats for a specific espace. Omit for workspace-level stats. |
includeEspaceBreakdown | boolean | No | Include per-espace breakdown in workspace stats (default : false) |
Response
| Field | Type | Description |
|---|---|---|
workspaceStats | object | |
totalEntities | number | |
totalObjectTypes | number | |
totalLinkTypes | number | |
avgPropertiesPerType | number | |
espaceCount | number | |
lastEntityUpdate | string | |
statsRefreshedAt | string | |
statusBreakdown | record | |
espaceStats | array | |
espaceId | string | |
objectTypesCount | number | |
linkTypesCount | number |
Related tools :
ontology_describe,ontology_list_espaces
History
ontology_get_history
[READ] Time-travel query: get historical state of a node at a specific point in time.
USE WHEN: Need to see what a node looked like in the past, debug changes, audit modifications RETURNS: Historical state, current state, event list REQUIRES: nodeId or nodeName OPTIONAL: asOf (ISO timestamp) or sequenceNumber to get state at that point RELATED: ontology_get_node (current state), ontology_query_nodes (search) EXAMPLE: "What did the Customer node look like yesterday?" → this tool with asOf
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
asOf | string | No | ISO timestamp to get state at (e.g., "2024-01-15T10:30:00Z") |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
includeEvents | boolean | No | Include list of events in response (default : true) |
limit | number | No | Maximum number of events to return (default : 50) |
nodeId | string (uuid) | No | Node ID to get history for |
nodeName | string | No | Node name (alternative to nodeId, case-insensitive) |
sequenceNumber | number | No | Event sequence number to get state at |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
node | object | |
currentVersion | number | |
events | array | |
stats | object | |
totalEvents | number | |
createdAt | string | |
lastModifiedAt | string | |
undoneEvents | number |
Related tools :
ontology_get_node,ontology_query_nodes
ontology_impact_analysis
[GRAPH] Analyze the impact of changing or deleting a node.
USE WHEN: Need to understand dependencies before making changes RETURNS: Downstream dependents, upstream dependencies, cascade delete simulation REQUIRES: nodeId OR nodeName FEATURES: Cascade delete detection, impact severity scoring, depth traversal RELATED: ontology_find_path (specific paths), ontology_get_edge_properties (edge details) EXAMPLE: "What would break if I delete Customer?" or "Impact of changing API endpoint" → this tool
| Scope | mcp.read |
| Read-only | Yes |
| Destructive | No |
| Idempotent | Yes |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
direction | choice (downstream, upstream, both) | No | Analysis direction: downstream (dependents), upstream (dependencies), or both (default : "downstream") |
espaceId | string (uuid) | No | Espace ID (optional - uses default espace if not provided) |
espaceName | string | No | Espace name (alternative to espaceId, case-insensitive) |
includeEdgeDetails | boolean | No | Include edge properties (cardinality, cascade rules) in output (default : true) |
maxDepth | number | No | Maximum cascade depth (1-10, default: 3) (default : 3) |
maxNodesExplored | number | No | Safety limit: max nodes to explore before stopping (100-50000, default: 5000) (default : 5000) |
nodeId | string (uuid) | No | Node UUID to analyze |
nodeName | string | No | Node name (alternative to nodeId, case-insensitive) |
simulateDelete | boolean | No | Simulate deletion to identify cascade deletes (default : true) |
Response
| Field | Type | Description |
|---|---|---|
espace | object | |
id | string | |
name | string | |
wasAutoResolved | boolean | |
downstream | array | |
upstream | array | |
summary | object | |
totalDownstream | number | |
totalUpstream | number | |
cascadeDeleteCount | number | |
criticalImpactCount | number | |
highImpactCount | number | |
mediumImpactCount | number | |
lowImpactCount | number | |
maxDepthReached | number | |
hitExplorationLimit | boolean | |
deletionSimulation | object | |
wouldDelete | array | |
wouldOrphan | array | |
wouldBreakRequired | array | |
totalAffected | number | |
recommendation | string |
Related tools :
ontology_find_path,ontology_get_edge_properties,ontology_delete_node
Troubleshooting
| Code | Message | Solution |
|---|---|---|
| 404 | Espace not found | Check the ID with ontology_list_espaces. |
| 403 | Insufficient scope | Add the mcp.write scope to your API key. |
Need help?
Contact us: Support and contact.