# roam_create_outline

Add a structured outline to an existing page or block (by title text or uid), with customizable nesting levels. To create a new page with an outline, use the

Agent View of the PolicyLayer registry record for `roam_create_outline`. HTML page: https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-create-outline

## Facts

- Tool: `roam_create_outline`
- Server: Roam Research (`2b3pro/roam-research-mcp`) — https://policylayer.com/tools/2b3pro-roam-research-mcp.md
- Homepage: https://github.com/2b3pro/roam-research-mcp
- Risk category: Write (Medium risk)
- Registry record: grade D, 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": "roam_create_outline",
    "arguments": {}
  }
}
```

## Why roam_create_outline is rated Medium

This tool creates new content (an outline structure) within existing pages or blocks, which is a reversible modification operation. It does not execute arbitrary code, delete data, or move money. The blast radius is medium because an AI agent could add unintended outlines to important pages, but the action is reversible via Roam's undo functionality or manual deletion.

From the tool's own definition: "Tool name is 'roam_create_outline' and description states it will 'Add a structured outline to an existing page or block', indicating it creates or modifies data within Roam Research by adding new structured content to pages."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Roam Research (21)

- `roam_datomic_query` — Execute — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-datomic-query.md
- `roam_fetch_block` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-fetch-block.md
- `roam_fetch_page_by_title` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-fetch-page-by-title.md
- `roam_fetch_page_full_view` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-fetch-page-full-view.md
- `roam_find_pages_modified_today` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-find-pages-modified-today.md
- `roam_get_subpages` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-get-subpages.md
- `roam_markdown_cheatsheet` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-markdown-cheatsheet.md
- `roam_recall` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-recall.md
- `roam_search_block_refs` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-block-refs.md
- `roam_search_by_date` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-by-date.md
- `roam_search_by_status` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-by-status.md
- `roam_search_by_text` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-by-text.md
- `roam_search_for_tag` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-for-tag.md
- `roam_search_hierarchy` — Read — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-search-hierarchy.md
- `roam_add_todo` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-add-todo.md
- `roam_create_page` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-create-page.md
- `roam_import_markdown` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-import-markdown.md
- `roam_move_block` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-move-block.md
- `roam_remember` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-remember.md
- `roam_rename_page` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-rename-page.md
- `roam_update_page_markdown` — Write — https://policylayer.com/tools/2b3pro-roam-research-mcp/roam-update-page-markdown.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=2b3pro-roam-research-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/2b3pro-roam-research-mcp
