Skip to main content
Glama
robert7
by robert7

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.

Connection issue? Check the RemNote bridge plugin and server versions first. Use the official MCP/OpenClaw Automation Bridge by Robert Spiegel in RemNote, and run a compatible remnote-mcp-server on the same 0.x minor line. Wrong plugin flavors or mismatched versions can disconnect with a 1008 compatibility message. If Marketplace and npm releases are temporarily out of sync, pin the matching server package or run matching bridge/server checkouts from source. Start with the version compatibility guide, plugin install guide, local plugin guide, and server installation guide. After setup, see the agent validation prompts to verify that your chosen AI agent can use the installed RemNote MCP tools end to end. If the guides do not resolve your problem, open an issue with the relevant versions, setup path, observed behavior, and exact error/status message.

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. See AI agent examples in action with RemNote: Demo and Screenshots · Advanced Use Cases

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 OpenClaw/Hermes AI agents and other command-driven local automation, remnote-cli is the direct path: point the agent at the bundled RemNote CLI skill and keep the MCP server running locally.

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.

Related MCP server: ai-brain

Features

  • Create Notes & Flashcards - Create simple notes, hierarchical markdown trees, or RemNote-native flashcards

  • Search Knowledge Base - Run full-text searches or exact tag Rem ID searches with ancestor context

  • Read Notes - Retrieve note content in markdown or structured form with configurable traversal depth

  • Update Notes - Modify titles, insert or replace hierarchical content, and manage tags by exact Rem ID

  • Journal Entries - Append timestamped daily entries with hierarchical markdown content and optional exact tag Rem IDs

  • 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 v<version> 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

  • Development Setup - Contributing guide for developers

  • Testing Strategy - Three-level testing model: local quality checks, maintainer live integration, and end-user agent validation

  • Integration Testing - Canonical shared workflow for updating and running MCP server + CLI integration coverage against live RemNote

  • Publishing Guide - npm publishing process (maintainers only)

Available MCP Tools

Tool

Description

remnote_create_note

Create notes, markdown trees, or flashcards with real aliases, optional exact tag Rem IDs, and root document status

remnote_search

Search knowledge base with full-text search, parent context, and optional tag IDs/names

remnote_search_by_tag

Search by exact tag Rem ID with ancestor-context resolution

remnote_read_note

Read note by ID with metadata, optional tag IDs/names, and markdown or structured content

remnote_get_media

Retrieve one validated RemNote-managed image as MCP-native image content

remnote_update_note

Update title and add/remove real aliases

remnote_set_document_status

Preview or set document status while preserving concept/card status

remnote_insert_children

Insert child Rems at deterministic positions

remnote_replace_children

Replace direct content children while preserving parent metadata

remnote_update_tags

Add or remove tags by exact tag Rem ID

remnote_append_journal

Append hierarchical content to today's daily document with optional tag Rem IDs

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)

  • REMNOTE_MEDIA_ROOTS - Allowed RemNote media roots, separated by the platform path delimiter; defaults to discovered ~/remnote/remnote-*/files directories. Equivalent repeatable CLI flag: --media-root.

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 three-level testing model and links to each verification path, see the Testing Strategy.

License

MIT

Available Tools

6 tools
remnote_append_journalC

Append content to today's daily document in RemNote

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesContent to append to today's daily document
timestampNoInclude timestamp (default: true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Append content') but doesn't disclose important behavioral traits like whether this requires authentication, what happens if today's daily document doesn't exist (does it create one?), whether the append is atomic, or what the response looks like. The description is minimal and lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple tool and front-loads the essential information. Every word earns its place in this concise formulation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens when invoked (success/failure responses), doesn't mention authentication requirements, and doesn't clarify edge cases like missing daily documents. For a tool that modifies data, more operational context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters ('content' and 'timestamp'). The description doesn't add any parameter semantics beyond what's in the schema - it mentions 'content' but provides no additional context about format, length, or special handling. The baseline score of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Append content') and target resource ('today's daily document in RemNote'), making the purpose immediately understandable. It doesn't explicitly distinguish from siblings like 'remnote_update_note' which might also modify documents, but the specific focus on 'today's daily document' provides some differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate versus 'remnote_update_note' for modifying documents, 'remnote_create_note' for creating new documents, or 'remnote_read_note' for reading documents. The agent must infer usage from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remnote_create_noteC

Create a new note in RemNote with optional content, parent, and tags

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title of the note
contentNoContent as child bullets (newline-separated)
parentIdNoParent Rem ID
tagsNoTags to apply

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the tool creates a note but doesn't disclose permissions needed, whether it's idempotent, error conditions, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and lists optional parameters without unnecessary detail. Every word earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations and no output schema, the description is incomplete. It doesn't address what the tool returns (e.g., note ID, success confirmation), error handling, or behavioral nuances like whether duplicate titles are allowed. Given the complexity of a 4-parameter mutation, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds marginal value by listing optional parameters (content, parent, tags) but doesn't explain semantics beyond what the schema provides, such as how parentId relates to RemNote structure or tag formatting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a new note') and resource ('in RemNote'), making the purpose immediately understandable. It distinguishes from siblings like 'remnote_update_note' by specifying creation rather than modification, though it doesn't explicitly contrast with all alternatives like 'remnote_append_journal'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'remnote_update_note' for modifying existing notes or 'remnote_append_journal' for journal-specific operations. It mentions optional parameters but gives no context about prerequisites, typical use cases, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remnote_read_noteC

Read a specific note from RemNote by its Rem ID

ParametersJSON Schema
NameRequiredDescriptionDefault
remIdYesThe Rem ID to read
depthNoDepth of children to include (0-10, default: 3)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool reads a note, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, or what the output format looks like (e.g., structured data or raw text). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the key action and resource, making it easy to parse. Every part of the sentence earns its place by specifying the tool's function and key input, resulting in zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of reading a note (which could involve permissions, data formats, or errors) and the lack of annotations and output schema, the description is incomplete. It doesn't address what the tool returns (e.g., note content, metadata, or error messages), authentication needs, or potential limitations. For a tool with no structured support, more context is needed to ensure reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents both parameters ('remId' and 'depth') with descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as explaining what a 'Rem ID' is or providing examples. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read') and resource ('a specific note from RemNote'), making the purpose immediately understandable. It specifies the key identifier ('by its Rem ID'), which distinguishes it from other read operations that might use different identifiers. However, it doesn't explicitly differentiate from sibling tools like 'remnote_search' or 'remnote_status', which could also involve reading data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over 'remnote_search' for finding notes, or how it relates to 'remnote_status' for system information. There's no context about prerequisites, such as needing an existing Rem ID, or exclusions for when other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remnote_statusA

Check the connection status and statistics of the RemNote MCP bridge

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks status and statistics but does not describe what specific statistics are returned, whether it performs network calls, or any error conditions. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose without any wasted words. It is appropriately sized for a no-parameter tool and communicates the essential information clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema), the description is adequate but incomplete. It lacks details on what statistics are returned and behavioral context, which would be helpful for an agent to understand the tool's output and usage fully. It meets the minimum viable standard but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100%, so there is no need for parameter documentation. The description appropriately does not discuss parameters, earning a baseline score of 4 for not adding unnecessary information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Check') and the target ('connection status and statistics of the RemNote MCP bridge'), distinguishing it from sibling tools that perform CRUD operations on notes. It precisely communicates what the tool does without being vague or tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions, leaving the agent to infer usage based on the purpose alone. This lack of explicit guidance reduces its effectiveness in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remnote_update_noteC

Update an existing note in RemNote (change title, append content, or modify tags)

ParametersJSON Schema
NameRequiredDescriptionDefault
remIdYesThe Rem ID to update
titleNoNew title
appendContentNoContent to append as children
addTagsNoTags to add
removeTagsNoTags to remove

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool updates an existing note but doesn't disclose behavioral traits such as whether it requires specific permissions, if changes are reversible, potential rate limits, or what happens to unspecified fields (e.g., does it overwrite or merge?). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Update an existing note in RemNote') and specifies key operations. There's no wasted text, and it's appropriately sized for the tool's complexity. However, it could be slightly more structured by separating usage hints or behavioral details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions or side effects, doesn't explain return values (since no output schema), and provides minimal parameter guidance beyond the schema. For a tool that modifies data, this leaves significant gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters (remId, title, appendContent, addTags, removeTags) with descriptions. The description adds minimal value beyond the schema by listing actions ('change title, append content, or modify tags'), which loosely maps to parameters but doesn't provide additional syntax, format details, or constraints. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('update') and resource ('existing note in RemNote') with specific actions ('change title, append content, or modify tags'). It distinguishes from siblings like 'remnote_create_note' (create vs. update) and 'remnote_read_note' (read vs. update), though it doesn't explicitly mention all siblings. The purpose is specific but could be more differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing note ID), exclusions (e.g., not for creating new notes), or comparisons to siblings like 'remnote_append_journal' (which might be for journal-specific updates). Usage is implied by the verb 'update' but lacks explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: append_journal targets daily documents, create/read/update_note handle note lifecycle operations, search finds notes, and status checks connectivity. There is no overlap in functionality, making tool selection unambiguous for an agent.

Naming Consistency5/5

All tools follow a consistent 'remnote_verb_noun' pattern with snake_case throughout (e.g., remnote_append_journal, remnote_create_note). The naming is predictable and adheres to a uniform convention without any deviations.

Tool Count5/5

With 6 tools, the server is well-scoped for managing a knowledge base like RemNote. It covers core operations (create, read, update, search) plus specialized functions (append_journal, status), avoiding bloat while ensuring each tool earns its place.

Completeness4/5

The toolset provides strong CRUD coverage for notes and search, with additional utilities for journaling and status checks. A minor gap exists in note deletion functionality, but agents can work around this by updating notes or using other methods, and the core workflows are well-supported.

Maintenance

ActivityActive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to create, link, explore, and synthesize atomic notes using the Zettelkasten method through MCP-compatible clients like Claude.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/robert7/remnote-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server