# build_decision_clusters

Recompute the L2 thematic cluster overlay over the decision store using the configured LLM. Stable cluster ids: a fresh cluster whose title matches an existing one (trigram Jaccard >=0.8) updates the existing row in place. Mutates the cluster store; idempotent. Requires an active AI provider — returns a structured error otherwise. Returns JSON: { created, updated, removed, total_after, clusters, strategy_used }.

Agent View of the PolicyLayer registry record for `build_decision_clusters`. HTML page: https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/build-decision-clusters

## Facts

- Tool: `build_decision_clusters`
- Server: Trace (`nikolai-vysotskyi/trace-mcp`) — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp.md
- Homepage: https://github.com/nikolai-vysotskyi/trace-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "build_decision_clusters",
    "arguments": {}
  }
}
```

## Why build_decision_clusters is rated Medium

The tool modifies the cluster store by creating, updating, or removing cluster entries. While it's described as idempotent (safe to re-run), it does mutate stored data reversibly — clusters can be recomputed again. This fits the Write category. Severity is medium because misuse could corrupt the decision cluster overlay, but the operation is idempotent and recoverable.

From the tool's own definition: "Mutates the cluster store; idempotent. Stable cluster ids: a fresh cluster whose title matches an existing one... updates the existing row in place."

## Use case

AI agents use build_decision_clusters to create or update resources in Trace, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Trace environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Trace:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "build_decision_clusters": {
      "limits": [
        {
          "counter": "build_decision_clusters_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Trace (190)

- `delete_corpus` — Destructive — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/delete-corpus.md
- `remove_dead_code` — Destructive — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/remove-dead-code.md
- `repair_index` — Destructive — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/repair-index.md
- `call_project_tool` — Execute — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/call-project-tool.md
- `reindex` — Execute — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/reindex.md
- `visualize_graph` — Execute — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/visualize-graph.md
- `analyze_perf` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/analyze-perf.md
- `assess_change_risk` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/assess-change-risk.md
- `audit_config` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/audit-config.md
- `benchmark_project` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/benchmark-project.md
- `check_architecture` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-architecture.md
- `check_claudemd_drift` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-claudemd-drift.md
- `check_duplication` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-duplication.md
- `check_edit_safe` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-edit-safe.md
- `check_embedding_drift` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-embedding-drift.md
- `check_quality_gates` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-quality-gates.md
- `check_rename` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/check-rename.md
- `compare_branches` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/compare-branches.md
- `detect_antipatterns` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/detect-antipatterns.md
- `detect_ast_clones` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/detect-ast-clones.md
- `detect_communities` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/detect-communities.md
- `detect_drift` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/detect-drift.md
- `detect_topic_tunnels` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/detect-topic-tunnels.md
- `diff_graph_snapshots` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/diff-graph-snapshots.md
- `discover_claude_sessions` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/discover-claude-sessions.md
- `discover_hermes_sessions` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/discover-hermes-sessions.md
- `embed_repo` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/embed-repo.md
- `explain_architecture` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/explain-architecture.md
- `explain_symbol` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/explain-symbol.md
- `export_decisions` — Read — https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp/export-decisions.md
- …and 160 more: https://policylayer.com/tools/nikolai-vysotskyi-trace-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=nikolai-vysotskyi-trace-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/nikolai-vysotskyi-trace-mcp
