Skip to main content
Glama

apply_ring_categorical_layout

Organize graph nodes into concentric rings based on categorical attributes to visualize relationships by group membership.

Instructions

Apply a categorical ring layout to the graph using Graphistry's ring_categorical_layout API.

Args:
    graph_id (str): The ID of the graph to modify.
    ring_col (str): The node column to use for determining ring membership (e.g., a categorical attribute like 'type' or 'group').

Returns:
    dict: { 'graph_id': ..., 'url': ... } with the updated visualization URL.

Example:
    apply_ring_categorical_layout(graph_id, ring_col='type')

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
graph_idYes
ring_colYes

Implementation Reference

  • The handler function for the 'apply_ring_categorical_layout' tool. It is registered via the @mcp.tool() decorator and implements the core logic by calling Graphistry's ring_categorical_layout method on the cached graph object.
    @mcp.tool()
    async def apply_ring_categorical_layout(graph_id: str, ring_col: str) -> Dict[str, Any]:
        """
        Apply a categorical ring layout to the graph using Graphistry's ring_categorical_layout API.
    
        Args:
            graph_id (str): The ID of the graph to modify.
            ring_col (str): The node column to use for determining ring membership (e.g., a categorical attribute like 'type' or 'group').
    
        Returns:
            dict: { 'graph_id': ..., 'url': ... } with the updated visualization URL.
    
        Example:
            apply_ring_categorical_layout(graph_id, ring_col='type')
        """
        if graph_id not in graph_cache:
            raise ValueError(f"Graph not found: {graph_id}")
        g = graph_cache[graph_id]["graph"]
        g = g.ring_categorical_layout(ring_col)
        graph_cache[graph_id]["graph"] = g
        return {"graph_id": graph_id, "url": g.plot(render=False)}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/graphistry/graphistry-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server