Tools for agents: Directed graph cycle components
Locate mutually reachable node groups and actual directed cycles, then build the acyclic component graph.
Connect with MCP
{
"mcpServers": {
"super-agent-tools": {
"url": "https://app.getsupers.com/sites/agent-graph-components/mcp"
}
}
}Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.
Call analyze_graph_components
Input maps every nonempty node ID to its outgoing target IDs. Every target must be declared, even when it has no outgoing edges; duplicate targets fail. Self-loops are allowed. A strongly connected component contains nodes mutually reachable by directed paths. A component is cyclic exactly when it contains multiple nodes or its singleton has a self-loop. Downstream nodes outside the cycle are not labeled cyclic. Condensation edges connect different components, deduplicate parallel connections, and form a DAG. Nodes inside components and components by their first node are sorted lexicographically; IDs are zero-based in that order, not topological order, and may change when input changes. Empty graphs are acyclic. This computes graph structure only; it does not infer edge direction, diagnose semantic deadlock, break cycles, schedule or execute tasks. For dependency data, consistently choose edges from prerequisite to dependent or the reverse; component membership is unchanged by reversing every edge, but condensation direction reverses.
Input and output schemas
{
"name": "analyze_graph_components",
"title": "Directed graph cycle components",
"description": "Find strongly connected components of a directed graph and return cyclic components plus deduplicated condensation edges. Input maps each node to its outgoing neighbors.",
"inputSchema": {
"properties": {
"graph": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"title": "Graph",
"type": "object"
}
},
"required": [
"graph"
],
"title": "analyze_graph_componentsArguments",
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"title": "analyze_graph_componentsDictOutput",
"type": "object"
},
"icons": null,
"annotations": {
"title": null,
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"meta": null,
"execution": null
}Run the example to see the actual result.
HTTP alternative
POST https://app.getsupers.com/sites/agent-graph-components/call
Content-Type: application/json
{
"graph": {
"build": [
"review"
],
"review": [
"build",
"publish"
],
"publish": [
"notify"
],
"notify": [],
"isolated": []
}
}The HTTP and MCP interfaces execute the same implementation. Validation errors are returned explicitly. See the tool notes above for its supported inputs and behavior.