Detect wikilink-graph communities (GraphRAG-light)
obsidian_get_communitiesIdentifies structural communities in an Obsidian vault's wikilink graph using greedy modularity optimization, returning community groups, modularity score, and membership for each note.
Instructions
v3.4.0 — Computes structural communities over the vault's wikilink graph via greedy modularity optimization (single-phase Louvain). Returns community_count, modularity (∈ [-0.5, 1] — higher = stronger structure), iterations (greedy passes run) and converged (true if a stable partition was reached, false if it hit the 50-pass cap), communities[] (each with id/size/sorted-members/representative — the highest-in-community-degree note), and membership (path → id). Pure structural — no embeddings consulted. Server stays LLM-free; the agent can summarize a community by reading its representative + sample members. Computation is O(passes × edges); typical 8K-note vault completes in <500ms. The result is NOT cached — call once per session and reuse. First MCP server with native vault community detection.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "obsidian_get_communities"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max communities to return (default 50, sorted by size descending) | |
| min_size | No | Drop communities with fewer than N members from the response (default 1 — keep singletons). Useful for filtering dust. |