Roam MCP server

Connect Roam to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Roam MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the update block tool in Roam
  • Use the batch actions tool in Roam
  • Use the pull entity data tool in Roam
  • Use the query graph tool in Roam
  • Use the delete block tool in Roam
  • Use the get page tool in Roam

Supported Tools

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.

batch_actions

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

Pull Entity 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

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

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

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 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 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

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 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

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 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 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

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

Get Block

Read a block by its exact UID, including native content, display properties, parent and child UIDs.

Connect Roam to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Roam in Metorial. In your Metorial portal, enable the Roam MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Roam tools.

Run Roam through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Roam and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Roam tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Roam

Notion

Create, read, update, and archive pages and databases in a Notion workspace. Manage blocks (paragraphs, lists, headings, embeds, etc.) within pages. Query databases with filters and sorts across rich property types including text, numbers, dates, selects, relations, and formulas. Search across pages and databases by title. Add and read comments on pages and blocks. Upload files to pages. Manage workspace users and retrieve user profiles.

Confluence

Create, read, update, and delete pages, blog posts, comments, and attachments in Confluence spaces. Manage spaces, permissions, labels, and content restrictions. Search content using Confluence Query Language (CQL). Upload and download file attachments with versioning. Manage users, groups, and group memberships. Create and manage whiteboards, databases, folders, and templates. View and update inline tasks. Access audit logs.

Help Scout

Manage customer support conversations, customers, and knowledge base content. Create, update, assign, and close conversations across shared mailboxes. Add replies, notes, and attachments to conversation threads. Create and manage customer profiles with contact details and custom properties. Organize customers into companies/organizations. Manage tags, teams, users, and automated workflows. Create and update knowledge base articles, collections, and categories via the Docs API. Access support reporting including conversation volume, response times, user productivity, and customer satisfaction ratings. Configure webhooks to receive real-time notifications on conversation, customer, and organization changes.

Fireflies

Record, transcribe, and analyze meeting conversations from platforms like Zoom, Google Meet, and Webex. Retrieve, search, and manage meeting transcripts with AI-generated summaries, action items, sentiment analysis, and keywords. Upload audio files for transcription. Ask questions about meetings using the AskFred AI assistant. Add a bot to live meetings for automatic recording, pause and resume recordings, and create live action items or soundbites. Manage users and teams, organize meetings into channels, and query contacts.

Freshdesk

Manage customer support tickets, contacts, companies, and agents. Create, update, filter, merge, and delete support tickets with custom fields, tags, priorities, and assignments. Add replies, notes, and forward emails on ticket conversations. Manage contacts and companies with search, filter, import, and export capabilities. Maintain a knowledge base of articles organized in categories and folders. Run community discussion forums with topics and comments. Track time entries on tickets, configure SLA policies, and set up automation rules with webhook triggers. Manage canned response templates, custom objects, email mailboxes, collaboration threads, and agent groups with auto-assignment. Send outbound WhatsApp messages and handle satisfaction surveys and ratings. Support field service management with service tasks and technician scheduling.

Zendesk

Manage Zendesk Support tickets, ticket comments, users, organizations, Help Center articles, ticket views, groups, ticket fields, and macros. Create, update, resolve, and delete support tickets with assignments, priorities, tags, comments, and custom fields. Search across tickets, users, groups, and organizations, and inspect Help Center categories and sections before managing articles.

Technical notes for Roam

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.

Frequently asked questions

Common questions about connecting Roam to AI agents with Metorial.

  1. How many tools does the Roam MCP server have?
    The Roam MCP server exposes 15 tools, including Update Block, Batch Actions, Pull Entity Data. Each one is governed and traced through Metorial.
  2. Roam exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Roam MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Roam and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Roam MCP server yourself or use the hosted gateway.

Connect Roam to production AI agents

See how Metorial gives your team governed access to Roam, with tracing and security controls built in.