update_block
Update Block
Update an existing block's content and properties in the Roam Research graph. Only the provided fields will be modified; unspecified fields remain unchanged.
Ask your agent in plain language. Each of these maps to a real tool on the server.
update_block
Update an existing block's content and properties in the Roam Research graph. Only the provided fields will be modified; unspecified fields remain unchanged.
batch_actions
Execute multiple write operations in a single batch request. Supports creating, updating, moving, and deleting blocks and pages. Actions are executed in the provided order. For creating nested blocks, assign a custom UID to a parent block and reference it in child blocks within the same batch.
pull_data
Retrieve structured data for a specific entity (page or block) from the Roam graph by its identifier. Returns selected or all attributes of the entity using Datomic pull syntax. Use this to get detailed information about a known page or block, including its content, children, references, and metadata.
query_graph
Execute a Datalog query against the Roam Research graph database. Supports the full Datomic-style Datalog syntax with `:find` and `:where` clauses. Use this to search for blocks by content, find pages by title, traverse references, and perform aggregations across the graph. Queries can be parameterized via `args` for safe variable injection.
delete_block
Permanently delete a block from the Roam Research graph. This also removes all child blocks nested under it. An exact read precedes deletion and independently checks absence afterward. The API does not provide undo or erase history, backups or referenced copies. An already absent target returns success false without another delete.
get_page
Retrieve an exact page by title with its native nested block tree. Optionally download this page as locally generated JSON; this is not a full graph export.
create_page
Create a new page in the Roam Research graph. Pages are identified by their title and can optionally be assigned a specific UID. After creation, blocks can be added to the page using the Create Block tool.
create_block
Create a new block (content unit) in the Roam Research graph under a specified parent page or block. Blocks support Roam markup syntax including `[[page references]]`, `#tags`, `((block references))`, **bold**, *italic*, and TODO/DONE markers.
update_page
Rename an existing page in the Roam Research graph by updating its title. The page is identified by its UID.
search_blocks
Search for blocks containing specific text in the Roam Research graph. Returns matching blocks with their UIDs and content. This is a convenience wrapper around a Datalog query that performs case-sensitive text search across all blocks.
delete_page
Permanently delete a page and all its blocks from the Roam Research graph. An exact read precedes deletion and independently checks absence afterward. The API does not provide undo or erase history, backups or referenced copies. An already absent target returns success false without another delete.
add_daily_note
Add a block to an existing daily note page identified by its MM-DD-YYYY UID. Defaults to the current UTC date.
move_block
Move an existing block to a new position within the Roam Research graph. The block can be moved to a different parent page or block, and its order among siblings can be specified.
list_pages
Discover page titles and UIDs with a native Datalog query. Returns a locally sorted, bounded subset; no native cursor or complete-graph guarantee is provided.
get_block
Read a block by its exact UID, including native content, display properties, parent and child UIDs.
Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.
{"mcpServers": {"metorial": {"url": "<your-magic-mcp-url>"}}}
claude mcp add --transport http metorial <your-magic-mcp-url>
codex mcp add metorial --url <your-magic-mcp-url>codex mcp login metorial
One governed layer for every app your agents reach, not a separate connector per tool.
Create, read, update, and delete pages and blocks in a Roam Research graph database of networked notes. Query the graph using Datalog for flexible data retrieval across interconnected pages and blocks. Pull structured data for specific entities, add content to daily note pages, and optionally download a retrieved page as JSON. Supports Roam markup syntax including page references, tags, block references, and TODO markers.
Common questions about connecting Roam to AI agents with Metorial.