You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`tool.clj`: MCP integration with path-based operations (set_path, get_path, delete_path)
66
+
-`config.clj`: Configuration file management for persistence
67
67
-`truncate.clj`: Pretty-printing with depth truncation
68
68
69
69
#### Unused Tools (moved to other_tools/)
@@ -150,11 +150,9 @@ your-project/
150
150
-`scratch-pad-load`: Boolean flag to enable/disable scratch pad persistence (default: `false`)
151
151
-`true` - Loads existing data on startup and saves changes to disk
152
152
-`false` - Scratch pad operates in memory only, no file persistence
153
-
- Can be configured via config file OR runtime using `persistence_config` operation
154
153
-`scratch-pad-file`: Filename for scratch pad persistence (default: `"scratch_pad.edn"`)
155
154
- Specifies the filename within `.clojure-mcp/` directory
156
155
- Only used when `scratch-pad-load` is `true`
157
-
- Can be modified at runtime using `persistence_config` operation
158
156
159
157
### Example Configuration
160
158
```edn
@@ -220,7 +218,7 @@ The following tools are available in the default configuration (`main.clj`):
220
218
221
219
| Tool Name | Description | Example Usage |
222
220
|-----------|-------------|---------------|
223
-
|`scratch_pad`| A persistent scratch pad for storing structured data between tool calls | Task tracking, intermediate results, inter-agent communication, with dual-mode persistence configuration|
221
+
|`scratch_pad`| A persistent scratch pad for storing structured data between tool calls | Task tracking, intermediate results, inter-agent communication |
224
222
|`code_critique`| Starts an interactive code review conversation that provides constructive feedback on your Clojure code | Iterative code quality improvement |
225
223
226
224
## Tool Examples
@@ -283,18 +281,6 @@ scratch_pad:
283
281
path: ["todos", 0]
284
282
explanation: Checking first task
285
283
Output: Value at ["todos", 0]: {task: "Write tests", done: false}
286
-
287
-
scratch_pad:
288
-
op: persistence_config
289
-
enabled: true
290
-
filename: "my_workspace.edn"
291
-
explanation: Enable persistence with custom filename
Output: Scratch Pad Status with file info, size, and entry count
298
284
```
299
285
300
286
## Architecture and Design Patterns
@@ -363,13 +349,8 @@ scratch_pad:
363
349
- Path elements as arrays of strings and numbers
364
350
- Tree visualization for debugging and inspection
365
351
- Pretty-printed output with truncation at depth 3 for readability
366
-
- Dual-mode persistence configuration:
367
-
-**Config File Based**: Enable persistence via `.clojure-mcp/config.edn` file
368
-
-**Runtime Tool Based**: Use `persistence_config` operation to enable/disable and configure filename
369
-
- Tool-based changes automatically update config file for session persistence
370
-
- Lock file management to prevent data corruption from multiple instances
352
+
-**Config File Based**: Enable persistence via `.clojure-mcp/config.edn` file
371
353
- Error handling for corrupted files with user notification
372
-
- Status operation showing persistence state, file info, and statistics
373
354
374
355
## Development Workflow Recommendations
375
356
@@ -392,7 +373,6 @@ scratch_pad:
392
373
- Storing intermediate computation results
393
374
- Building up complex data structures incrementally
394
375
- Sharing context between different agents or tool calls
395
-
- Enable persistence via config file or `persistence_config` operation for data that should survive sessions
396
376
397
377
4.**Logging System**:
398
378
- Uses `clojure.tools.logging` with Logback backend
@@ -495,9 +475,6 @@ See `/doc/custom-mcp-server.md` for comprehensive documentation on creating cust
495
475
- Building complex data structures incrementally
496
476
- Path-based data manipulation using `set_path`/`get_path`/`delete_path` operations
497
477
- Direct storage of JSON-compatible values
498
-
-**Dual-mode persistence configuration**: Configure persistence via config file OR runtime tool operations
499
-
- Runtime configuration operations (`persistence_config`, `status`) with immediate effect
500
-
- Automatic config file updates when using tool-based configuration
501
478
502
479
**Tool Reorganization**: To improve codebase maintainability, unused tools have been moved to `/src/clojure_mcp/other_tools/`. This separation clarifies which tools are actively used in the main MCP server (`main.clj`) versus those that remain available but are not currently essential.
0 commit comments