Skip to content

robert7/remnote-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

242 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RemNote MCP Server

License CI npm version codecov

MCP server and CLI package that bridges AI agents, local scripts, and coding harnesses to RemNote via the RemNote Automation Bridge plugin.

If you run into any issues, please report them here.

Connection issue? Check the RemNote plugin first. The RemNote Marketplace may show multiple similarly named MCP Bridge plugins. For this server, install the official MCP/OpenClaw Automation Bridge plugin by Robert Spiegel and keep it on the same 0.x minor version line as remnote-mcp-server (for example 0.14.x with 0.14.x). Wrong plugin flavors or incompatible marketplace copies can connect briefly and then disconnect with a 1008 compatibility message. See the related upstream marketplace confusion report: quentintou/remnote-mcp-bridge#8.

What is This?

The RemNote MCP Server enables AI assistants like Claude Code to interact directly with your RemNote knowledge base through the Model Context Protocol (MCP). The same npm package also provides remnote-cli, a command-line MCP client for local scripts and coding harnesses, and remnote-mcp-stdio, a stdio MCP proxy for clients that cannot consume Streamable HTTP directly. Create notes, hierarchical markdown trees, and RemNote-native flashcards; search and read your knowledge base; update existing notes; and maintain your daily journal through MCP tools or shell commands.

Demo

See AI agent examples in action with RemNote: View Demo →

Two-Component Architecture

This system consists of two separate runtime components that work together:

  1. RemNote Automation Bridge - A RemNote plugin that runs in your browser or RemNote desktop app and exposes RemNote API functionality via WebSocket
  2. RemNote MCP Server (this project) - A standalone server package that provides remnote-mcp-server for MCP HTTP clients, remnote-mcp-stdio for stdio MCP clients, and remnote-cli for command-line workflows

The remnote-cli and remnote-mcp-stdio commands are not second RemNote-facing servers. They call the MCP endpoint exposed by remnote-mcp-server.

For the detailed bridge connection lifecycle, retry phases, and wake-up triggers, use the bridge repo as the source of truth: Connection Lifecycle Guide.

How It Works

AI agents (HTTP) -> MCP HTTP Server :3001 -> WebSocket Server :3002 -> RemNote Plugin -> RemNote
AI agents (stdio) -> remnote-mcp-stdio -> MCP HTTP Server :3001 -> WebSocket Server :3002 -> RemNote Plugin -> RemNote
CLI commands -> remnote-cli -> MCP HTTP Server :3001 -> WebSocket Server :3002 -> RemNote Plugin -> RemNote

The server acts as a bridge:

  • Communicates with AI agents via Streamable HTTP transport (MCP protocol) - supports both local and remote access
  • Provides remnote-mcp-stdio as a local stdio MCP proxy for clients that need stdio transport
  • Provides remnote-cli as a bundled command-line MCP client for local automation
  • HTTP server (port 3001) manages MCP sessions for multiple concurrent agents
  • WebSocket server (port 3002) connects to the RemNote browser plugin
  • Translates MCP tool calls into RemNote API actions

Multi-Agent Support: Multiple AI agents can connect simultaneously to the same RemNote knowledge base. Each agent gets its own MCP session while sharing the WebSocket bridge.

Remote Access: By default, the server binds to localhost (127.0.0.1) for local AI agents. Claude Desktop and Claude Cowork can use the bundled local MCPB extension when desktop extensions are enabled. Cloud-based clients, web/mobile surfaces, and managed Claude deployments without local MCPB require remote access—use tunneling tools like ngrok to expose the HTTP endpoint securely. The WebSocket connection always stays local for security. See Remote Access Guide for setup.

Features

  • Create Notes & Flashcards - Create simple notes, hierarchical markdown trees, or RemNote-native flashcards
  • Search Knowledge Base - Run full-text searches or tag-based searches with ancestor context
  • Read Notes - Retrieve note content in markdown or structured form with configurable traversal depth
  • Update Notes - Modify titles, append or replace hierarchical content, and manage tags
  • Journal Entries - Append timestamped daily entries, including hierarchical markdown content
  • Agent Playbook - Return built-in navigation and safety guidance for MCP clients
  • Connection Status - Check server and plugin connection health

Quick Start

1. Install the Server

Version compatibility (0.x semver): install a remnote-mcp-server version compatible with your installed RemNote Automation Bridge plugin version. See the Bridge / Consumer Version Compatibility Guide.

npm install -g remnote-mcp-server

The package installs these commands:

remnote-mcp-server --version
remnote-cli --version
remnote-mcp-stdio --version

2. Install the RemNote Plugin

Install the official MCP/OpenClaw Automation Bridge plugin in your RemNote app. If installing from the RemNote Marketplace, verify the plugin name and author; similarly named MCP Bridge variants may be incompatible with this server and cause connection loops or 1008 disconnects. Configure the plugin to connect to ws://127.0.0.1:3002.

3. Start the Server

remnote-mcp-server

Expected output:

RemNote MCP Server v0.14.1 listening { wsPort: 3002, httpPort: 3001 }

Keep this terminal running.

For a background server that survives terminal close and writes to a stable log file:

remnote-mcp-server daemon start
remnote-mcp-server daemon status
remnote-mcp-server daemon logs
remnote-mcp-server daemon stop

Daemon state and logs default to ~/.remnote-mcp-server/. On macOS, install a login LaunchAgent for restart/login persistence:

remnote-mcp-server daemon install-launchd

After installing the LaunchAgent, remnote-mcp-server daemon status|start|stop|restart controls the launchd service.

4. Configure Your AI Client

Documentation

Getting Started

Usage

Help & Advanced

Development

Available MCP Tools

Tool Description
remnote_create_note Create notes, markdown trees, or flashcards with title, content, parent, and tags
remnote_search Search knowledge base with full-text search and parent-context metadata; tags remain optional and SDK-limited
remnote_search_by_tag Search by tag with ancestor-context resolution
remnote_read_note Read note by ID with metadata and markdown or structured content; readable tags remain SDK-limited
remnote_update_note Update title, append/replace content, or modify tags
remnote_append_journal Append hierarchical content to today's daily document
remnote_read_table Read Advanced Table columns, rows, and typed property metadata
remnote_get_playbook Get recommended MCP usage/navigation playbook
remnote_status Check connection status and statistics

Tools that declare an outputSchema return MCP structuredContent plus a JSON content text block for compatibility. See the MCP tools specification for the protocol contract.

The server uses @modelcontextprotocol/sdk and supports current MCP protocol negotiation, including 2025-11-25. Do not confuse MCP protocol versions with remnote-mcp-server or bridge plugin package versions; package versions use 0.x semver and should usually match by minor line.

See the Tools Reference for detailed usage and examples.

Supported AI Clients

  • Claude Code CLI - Local terminal-based agent
  • Codex TUI / Codex.app - Local OpenAI coding agent clients
  • Claude Desktop / Cowork - Local MCPB clients when desktop extensions are enabled, or remote connector clients when local MCPB is not applicable
  • Accomplish - Task-based MCP client (formerly Openwork)
  • Any MCP client supporting Streamable HTTP transport
  • Any local MCP client supporting stdio transport through remnote-mcp-stdio
  • Any local command runner that can call remnote-cli

Example Usage

Create notes:

Create a note about "Project Ideas" with content:
- AI-powered note taking
- Personal knowledge management

Search:

Search my RemNote for notes about "machine learning"

Update notes:

Add a tag "important" to note abc123

Journal entries:

Add to my journal: "Completed the RemNote MCP integration"

See the Tools Reference for more examples.

Configuration

Environment Variables

  • REMNOTE_HTTP_PORT - HTTP MCP server port (default: 3001)
  • REMNOTE_HTTP_HOST - HTTP server bind address (default: 127.0.0.1)
  • REMNOTE_WS_PORT - WebSocket server port (default: 3002)

Custom Ports

remnote-mcp-server --http-port 3003 --ws-port 3004

After changing ports, update your MCP client configuration and RemNote plugin settings.

Background Daemon

remnote-mcp-server daemon start
  • Default log: ~/.remnote-mcp-server/remnote-mcp-server.log
  • Duplicate starts are treated as already running when the daemon PID is alive.
  • If the configured HTTP or WebSocket port is already occupied, startup fails before spawning a second server.
  • Use remnote-mcp-server daemon stop for graceful shutdown.
  • Use remnote-mcp-server daemon install-launchd on macOS to keep the server running across login and unexpected exits.
  • When launchd is installed, the same daemon status/start/stop/restart commands control the launchd service.

See remnote-mcp-server Command Reference for all options.

Troubleshooting

Server won't start:

  • Check ports aren't in use: lsof -i :3001 and lsof -i :3002
  • Verify installation: which remnote-mcp-server

Plugin won't connect:

  • Verify plugin settings: WebSocket URL ws://127.0.0.1:3002
  • Check server is running: lsof -i :3002

Tools not appearing:

  • Verify configuration: claude mcp list
  • Restart Claude Code completely
  • If this started after upgrades, verify bridge/server version compatibility (0.x minor versions may break); see the Bridge / Consumer Version Compatibility Guide

See the Troubleshooting Guide for detailed solutions.

Contributing & Development

Development setup:

Version compatibility tip: when testing against a local or marketplace-installed bridge plugin, use a server checkout/tag compatible with that bridge plugin version (see the Bridge / Consumer Version Compatibility Guide).

git clone https://github.com/robert7/remnote-mcp-server.git
cd remnote-mcp-server
./link-cli.sh
# Later, remove the local links for package executables:
./unlink-cli.sh

Development workflow:

npm run dev          # Watch mode with hot reload
npm test             # Run test suite
./code-quality.sh    # Run all quality checks

See the Development Setup Guide for complete instructions.

Pull requests that affect bridge-consumer behavior should follow the shared PR rules in the bridge repo: Pull Request Guide. In particular, keep bridge and server-package behavior aligned for shared functionality changes.

For the canonical workflow for updating and running shared live integration coverage, see the Integration Testing Guide.

Related Projects

License

MIT

Links

About

RemNote MCP server

Resources

License

Stars

Watchers

Forks

Contributors