@abhishekmcp/notes 0.4.0 → 0.4.1
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 +12 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -85,12 +85,23 @@ All filesystem access is sandboxed to the notes directory:
|
|
|
85
85
|
|
|
86
86
|
## Usage
|
|
87
87
|
|
|
88
|
-
### Claude Code
|
|
88
|
+
### Claude Code — plugin (easiest)
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
/plugin marketplace add Abhishekkumar2021/mcp-suite
|
|
92
|
+
/plugin install notes
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Claude Code — manual
|
|
89
96
|
|
|
90
97
|
```bash
|
|
91
98
|
claude mcp add notes --env NOTES_DIR=$HOME/notes -- npx -y @abhishekmcp/notes
|
|
92
99
|
```
|
|
93
100
|
|
|
101
|
+
### Claude Desktop — MCPB (one-click, no Node required)
|
|
102
|
+
|
|
103
|
+
Download `notes-<version>.mcpb` from the [latest release](https://github.com/Abhishekkumar2021/mcp-suite/releases) and drag it onto Claude Desktop → Settings → Extensions. A folder picker lets you choose your notes directory.
|
|
104
|
+
|
|
94
105
|
### Claude Desktop
|
|
95
106
|
|
|
96
107
|
Add to `claude_desktop_config.json`:
|
package/dist/config.js
CHANGED
|
@@ -23,7 +23,8 @@ export function getIndexPath() {
|
|
|
23
23
|
}
|
|
24
24
|
/** When true, all mutating tools are disabled (safe for sharing a vault read-only). */
|
|
25
25
|
export function isReadOnly() {
|
|
26
|
-
|
|
26
|
+
const v = (process.env.NOTES_READONLY ?? "").toLowerCase();
|
|
27
|
+
return v === "1" || v === "true";
|
|
27
28
|
}
|
|
28
29
|
/** When true, skip the on-disk index cache and rebuild in memory each start. */
|
|
29
30
|
export function cacheDisabled() {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAElD,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAEtD;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,GAAG,CAAC;IACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,UAAU;IACxB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { semanticSearch } from "./semantic.js";
|
|
|
15
15
|
import { completable } from "@modelcontextprotocol/sdk/server/completable.js";
|
|
16
16
|
import { createFromTemplate, dailyNote, listTemplates, renameTag, unlinkedMentions, } from "./extras.js";
|
|
17
17
|
import { dailyStandup, summarizeNote, weeklyReview } from "./prompts.js";
|
|
18
|
-
const server = new McpServer({ name: "mcp-notes-server", version: "0.4.
|
|
18
|
+
const server = new McpServer({ name: "mcp-notes-server", version: "0.4.1" });
|
|
19
19
|
const text = (value) => ({ content: [{ type: "text", text: value }] });
|
|
20
20
|
const fail = (err) => text(`Error: ${err.message}`);
|
|
21
21
|
// --- Read & discovery tools (always registered) --------------------------
|
|
@@ -374,7 +374,7 @@ async function main() {
|
|
|
374
374
|
await buildIndex(); // load/sync the index before serving any request
|
|
375
375
|
const transport = new StdioServerTransport();
|
|
376
376
|
await server.connect(transport);
|
|
377
|
-
console.error(`mcp-notes-server v0.4.
|
|
377
|
+
console.error(`mcp-notes-server v0.4.1 running${isReadOnly() ? " (read-only)" : ""}. Notes dir: ${notesDir()}`);
|
|
378
378
|
}
|
|
379
379
|
main().catch((err) => {
|
|
380
380
|
console.error("Fatal error starting mcp-notes-server:", err);
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abhishekmcp/notes",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "MCP server for local markdown notes — ranked search, tags, todos, and a wiki-link knowledge graph, from any MCP client.",
|
|
5
|
+
"mcpName": "io.github.Abhishekkumar2021/notes",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|
|
7
8
|
"mcp-notes": "dist/index.js"
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
"watch": "tsc --watch",
|
|
19
20
|
"start": "node dist/index.js",
|
|
20
21
|
"dev": "tsc && node dist/index.js",
|
|
22
|
+
"build:mcpb": "node scripts/build-mcpb.mjs",
|
|
21
23
|
"prepublishOnly": "npm run build"
|
|
22
24
|
},
|
|
23
25
|
"keywords": [
|