LabscoMCP early access ↗
PhiloSolaresMCP SERVER

Roam Research

Add to your Roam Research graph, search it by tag or block reference, and pull web pages, PDFs and YouTube transcripts into it.

by PhiloSolares ↗Note-Taking & Personal Knowledge BasesCommunity

LABSCO SUMMARY

Searches the graph as a graph, and brings outside content into it.

Block references, parent-child navigation and raw Datalog mean questions like "what links here" work properly, which flat text search cannot answer. The URL handling is the other half: a PDF or a video becomes notes inside Roam rather than a link you meant to read. Everything runs against a live graph with a write-capable token, so it creates and edits real pages.

What it is

A Python bridge between an assistant and a Roam Research graph. It covers writing structured content, searching the graph the way Roam itself thinks about it — blocks, references, hierarchy — and a memory layer that persists what you tell it to remember across conversations.

What you get

  • Content creation: new pages with nested content and headings, blocks placed in the right hierarchy, structured outlines, Markdown import that keeps its nesting, and todo items with TODO status
  • Updates individually or in batches, including pattern transformations on block content
  • Search by title, text or tag; TODO and DONE items with filters; recently modified content; block references and hierarchy; creation and modification dates
  • Custom Datalog queries when the built-in searches are not specific enough
  • A memory system that stores and recalls facts across conversations, tagged for filtering
  • URL handling that detects content type: web page extraction, PDF text extraction and YouTube transcripts

Requirements

A Roam API token created under your graph's settings, plus the graph name — ROAM_API_TOKEN and ROAM_GRAPH_NAME. Launch with uvx git+https://github.com/PhiloSolares/roam-mcp.git, or build the Docker image and run it on port 3000. MEMORIES_TAG changes the default #[[Memories]] tag. The Python package is roam-mcp, version 0.2.0, with the entry point roam-mcp.

Setup effort

One command plus a key — uvx git+https://github.com/PhiloSolares/roam-mcp.git, then supply credentials