remnote-mcp-server 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,31 +4,35 @@
4
4
  ![CI](https://github.com/robert7/remnote-mcp-server/actions/workflows/ci.yml/badge.svg)
5
5
  [![codecov](https://codecov.io/gh/robert7/remnote-mcp-server/branch/main/graph/badge.svg)](https://codecov.io/gh/robert7/remnote-mcp-server)
6
6
 
7
- MCP server that bridges AI agents (e.g. Claude Code) to [RemNote](https://remnote.com/) via the [RemNote MCP Bridge
8
- plugin](https://github.com/robert7/remnote-mcp-bridge).
7
+ MCP server that bridges AI agents (e.g. Claude Code) to [RemNote](https://remnote.com/) via the [RemNote Automation Bridge plugin](https://github.com/robert7/remnote-mcp-bridge).
8
+
9
+ > This is a working solution, but still experimental. If you run into any issues, please [report them here](https://github.com/robert7/remnote-mcp-server/issues).
10
+
11
+ ## What is This?
12
+
13
+ The RemNote MCP Server enables AI assistants like Claude Code to interact directly with your RemNote knowledge base
14
+ through the Model Context Protocol (MCP). Create notes, search your knowledge base, update existing notes, and maintain
15
+ your daily journal—all through conversational commands.
16
+
17
+ For some agentic workflows or CLI-first automation, the companion app **[remnote-cli](https://github.com/robert7/remnote-cli)**
18
+ may be a better fit than running a full MCP server.
9
19
 
10
20
  ## Demo
11
21
 
12
- See Claude Code in action with RemNote: **[View Demo →](docs/demo.md)**
22
+ See AI agent examples in action with RemNote: **[View Demo →](docs/demo.md)**
13
23
 
14
- ## Two-Component Architecture
24
+ ### Two-Component Architecture
15
25
 
16
26
  This system consists of **two separate components** that work together:
17
27
 
18
- 1. **[RemNote MCP Bridge](https://github.com/robert7/remnote-mcp-bridge)** - A RemNote plugin that runs in your browser
28
+ 1. **[RemNote Automation Bridge](https://github.com/robert7/remnote-mcp-bridge)** - A RemNote plugin that runs in your browser
19
29
  or RemNote desktop app and exposes RemNote API functionality via WebSocket
20
- 2. **RemNote MCP Server** (this repository) - A standalone server that connects your AI assistant to the bridge using
21
- MCP protocol
30
+ 2. **RemNote MCP Server** (this project) - A standalone server that connects your AI assistant to the bridge using MCP
31
+ protocol
22
32
 
23
33
  **Both components are required** for AI integration with RemNote.
24
34
 
25
- ## What is This?
26
-
27
- The RemNote MCP Server enables AI assistants like Claude Code to interact directly with your RemNote knowledge base
28
- through the Model Context Protocol (MCP). This allows you to create notes, search your knowledge base, update existing
29
- notes, and maintain your daily journal—all through conversational commands.
30
-
31
- **Architecture:**
35
+ ### How It Works
32
36
 
33
37
  ```text
34
38
  AI agents (HTTP) ↔ MCP HTTP Server :3001 ↔ WebSocket Server :3002 ↔ RemNote Plugin ↔ RemNote
@@ -36,29 +40,17 @@ AI agents (HTTP) ↔ MCP HTTP Server :3001 ↔ WebSocket Server :3002 ↔ RemNot
36
40
 
37
41
  The server acts as a bridge:
38
42
 
39
- - Communicates with AI agents via Streamable HTTP transport (MCP protocol)
43
+ - Communicates with AI agents via Streamable HTTP transport (MCP protocol) - supports both local and remote access
40
44
  - HTTP server (port 3001) manages MCP sessions for multiple concurrent agents
41
45
  - WebSocket server (port 3002) connects to the RemNote browser plugin
42
46
  - Translates MCP tool calls into RemNote API actions
43
47
 
44
- **About Streamable HTTP Transport**
45
-
46
- This MCP server uses [Streamable HTTP
47
- transport](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#http-with-sse), a communication
48
- mechanism for MCP that supports multiple concurrent clients.
49
-
50
- **Key characteristics:**
48
+ **Multi-Agent Support:** Multiple AI agents can connect simultaneously to the same RemNote knowledge base. Each agent
49
+ gets its own MCP session while sharing the WebSocket bridge.
51
50
 
52
- - **Lifecycle management**: You must start the server independently (`npm start` or `npm run dev`). Claude Code connects
53
- to the running server via HTTP.
54
- - **Message protocol**: Communication uses JSON-RPC over HTTP POST for requests and Server-Sent Events (SSE) for
55
- notifications.
56
- - **Multi-client support**: Multiple AI agents can connect simultaneously, each with their own MCP session.
57
- - **Session management**: Server tracks sessions via `mcp-session-id` headers and UUID-based request correlation.
58
-
59
- This architecture enables multiple Claude Code windows to access RemNote concurrently while maintaining process
60
- isolation and security boundaries. For technical details, see the [MCP
61
- specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports).
51
+ **Remote Access:** By default, the server binds to localhost (127.0.0.1) for local AI agents. Cloud-based services like
52
+ Claude Cowork require remote access—use tunneling tools like ngrok to expose the HTTP endpoint securely. The WebSocket
53
+ connection always stays local for security. See [Remote Access Guide](docs/guides/remote-access.md) for setup.
62
54
 
63
55
  ## Features
64
56
 
@@ -69,499 +61,190 @@ specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/tr
69
61
  - **Journal Entries** - Append timestamped entries to daily documents
70
62
  - **Connection Status** - Check server and plugin connection health
71
63
 
72
- ## Multi-Agent Support
73
-
74
- **Multiple AI agents can now connect simultaneously!** The server uses Streamable HTTP transport, allowing multiple
75
- Claude Code sessions (or other MCP clients) to access the same RemNote knowledge base concurrently.
76
-
77
- ### How It Works
78
-
79
- - One long-running server process on ports 3001 (HTTP) and 3002 (WebSocket)
80
- - Multiple AI agents connect via HTTP and get independent MCP sessions
81
- - All sessions share the same WebSocket bridge to RemNote
82
- - Concurrent requests are handled via UUID-based correlation
83
-
84
- ### Limitations
85
-
86
- The WebSocket bridge still enforces a **single RemNote plugin connection**. This means:
64
+ ## Quick Start
87
65
 
88
- - Multiple AI agents can connect to the server
89
- - But only one RemNote app instance can be connected at a time
90
- - This is a RemNote plugin limitation, not an MCP server limitation
91
-
92
- ## Prerequisites
93
-
94
- - **Node.js** >= 18.0.0
95
- - **RemNote app** with [RemNote MCP Bridge plugin](https://github.com/robert7/remnote-mcp-bridge) installed
96
- - **Claude Code CLI** installed and configured
97
-
98
- ## Installation
99
-
100
- ### 1. Install the MCP Server
101
-
102
- **From npm (recommended for most users):**
103
-
104
- See [MCP Server npm Package](https://www.npmjs.com/package/remnote-mcp-server).
66
+ ### 1. Install the Server
105
67
 
106
68
  ```bash
107
- # Install globally
108
69
  npm install -g remnote-mcp-server
109
-
110
- # Verify installation
111
- which remnote-mcp-server
112
- # Should output: /path/to/node/bin/remnote-mcp-server
113
- ```
114
-
115
- **Uninstalling:**
116
-
117
- ```bash
118
- # Remove global installation
119
- npm uninstall -g remnote-mcp-server
120
- ```
121
-
122
- **From source (for development):**
123
-
124
- ```bash
125
- git clone https://github.com/robert7/remnote-mcp-server.git
126
- cd remnote-mcp-server
127
- npm install
128
70
  ```
129
71
 
130
- ### 2. Install RemNote MCP Bridge Plugin
72
+ ### 2. Install the RemNote Plugin
131
73
 
132
- Install the [RemNote MCP Bridge plugin](https://github.com/robert7/remnote-mcp-bridge) in your RemNote app:
133
-
134
- 1. Open RemNote
135
- 2. Navigate to plugin installation (see plugin repository for instructions)
74
+ Install the [RemNote Automation Bridge plugin](https://github.com/robert7/remnote-mcp-bridge) in your RemNote app. Currently
75
+ available from GitHub; registration in the RemNote marketplace is pending approval. Configure the plugin to connect
76
+ to `ws://127.0.0.1:3002`.
136
77
 
137
78
  ### 3. Start the Server
138
79
 
139
- **IMPORTANT:** You must start the server before using it with Claude Code.
140
-
141
80
  ```bash
142
- # Start with default settings
143
81
  remnote-mcp-server
144
-
145
- # With custom ports
146
- remnote-mcp-server --ws-port 4002 --http-port 4001
147
-
148
- # With verbose logging
149
- remnote-mcp-server --verbose
150
-
151
- # With file logging
152
- remnote-mcp-server --log-file /tmp/remnote-mcp.log --log-level-file debug
153
-
154
- # OR development mode (with hot reload)
155
- npm run dev
156
- # you can also pass CLI options after `--`, e.g.
157
- npm run dev -- -h
158
82
  ```
159
83
 
160
- **CLI Options:**
161
-
162
- Server Configuration:
163
- - `--ws-port <number>` - WebSocket port (default: 3002, env: REMNOTE_WS_PORT)
164
- - `--http-port <number>` - HTTP MCP port (default: 3001, env: REMNOTE_HTTP_PORT)
165
-
166
- Logging Configuration:
167
- - `--log-level <level>` - Console log level: debug, info, warn, error (default: info)
168
- - `--log-level-file <level>` - File log level (default: same as --log-level)
169
- - `--verbose` - Shorthand for --log-level debug
170
- - `--log-file <path>` - Log to file (default: console only)
171
- - `--request-log <path>` - Log all WebSocket requests to file (JSON Lines)
172
- - `--response-log <path>` - Log all WebSocket responses to file (JSON Lines)
173
-
174
- Information:
175
- - `-h, --help` - Display help message
176
- - `-v, --version` - Display version number
177
-
178
84
  Expected output:
179
- ```
180
- RemNote MCP Server v0.2.1 listening { wsPort: 3002, httpPort: 3001 }
181
- ```
182
-
183
- **Note on Logging:**
184
- - Development environment (with `npm install`): Pretty-formatted colored logs
185
- - Global installation (via `npm link`): JSON logs to stderr (pino-pretty not included)
186
- - Both modes are fully functional - formatting is the only difference
187
-
188
- Keep this terminal running. The server must be running for Claude Code to connect.
189
-
190
- ## Configuration of AI Agents
191
-
192
- ### Claude Code CLI
193
-
194
- Use the `claude mcp` CLI commands to add, test, and remove the MCP server.
195
-
196
- **Add the server:**
197
-
198
- ```bash
199
- # goto your project directory
200
- cd /Users/username/Projects/sample-project
201
- claude mcp add remnote --transport http http://localhost:3001/mcp
202
- ```
203
-
204
- Example output:
205
-
206
- ```text
207
- Added HTTP MCP server remnote with URL: http://localhost:3001/mcp to local config
208
- File modified: /Users/username/.claude.json [project: /Users/username/Projects/sample-project]
209
- ```
210
-
211
- **Verify connection:**
212
-
213
- ```bash
214
- claude mcp list
215
- ```
216
-
217
- Example output:
218
-
219
- ```text
220
- remnote: http://localhost:3001/mcp (HTTP) - ✓ Connected
221
- ```
222
-
223
- As alternative you can use `/mcp` command in any Claude Code session to check the connection health.
224
-
225
- **Using the server:**
226
-
227
- Once configured, Claude Code automatically loads RemNote tools in your sessions. See the [Example Usage](#example-usage)
228
- section below for conversational commands.
229
-
230
- ```bash
231
- # In any Claude Code session
232
- claude
233
-
234
- prompt:
235
- show remnote note titles related do AI assisted coding
236
- ...
237
- remnote - remnote_search (MCP)(query: "AI assisted coding", limit: 20, includeContent: false)
238
- ...
239
- Found 20 notes related to "AI assisted coding". The main results include:
240
-
241
- Primary note:
242
- - AI assisted coding (remId: qtVwh5XBQbJM2HfSp)
243
-
244
- Related tools/platforms:
245
- - Claude Code
246
- - Gemini CLI
247
- ...
248
- ```
249
-
250
- **Remove the server:**
251
-
252
- ```bash
253
- claude mcp remove remnote
254
- ```
255
-
256
- Example output:
257
85
 
258
86
  ```text
259
- Removed MCP server "remnote"
260
- Config: /Users/username/.claude.json
261
- ```
262
-
263
- ### Claude Code CLI (manual configuration)
264
-
265
- If you prefer to manually configure the MCP server in Claude Code CLI instead of using `claude mcp add`, you can
266
- directly edit your `~/.claude.json` file.
267
-
268
- MCP servers are configured in `~/.claude.json` under the `mcpServers` key within project-specific sections.
269
-
270
- **Add to your `~/.claude.json`:**
271
-
272
- ```json
273
- {
274
- "projects": {
275
- "/Users/username": {
276
- ...
277
- "mcpServers": {
278
- "remnote": {
279
- "type": "http",
280
- "url": "http://localhost:3001/mcp"
281
- }
282
- ...
283
- }
87
+ RemNote MCP Server v0.2.1 listening { wsPort: 3002, httpPort: 3001 }
284
88
  ```
285
89
 
286
- Restart Claude Code completely to load the MCP server configuration. Claude Code will connect to the running server.
287
-
288
- ## Verification
289
-
290
- ### Check Server is Running
291
-
292
- Verify both ports are listening:
293
-
294
- ```bash
295
- # Check HTTP port (MCP)
296
- lsof -i :3001
90
+ Keep this terminal running.
297
91
 
298
- # Check WebSocket port (RemNote bridge)
299
- lsof -i :3002
300
- ```
92
+ ### 4. Configure Your AI Client
301
93
 
302
- You should see the `node` process listening on both ports.
94
+ - [Configuration Guide](docs/guides/configuration.md) - Overview and generic setup
95
+ - [ChatGPT](docs/guides/configuration-chatgpt.md) - ChatGPT Apps configuration
96
+ - [Claude Cowork](docs/guides/configuration-claude-cowork.md) - Cloud-based (requires remote access setup)
97
+ - [Claude Code CLI](docs/guides/configuration-claude-code-CLI.md) - Detailed Claude Code CLI configuration
98
+ - [Accomplish](docs/guides/configuration-accomplish.md) - Accomplish (Openwork) configuration
303
99
 
304
- ### Check RemNote Plugin Connection
100
+ ## Documentation
305
101
 
306
- Open RemNote with the MCP Bridge plugin installed. The plugin control panel should show:
102
+ ### Getting Started
307
103
 
308
- - **Status:** "Connected" (green)
309
- - **Server:** ws://127.0.0.1:3002
310
- - Connection timestamp
104
+ - **[Installation Guide](docs/guides/installation.md)** - Complete installation instructions
105
+ - **[Configuration Guide](docs/guides/configuration.md)** - Configure Claude Code CLI, Accomplish, and other clients
106
+ - **[ChatGPT Configuration Guide](docs/guides/configuration-chatgpt.md)** - Set up ChatGPT Apps with your MCP server
107
+ - **[Demo & Screenshots](docs/demo.md)** - See the server in action with different AI clients
311
108
 
312
- ### Test in Claude Code
109
+ ### Usage
313
110
 
314
- In any Claude Code session, try:
111
+ - **[CLI Options Reference](docs/guides/cli-options.md)** - Command-line options and environment variables
112
+ - **[MCP Tools Reference](docs/guides/tools-reference.md)** - Detailed reference for all 6 RemNote tools
113
+ - **[Remote Access Setup](docs/guides/remote-access.md)** - Expose server for Claude Cowork (ngrok, etc.)
315
114
 
316
- ```
317
- Use remnote_status to check the connection
318
- ```
115
+ ### Help & Advanced
319
116
 
320
- Expected response:
117
+ - **[Troubleshooting](docs/guides/troubleshooting.md)** - Common issues and solutions
118
+ - **[Architecture](docs/architecture.md)** - Design rationale and technical architecture
321
119
 
322
- ```json
323
- ⏺ remnote - remnote_status (MCP)
324
- ⎿ {
325
- "connected": true,
326
- "pluginVersion": "0.3.2"
327
- }
328
- ```
120
+ ### Development
329
121
 
330
- ### Test RemNote Integration
122
+ - **[Development Setup](docs/guides/development-setup.md)** - Contributing guide for developers
123
+ - **[Integration Testing](docs/guides/integration-testing.md)** - End-to-end validation against a live RemNote instance
124
+ - **[Publishing Guide](docs/npm-publishing.md)** - npm publishing process (maintainers only)
331
125
 
332
- Try creating a note:
126
+ ## Available MCP Tools
333
127
 
334
- ```
335
- Create a RemNote note titled "MCP Test" with content "Testing the bridge"
336
- ```
128
+ | Tool | Description |
129
+ |---------------------------|------------------------------------------------|
130
+ | `remnote_create_note` | Create new notes with optional parent and tags |
131
+ | `remnote_search` | Search knowledge base with full-text search |
132
+ | `remnote_read_note` | Read note by ID with configurable depth |
133
+ | `remnote_update_note` | Update title, append content, or modify tags |
134
+ | `remnote_append_journal` | Append to today's daily document |
135
+ | `remnote_status` | Check connection status and statistics |
337
136
 
338
- This should use the `remnote_create_note` tool and create a new note in your RemNote knowledge base.
137
+ See the [Tools Reference](docs/guides/tools-reference.md) for detailed usage and examples.
339
138
 
340
- ## Available Tools
139
+ ## Supported AI Clients
341
140
 
342
- | Tool | Description | Parameters |
343
- |------|-------------|------------|
344
- | `remnote_create_note` | Create a new note with optional parent and tags | `title`, `content`, `parentId`, `tags` |
345
- | `remnote_search` | Search knowledge base | `query`, `limit`, `includeContent` |
346
- | `remnote_read_note` | Read note by RemNote ID | `remId`, `depth` |
347
- | `remnote_update_note` | Update title, append content, or modify tags | `remId`, `title`, `appendContent`, `addTags`, `removeTags` |
348
- | `remnote_append_journal` | Append to today's daily document | `content`, `timestamp` |
349
- | `remnote_status` | Check connection status and statistics | _(no parameters)_ |
141
+ - **[Claude Code CLI](https://claude.com/claude-code)** - Local terminal-based agent
142
+ - **[Claude Cowork](https://claude.com/blog/cowork-research-preview)** - Cloud-based workspace (requires [remote
143
+ access](docs/guides/remote-access.md))
144
+ - **[Accomplish](https://github.com/accomplish-ai/accomplish)** - Task-based MCP client (formerly Openwork)
145
+ - **Any MCP client** supporting Streamable HTTP transport
350
146
 
351
147
  ## Example Usage
352
148
 
353
- ### Conversational Commands
354
-
355
- Claude Code will automatically select the appropriate tool based on your natural language commands:
356
-
357
149
  **Create notes:**
358
- ```
150
+
151
+ ```text
359
152
  Create a note about "Project Ideas" with content:
360
153
  - AI-powered note taking
361
154
  - Personal knowledge management
362
155
  ```
363
156
 
364
157
  **Search:**
365
- ```
366
- Search my RemNote for notes about "machine learning"
367
- ```
368
158
 
369
- **Read specific notes:**
370
- ```
371
- Read the note with ID abc123
159
+ ```text
160
+ Search my RemNote for notes about "machine learning"
372
161
  ```
373
162
 
374
163
  **Update notes:**
375
- ```
164
+
165
+ ```text
376
166
  Add a tag "important" to note abc123
377
167
  ```
378
168
 
379
169
  **Journal entries:**
380
- ```
381
- Add to my journal: "Completed the RemNote MCP integration"
382
- ```
383
170
 
384
- **Check status:**
385
- ```
386
- Check if RemNote is connected
171
+ ```text
172
+ Add to my journal: "Completed the RemNote MCP integration"
387
173
  ```
388
174
 
389
- ## Dependencies
390
-
391
- ### Optional Development Dependencies
392
-
393
- - **pino-pretty** - Provides formatted console output in development
394
- - Automatically used when stdout is a TTY (interactive terminal)
395
- - Gracefully falls back to JSON logging if unavailable (e.g., global installations)
396
- - To enable in development: `npm install` (installs devDependencies)
175
+ See the [Tools Reference](docs/guides/tools-reference.md) for more examples.
397
176
 
398
177
  ## Configuration
399
178
 
400
179
  ### Environment Variables
401
180
 
402
181
  - `REMNOTE_HTTP_PORT` - HTTP MCP server port (default: 3001)
182
+ - `REMNOTE_HTTP_HOST` - HTTP server bind address (default: 127.0.0.1)
403
183
  - `REMNOTE_WS_PORT` - WebSocket server port (default: 3002)
404
184
 
405
- **Example with custom ports:**
185
+ ### Custom Ports
406
186
 
407
187
  ```bash
408
- # Set environment variables before starting
409
- export REMNOTE_HTTP_PORT=3003
410
- export REMNOTE_WS_PORT=3004
411
- npm start
412
- # you can pass CLI options after `--`, e.g.
413
- npm start -- -h
188
+ remnote-mcp-server --http-port 3003 --ws-port 3004
414
189
  ```
415
190
 
416
- Then update your `~/.claude.json` and RemNote plugin settings to use the new ports.
417
-
418
- **Note:** If you change the WebSocket port, you must also update the WebSocket URL in the RemNote MCP Bridge plugin
419
- settings.
191
+ After changing ports, update your MCP client configuration and RemNote plugin settings.
420
192
 
421
- ### RemNote Plugin Settings
422
-
423
- Configure in the plugin control panel:
424
-
425
- - **WebSocket URL:** `ws://127.0.0.1:3002` (or your custom port)
426
- - **Auto-reconnect:** Enabled (recommended)
193
+ See [CLI Options Reference](docs/guides/cli-options.md) for all options.
427
194
 
428
195
  ## Troubleshooting
429
196
 
430
- ### Server Not Starting
431
-
432
- 1. **Verify the server is running:**
433
- ```bash
434
- lsof -i :3001
435
- lsof -i :3002
436
- ```
437
- Both ports should show active listeners.
438
-
439
- 2. **Check server output:**
440
- - You should see: `[HTTP Server] Listening on port 3001`
441
- - And: `[WebSocket Server] Listening on port 3002`
442
- 3. **If server fails to start:**
443
- - Check if ports are already in use (see "Port Already in Use" below)
444
- - Verify installation: `which remnote-mcp-server`
445
- - Check server logs for errors
446
-
447
- ### Port Already in Use
197
+ **Server won't start:**
448
198
 
449
- If you see "EADDRINUSE" error for port 3001 or 3002:
199
+ - Check ports aren't in use: `lsof -i :3001` and `lsof -i :3002`
200
+ - Verify installation: `which remnote-mcp-server`
450
201
 
451
- ```bash
452
- # Find what's using the ports
453
- lsof -i :3001
454
- lsof -i :3002
455
-
456
- # Kill the process if needed
457
- kill -9 <PID>
458
- ```
459
-
460
- Alternatively, configure different ports using environment variables (see Configuration section).
461
-
462
- ### Plugin Won't Connect
202
+ **Plugin won't connect:**
463
203
 
464
- 1. **Verify plugin settings in RemNote:**
465
- - WebSocket URL: `ws://127.0.0.1:3002`
466
- - Auto-reconnect: Enabled
467
- 2. **Check plugin console (RemNote Developer Tools):**
468
- ```
469
- Cmd+Option+I (macOS)
470
- Ctrl+Shift+I (Windows/Linux)
471
- ```
204
+ - Verify plugin settings: WebSocket URL `ws://127.0.0.1:3002`
205
+ - Check server is running: `lsof -i :3002`
472
206
 
473
- 3. **Restart RemNote** after changing settings
474
- 4. **Check server logs** for connection messages
207
+ **Tools not appearing:**
475
208
 
476
- ### Tools Not Appearing in Claude Code
209
+ - Verify configuration: `claude mcp list`
210
+ - Restart Claude Code completely
477
211
 
478
- 1. **Verify configuration in `~/.claude.json`:**
479
- ```bash
480
- cat ~/.claude.json | grep -A 10 mcpServers
481
- ```
212
+ See the [Troubleshooting Guide](docs/guides/troubleshooting.md) for detailed solutions.
482
213
 
483
- 2. **Ensure configuration is under correct project path** (use home directory for global)
484
- 3. **Restart Claude Code completely** (not just reload)
485
- 4. **Check MCP logs:**
486
- ```bash
487
- tail -f ~/.claude/debug/mcp-*.log
488
- ```
214
+ ## Contributing & Development
489
215
 
490
- ### Configuration Not Working
491
-
492
- **Common issues:**
493
-
494
- ❌ **Wrong transport type:**
495
- ```json
496
- "type": "stdio" // OLD - doesn't work anymore
497
- ```
498
-
499
- ✅ **Correct transport type:**
500
- ```json
501
- "type": "http" // NEW - required
502
- ```
503
-
504
- ❌ **Using command instead of URL:**
505
- ```json
506
- {
507
- "type": "stdio",
508
- "command": "remnote-mcp-server" // OLD
509
- }
510
- ```
511
-
512
- ✅ **Correct configuration:**
513
- ```json
514
- {
515
- "type": "http",
516
- "url": "http://127.0.0.1:3001/mcp" // NEW
517
- }
518
- ```
519
-
520
- ## Development
521
-
522
- ### Setup
216
+ **Development setup:**
523
217
 
524
218
  ```bash
219
+ git clone https://github.com/robert7/remnote-mcp-server.git
220
+ cd remnote-mcp-server
525
221
  npm install
526
222
  npm run build
527
- npm link # Make command globally available
223
+ npm link
528
224
  ```
529
225
 
530
- ### Development Workflow
226
+ **Development workflow:**
531
227
 
532
228
  ```bash
533
229
  npm run dev # Watch mode with hot reload
534
- npm run typecheck # Type checking only
535
- npm run build # Production build
230
+ npm test # Run test suite
231
+ ./code-quality.sh # Run all quality checks
536
232
  ```
537
233
 
538
- ### Testing
539
-
540
- ```bash
541
- npm test # Run all tests
542
- npm run test:watch # Watch mode
543
- npm run test:coverage # With coverage report
544
- ```
545
-
546
- ### Code Quality
547
-
548
- ```bash
549
- ./code-quality.sh # Run all checks
550
- npm run lint # ESLint only
551
- npm run format # Format code
552
- ```
553
-
554
- ### Development Documentation
555
-
556
- - **[docs/architecture.md](./docs/architecture.md)** - Architecture and design rationale
557
- - **[AGENTS.md](./AGENTS.md)** - AI agent and developer guidance
558
- - **[CHANGELOG.md](./CHANGELOG.md)** - Version history
234
+ See the [Development Setup Guide](docs/guides/development-setup.md) for complete instructions.
559
235
 
560
236
  ## Related Projects
561
237
 
562
- - [RemNote MCP Bridge Plugin](https://github.com/robert7/remnote-mcp-bridge) - Browser plugin for RemNote integration
238
+ - [RemNote Automation Bridge](https://github.com/robert7/remnote-mcp-bridge) - Browser plugin for RemNote integration
563
239
  - [Model Context Protocol](https://modelcontextprotocol.io/) - Open protocol for AI-application integration
564
240
 
565
241
  ## License
566
242
 
567
243
  MIT
244
+
245
+ ## Links
246
+
247
+ - [Documentation](docs/guides/) - Complete documentation
248
+ - [GitHub Issues](https://github.com/robert7/remnote-mcp-server/issues) - Bug reports and feature requests
249
+ - [npm Package](https://www.npmjs.com/package/remnote-mcp-server) - Official npm package
250
+ - [CHANGELOG](CHANGELOG.md) - Version history and roadmap
package/dist/cli.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export interface CliOptions {
2
2
  wsPort?: number;
3
3
  httpPort?: number;
4
+ httpHost?: string;
4
5
  logLevel?: string;
5
6
  logLevelFile?: string;
6
7
  verbose?: boolean;