# graph-analyze

`station__graph-ops__graph-analyze` · external (needs EXECUTION_BACKEND_URL configured) · domain `graph-ops` · pv-relevance `non-pv`

Analyze a graph structure.

> **Note:** This tool routes through an external execution backend. If `EXECUTION_BACKEND_URL` is unset on the server, calls return JSON-RPC error `-32603 "Tool execution backend not configured"`. Tools with `backend: native` execute in-process and are always callable.

## Agent metadata

- `idempotent`: unknown
- `read_only`: unknown
- `expected_latency_ms`: unknown (not yet contract-tested)
- `cost_tokens_estimate`: unknown

## Input schema

- `analysis` *string* (required) — Analysis mode: - "centrality": betweenness centrality for all vertices - "components": connected components - "shortest_path": BFS shortest path (requires from_vertex, to_vertex) - "dijkstra": weighted shortest path (requires from_vertex, to_vertex) - "pagerank": iterative PageRank - "communities": Louvain community detection - "scc": strongly connected components - "topo_sort": topological sort (returns None if cycles exist)
- `damping` *number* (required)
- `edges` *array* (required) — Edge definitions (required).
- `from_vertex` *integer*
- `max_iterations` *integer* (required)
- `to_vertex` *integer*
- `tolerance` *number* (required)
- `vertices` *array* (required)

## Example call

```json
POST /api/mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "station__graph-ops__graph-analyze",
    "arguments": {
      "analysis": "",
      "damping": 0,
      "edges": [],
      "max_iterations": 0,
      "tolerance": 0,
      "vertices": []
    }
  }
}
```

## Related

- [/tools](/tools) — all 3062 tools
- [/tools/graph-ops__graph-analyze](/tools/graph-ops__graph-analyze) — HTML page
- [/tools/graph-ops__graph-analyze/json](/tools/graph-ops__graph-analyze/json) — JSON form (agent-friendly)
- [/api/mcp](/api/mcp) — endpoint
- [/AGENTS.md](/AGENTS.md) — agent guide
