seekstone 0.2.1 → 0.4.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
@@ -1,54 +1,75 @@
1
- # seekstone
1
+ # seekstone / obsidian-mcp-seekstone
2
2
 
3
- **An Obsidian MCP server — filesystem-direct, low context-tax.**
3
+ **The Obsidian MCP server for Claude — search and edit your vault without burning context.**
4
4
 
5
- Seekstone reads your Obsidian vault **directly from disk** instead of routing through the Obsidian Local REST API plugin. The practical difference: a search that returns ~1.75 MB / ~459,000 tokens via the REST plugin returns **~3 KB / ~800 tokens** via seekstone — a ~575× reduction. Claude can search and read notes without burning its context window on a single tool call.
5
+ Seekstone is an Obsidian MCP server that gives Claude (and any [Model Context Protocol](https://modelcontextprotocol.io) client) direct read and write access to your Obsidian vault. No Obsidian app needs to be running, no plugins are required, and nothing leaves your machine.
6
6
 
7
- It runs as a standard [MCP](https://modelcontextprotocol.io) stdio server with no Obsidian app or plugin required — just point it at a vault directory.
7
+ It reads your vault **directly from disk** instead of routing through the Obsidian Local REST API plugin. The practical difference: a search that returns ~1.75 MB and ~459,000 tokens via the REST plugin returns **~3 KB and ~800 tokens** via Seekstone — a **~575× reduction**. Claude can search and read your entire note library without burning most of its context window on a single tool call.
8
+
9
+ **Two npm names, one server:**
10
+
11
+ | Package | Best for |
12
+ |---|---|
13
+ | [`obsidian-mcp-seekstone`](https://www.npmjs.com/package/obsidian-mcp-seekstone) | Searching npm for "obsidian mcp" |
14
+ | [`seekstone`](https://www.npmjs.com/package/seekstone) | Shorter name if you already know it |
15
+
16
+ ---
8
17
 
9
18
  ## Install
10
19
 
11
- ```jsonc
12
- // Claude Desktop — claude_desktop_config.json
20
+ Choose the method that suits you best.
21
+
22
+ ### Option 1 — One-click (Claude Desktop, no terminal needed)
23
+
24
+ Download `seekstone.mcpb` from [GitHub Releases](https://github.com/shaqmughal/seekstone/releases/latest), double-click it in Claude Desktop, and pick your Obsidian vault folder when prompted. No JSON editing, no terminal, no Node.js setup required.
25
+
26
+ ### Option 2 — Guided setup (recommended for CLI users)
27
+
28
+ Run the setup helper and let Seekstone find your vault automatically:
29
+
30
+ ```bash
31
+ npx -y obsidian-mcp-seekstone init
32
+ ```
33
+
34
+ Seekstone reads Obsidian's own vault registry to detect your vault, validates it, and either prints the config to paste or patches Claude Desktop directly:
35
+
36
+ ```bash
37
+ # Auto-detect vault, print config to paste
38
+ npx -y obsidian-mcp-seekstone init
39
+
40
+ # Auto-detect vault, patch Claude Desktop in place (with backup)
41
+ npx -y obsidian-mcp-seekstone init --write
42
+
43
+ # Specify vault explicitly if you have multiple
44
+ npx -y obsidian-mcp-seekstone init --vault "/path/to/vault"
45
+
46
+ # Generate the Claude Code command instead
47
+ npx -y obsidian-mcp-seekstone init --client code
48
+ ```
49
+
50
+ ### Option 3 — Manual config (Claude Desktop)
51
+
52
+ Add to `claude_desktop_config.json` (Settings → Developer → Edit Config):
53
+
54
+ ```json
13
55
  {
14
56
  "mcpServers": {
15
57
  "seekstone": {
16
58
  "command": "npx",
17
- "args": ["-y", "seekstone"],
59
+ "args": ["-y", "obsidian-mcp-seekstone"],
18
60
  "env": { "SEEKSTONE_VAULT": "/absolute/path/to/your/vault" }
19
61
  }
20
62
  }
21
63
  }
22
64
  ```
23
65
 
24
- Or with Claude Code:
66
+ ### Option 4 — Claude Code
25
67
 
26
68
  ```bash
27
- claude mcp add seekstone --env SEEKSTONE_VAULT=/absolute/path/to/your/vault -- npx -y seekstone
69
+ claude mcp add seekstone --env SEEKSTONE_VAULT=/absolute/path/to/your/vault -- npx -y obsidian-mcp-seekstone
28
70
  ```
29
71
 
30
- Restart the client. On startup seekstone walks the vault and builds an in-memory full-text index (a couple of seconds for a few thousand notes), then keeps it in sync as notes change.
31
-
32
- ### Guided setup
33
-
34
- `seekstone init` validates your vault and prints the config to paste, or patches the Claude Desktop config for you (with a backup, leaving other MCP servers untouched):
35
-
36
- ```bash
37
- npx -y seekstone init --vault "/absolute/path/to/your/vault" # print config
38
- npx -y seekstone init --vault "/absolute/path/to/your/vault" --write # patch Claude Desktop
39
- npx -y seekstone init --vault "/absolute/path/to/your/vault" --client code # print Claude Code command
40
- ```
41
-
42
- ## Configuration
43
-
44
- | Env var | Required | Description |
45
- |---|---|---|
46
- | `SEEKSTONE_VAULT` | yes | Absolute path to the Obsidian vault. |
47
- | `SEEKSTONE_LOG_LEVEL` | no | `error` \| `warn` \| `info` (default) \| `debug`. |
48
- | `SEEKSTONE_LOG_FILE` | no | Absolute path; when set, JSON-line logs are appended here (size-rotated). |
49
- | `SEEKSTONE_WATCH_POLL` | no | Set to `1` to stat-poll for changes instead of native OS events — slower but reliable on network drives, WSL, and some containers. |
50
-
51
- Works on macOS, Linux, and Windows.
72
+ ---
52
73
 
53
74
  ## Tools
54
75
 
@@ -63,10 +84,51 @@ Works on macOS, Linux, and Windows.
63
84
  | `append_note` | Append to a note body without touching frontmatter. |
64
85
  | `patch_frontmatter` | Set/update/delete frontmatter keys without reordering existing keys or changing quote style. |
65
86
 
87
+ ---
88
+
89
+ ## Configuration
90
+
91
+ | Env var | Required | Description |
92
+ |---|---|---|
93
+ | `SEEKSTONE_VAULT` | yes | Absolute path to your Obsidian vault. |
94
+ | `SEEKSTONE_LOG_LEVEL` | no | `error` \| `warn` \| `info` (default) \| `debug`. |
95
+ | `SEEKSTONE_LOG_FILE` | no | Absolute path; when set, JSON-line logs are appended here (size-rotated). |
96
+ | `SEEKSTONE_WATCH_POLL` | no | Set to `1` to stat-poll for changes instead of native OS events — reliable on network drives, WSL, containers. |
97
+
98
+ ---
99
+
100
+ ## Frequently asked questions
101
+
102
+ **Does the Obsidian app need to be running?**
103
+ No — Seekstone reads the vault folder from disk directly.
104
+
105
+ **Do I need the Local REST API plugin?**
106
+ No — Seekstone bypasses it entirely (that's where the 575× reduction comes from).
107
+
108
+ **How does `seekstone init` find my vault automatically?**
109
+ It reads Obsidian's own vault registry (`obsidian.json`) — the same file Obsidian uses to track your known vaults. One vault → auto-selected. Multiple → lists them and asks you to pick with `--vault`.
110
+
111
+ **What is the `.mcpb` file?**
112
+ An MCP Bundle — a zip containing the server and its manifest. Claude Desktop installs it with a double-click, no terminal required.
113
+
114
+ **Which AI clients does it support?**
115
+ Any MCP-over-stdio client: Claude Desktop, Claude Code, Cursor, Windsurf, Continue, and others.
116
+
117
+ **Does it work on Windows?**
118
+ Yes — tested on macOS, Linux, and Windows in CI on every commit.
119
+
120
+ **Is it safe?**
121
+ No network calls, no telemetry. The vault path is sandboxed — no tool reads or writes outside it.
122
+
123
+ ---
124
+
66
125
  ## Requirements
67
126
 
68
- - Node.js ≥ 22
127
+ - Node.js ≥ 22 (for CLI install options; the `.mcpb` bundle has no external requirements)
128
+ - macOS, Linux, or Windows
129
+
130
+ ---
69
131
 
70
132
  ## License
71
133
 
72
- MIT © Shaq Mughal. Source and issues: <https://github.com/shaqmughal/seekstone>
134
+ MIT © Shaq Mughal · [GitHub](https://github.com/shaqmughal/seekstone) · [Issues](https://github.com/shaqmughal/seekstone/issues)