项目简介

该项目 'roam-research-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供与 Roam Research 知识库进行交互的能力。通过此服务器,LLM 客户端可以读取、创建和管理 Roam Research 中的页面和块,实现更智能的笔记内容访问和操作。

主要功能点

  • 页面内容读取 (roam_fetch_page_by_title): 根据页面标题获取页面内容,并递归解析块引用,支持最多 4 层深度,返回 Markdown 格式的页面内容。
  • 页面创建 (roam_create_page): 创建新的 Roam Research 页面,可选择添加初始内容,支持 Markdown 格式内容输入。
  • 块创建 (roam_create_block): 在指定页面(或今日 Daily Page)中创建新的块,用于快速记录想法或向现有页面添加内容。
  • Markdown 导入 (roam_import_markdown): 将嵌套的 Markdown 内容导入到 Roam Research 的指定页面或块下,保持 Markdown 的层级结构。
  • TODO 添加 (roam_add_todo): 向今日 Daily Page 批量添加 TODO 事项,方便快捷地管理任务列表。
  • 错误处理: 提供完善的错误处理机制,包括配置错误、API 错误和工具特定错误,并返回详细的错误信息和建议。

安装步骤

  1. 全局安装 (推荐):

    npm install -g roam-research-mcp
  2. 从源码构建:

    git clone https://github.com/MCP-Mirror/2b3pro_roam-research-mcp.git
    cd roam-research-mcp
    npm install
    npm run build

服务器配置

要将 'roam-research-mcp' 配置为 MCP 服务器,您需要在 MCP 客户端的设置中添加服务器配置信息。以下是针对 Cline 和 Claude 桌面应用的配置示例,您需要根据您的实际情况进行调整。

请注意: 您需要先在 Roam Research 中创建 API Token,并获取您的 Graph Name。

针对 Cline 的配置 ( '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json' )

{
  "mcpServers": {
    "roam-research": {  // 服务器名称,可以自定义
      "command": "node", // 启动服务器的命令,这里使用 node
      "args": ["/path/to/roam-research-mcp/build/index.js"], // 服务器启动参数,指向构建后的 index.js 文件路径,请替换为您的实际路径
      "env": { // 环境变量配置
        "ROAM_API_TOKEN": "your-api-token",  // 您的 Roam Research API Token,请替换为您的实际 Token
        "ROAM_GRAPH_NAME": "your-graph-name"   // 您的 Roam Research Graph Name,请替换为您的实际 Graph Name
      }
    }
  }
}

针对 Claude 桌面应用的配置 ( '~/Library/Application Support/Claude/claude_desktop_config.json' )

{
  "mcpServers": {
    "roam-research": { // 服务器名称,可以自定义
      "command": "node", // 启动服务器的命令,这里使用 node
      "args": ["/path/to/roam-research-mcp/build/index.js"], // 服务器启动参数,指向构建后的 index.js 文件路径,请替换为您的实际路径
      "env": { // 环境变量配置
        "ROAM_API_TOKEN": "your-api-token",  // 您的 Roam Research API Token,请替换为您的实际 Token
        "ROAM_GRAPH_NAME": "your-graph-name"   // 您的 Roam Research Graph Name,请替换为您的实际 Graph Name
      }
    }
  }
}

重要:

  • 请将 '/path/to/roam-research-mcp/build/index.js' 替换为您实际的 'roam-research-mcp' 项目 'build/index.js' 文件的绝对路径。如果您是全局安装,则 'args' 可以为空,因为全局安装后 'roam-research-mcp' 命令应该可以直接执行。
  • 请将 'your-api-token' 和 'your-graph-name' 替换为您的 Roam Research API Token 和 Graph Name。

基本使用方法

配置完成后,您可以在支持 MCP 协议的 LLM 客户端中使用 'use_mcp_tool' 命令来调用 'roam-research-mcp' 服务器提供的工具。

示例:

  • 读取页面内容:

    use_mcp_tool roam-research roam_fetch_page_by_title {
      "title": "您的页面标题"
    }
  • 创建新页面:

    use_mcp_tool roam-research roam_create_page {
      "title": "新页面标题",
      "content": "页面的初始内容 (可选,Markdown 格式)"
    }
  • 创建块:

    use_mcp_tool roam-research roam_create_block {
      "content": "块的内容",
      "title": "目标页面标题 (可选,不提供则添加到今日 Daily Page)"
    }
  • 导入 Markdown:

    use_mcp_tool roam-research roam_import_markdown {
      "content": "- Item 1\n  - Subitem A\n- Item 2",
      "page_title": "目标页面标题 (可选,不提供则添加到今日 Daily Page)"
    }
  • 添加 TODO:

    use_mcp_tool roam-research roam_add_todo {
      "todos": [
        "第一个 TODO",
        "第二个 TODO"
      ]
    }

请参考仓库的 README.md 文件获取更详细的工具参数和使用说明。

信息

分类

生产力应用