# build_corpus

Pack a slice of project context into a persistent corpus on disk so future query_corpus calls can prime an LLM with the same snapshot without re-running the pack pipeline. Mutates the corpora store; returns JSON with the saved manifest. Pair with query_corpus for

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

## Facts

- Tool: `build_corpus`
- 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_corpus",
    "arguments": {}
  }
}
```

## Why build_corpus is rated Medium

The tool writes a new persistent corpus file to disk and mutates the corpora store. This is a reversible write operation (the corpus can be deleted), not destructive. The blast radius is medium since it writes persistent data to disk that affects future LLM queries, but does not execute code or delete anything.

From the tool's own definition: "Pack a slice of project context into a persistent corpus on disk... Mutates the corpora store; returns JSON with the saved manifest."

## Use case

AI agents use build_corpus 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_corpus": {
      "limits": [
        {
          "counter": "build_corpus_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
