obsidian-mcp-server 3.2.3 → 3.2.4
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/AGENTS.md +8 -2
- package/CLAUDE.md +8 -2
- package/README.md +3 -3
- package/changelog/3.2.x/3.2.4.md +29 -0
- package/manifest.json +1 -1
- package/package.json +5 -4
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** obsidian-mcp-server
|
|
4
|
-
**Version:** 3.2.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
4
|
+
**Version:** 3.2.4
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
|
|
6
6
|
**Engines:** Bun ≥1.3.11, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -301,6 +301,7 @@ Available skills:
|
|
|
301
301
|
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
302
302
|
| `release-and-publish` | Ship a release end-to-end across npm, MCP Registry, GitHub Releases (`.mcpb`), and GHCR |
|
|
303
303
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
304
|
+
| `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
|
|
304
305
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
305
306
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
306
307
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
@@ -315,6 +316,8 @@ Available skills:
|
|
|
315
316
|
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
316
317
|
| `api-workers` | Cloudflare Workers runtime |
|
|
317
318
|
|
|
319
|
+
**Chaining skills into pipelines.** When the user wants a multi-phase effort — build this server out, QA-and-fix the surface, update-and-ship — *and you can spawn sub-agents*, `skills/orchestrations/SKILL.md` sequences the task skills above into a gated pipeline with verification at each step. Read it to drive the run. Optional: skip it if you can't orchestrate sub-agents, and ignore it entirely if you were *spawned* as one — you've already been scoped to a single phase.
|
|
320
|
+
|
|
318
321
|
When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
|
|
319
322
|
|
|
320
323
|
---
|
|
@@ -400,4 +403,7 @@ import { getMyService } from '@/services/my-domain/my-service.js';
|
|
|
400
403
|
- [ ] If wrapping external API: tests include at least one sparse payload case with omitted upstream fields
|
|
401
404
|
- [ ] Registered in `createApp()` arrays (directly or via barrel exports). Conditional registration (e.g. `commandToolDefinitions` behind `OBSIDIAN_ENABLE_COMMANDS`) happens in `src/index.ts`, not in the barrel
|
|
402
405
|
- [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
|
|
406
|
+
- [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = package name; `interface.shortDescription` from `package.json` description
|
|
407
|
+
- [ ] `.codex-plugin/mcp.json` updated — server name key matches `package.json` name; env vars added for any required API keys
|
|
408
|
+
- [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; inline `mcpServers` entry with server name key, env vars for any required API keys
|
|
403
409
|
- [ ] `bun run devcheck` passes
|
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** obsidian-mcp-server
|
|
4
|
-
**Version:** 3.2.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
4
|
+
**Version:** 3.2.4
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
|
|
6
6
|
**Engines:** Bun ≥1.3.11, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -301,6 +301,7 @@ Available skills:
|
|
|
301
301
|
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
302
302
|
| `release-and-publish` | Ship a release end-to-end across npm, MCP Registry, GitHub Releases (`.mcpb`), and GHCR |
|
|
303
303
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
304
|
+
| `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
|
|
304
305
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
305
306
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
306
307
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
@@ -315,6 +316,8 @@ Available skills:
|
|
|
315
316
|
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
316
317
|
| `api-workers` | Cloudflare Workers runtime |
|
|
317
318
|
|
|
319
|
+
**Chaining skills into pipelines.** When the user wants a multi-phase effort — build this server out, QA-and-fix the surface, update-and-ship — *and you can spawn sub-agents*, `skills/orchestrations/SKILL.md` sequences the task skills above into a gated pipeline with verification at each step. Read it to drive the run. Optional: skip it if you can't orchestrate sub-agents, and ignore it entirely if you were *spawned* as one — you've already been scoped to a single phase.
|
|
320
|
+
|
|
318
321
|
When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
|
|
319
322
|
|
|
320
323
|
---
|
|
@@ -400,4 +403,7 @@ import { getMyService } from '@/services/my-domain/my-service.js';
|
|
|
400
403
|
- [ ] If wrapping external API: tests include at least one sparse payload case with omitted upstream fields
|
|
401
404
|
- [ ] Registered in `createApp()` arrays (directly or via barrel exports). Conditional registration (e.g. `commandToolDefinitions` behind `OBSIDIAN_ENABLE_COMMANDS`) happens in `src/index.ts`, not in the barrel
|
|
402
405
|
- [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
|
|
406
|
+
- [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = package name; `interface.shortDescription` from `package.json` description
|
|
407
|
+
- [ ] `.codex-plugin/mcp.json` updated — server name key matches `package.json` name; env vars added for any required API keys
|
|
408
|
+
- [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; inline `mcpServers` entry with server name key, env vars for any required API keys
|
|
403
409
|
- [ ] `bun run devcheck` passes
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/obsidian-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/obsidian-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -208,7 +208,7 @@ Add the following to your MCP client configuration file. The Obsidian Local REST
|
|
|
208
208
|
```json
|
|
209
209
|
{
|
|
210
210
|
"mcpServers": {
|
|
211
|
-
"obsidian": {
|
|
211
|
+
"obsidian-mcp-server": {
|
|
212
212
|
"type": "stdio",
|
|
213
213
|
"command": "bunx",
|
|
214
214
|
"args": ["obsidian-mcp-server@latest"],
|
|
@@ -227,7 +227,7 @@ Or with npx (no Bun required):
|
|
|
227
227
|
```json
|
|
228
228
|
{
|
|
229
229
|
"mcpServers": {
|
|
230
|
-
"obsidian": {
|
|
230
|
+
"obsidian-mcp-server": {
|
|
231
231
|
"type": "stdio",
|
|
232
232
|
"command": "npx",
|
|
233
233
|
"args": ["-y", "obsidian-mcp-server@latest"],
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "mcp-ts-core ^0.9.16 → ^0.9.21 (per-request log context, retryable auto-population, query-string redaction, devcheck gates); plugin marketplace support (.claude-plugin, .codex-plugin); MCP config key renamed to obsidian-mcp-server"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
agent-notes: |
|
|
6
|
+
New untracked directories now ship: `.claude-plugin/` (Claude Code plugin manifest) and `.codex-plugin/` (Codex plugin manifest + mcp.json). The MCP client config key in install snippets changed from `obsidian` to `obsidian-mcp-server` to match the server's declared name. New scripts: `scripts/release-github.ts` (invoked via `release:github`) and `scripts/check-skill-versions.ts`. Skills resynced from mcp-ts-core 0.9.21 — new: `api-mirror`, `orchestrations`. If running `maintenance` on this server after 3.2.4, copy skills from `node_modules/@cyanheads/mcp-ts-core/skills/` to `skills/` and `.claude/skills/` as usual.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 3.2.4 — 2026-06-02
|
|
10
|
+
|
|
11
|
+
## Added
|
|
12
|
+
|
|
13
|
+
- **Plugin marketplace manifests.** `.claude-plugin/plugin.json` (Claude Code marketplace) and `.codex-plugin/plugin.json` + `.codex-plugin/mcp.json` (Codex marketplace) — both declare the server's name, version, description, and env var config for one-click installs.
|
|
14
|
+
- **`release:github` script** (`scripts/release-github.ts`) — constructs the GitHub Release title from the tag subject, attaches the `.mcpb` bundle, and handles the "release already exists" fallback. Inherited from mcp-ts-core 0.9.19.
|
|
15
|
+
- **`api-mirror` skill** — documents the `@cyanheads/mcp-ts-core/mirror` API surface (MirrorService, SQLite + FTS5 backend). Added in mcp-ts-core 0.9.17.
|
|
16
|
+
- **`orchestrations` skill** — chains task skills into gated multi-phase pipelines. Added in mcp-ts-core 0.9.19 (promoted to `audience: external` in 0.9.21).
|
|
17
|
+
|
|
18
|
+
## Changed
|
|
19
|
+
|
|
20
|
+
- **MCP client config key renamed** from `obsidian` to `obsidian-mcp-server` in README install snippets — aligns with the server's declared name in manifests and `server.json`.
|
|
21
|
+
- **Skills resynced** from mcp-ts-core 0.9.21: `add-tool`, `add-service`, `api-canvas`, `api-context`, `api-linter`, `api-utils`, `design-mcp-server`, `release-and-publish` — picks up list-filtering guidance, updated retry semantics, skill-version enforcement gate details, and `release:github` adoption.
|
|
22
|
+
- **`scripts/devcheck.ts` updated** — adds the skill-version enforcement gate and open-indexed-named interface gate from mcp-ts-core 0.9.18.
|
|
23
|
+
- **CLAUDE.md / AGENTS.md** — `orchestrations` skill added to the skills table; pipeline-chaining guidance block added; plugin checklist items added for `.claude-plugin/plugin.json` and `.codex-plugin/` files.
|
|
24
|
+
|
|
25
|
+
## Dependency bumps
|
|
26
|
+
|
|
27
|
+
- `@cyanheads/mcp-ts-core` ^0.9.16 → ^0.9.21 — HTTP per-request log context fix ([#194](https://github.com/cyanheads/mcp-ts-core/issues/194)), `ctx.fail` auto-populates `data.retryable` ([#174](https://github.com/cyanheads/mcp-ts-core/issues/174)), `fetchWithTimeout` query-string redaction ([#190](https://github.com/cyanheads/mcp-ts-core/issues/190)), `error-contract` lint scoped to construction sites ([#191](https://github.com/cyanheads/mcp-ts-core/issues/191)), list-changed notifications routed under HTTP ([#135](https://github.com/cyanheads/mcp-ts-core/issues/135)), MirrorService (`/mirror` subpath), two devcheck gates (skill-version, open-indexed-named interfaces)
|
|
28
|
+
- `js-yaml` ^4.1.1 → ^4.2.0
|
|
29
|
+
- `vitest` ^4.1.7 → ^4.1.8 (dev)
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "obsidian-mcp-server",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.4",
|
|
5
5
|
"description": "MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "cyanheads"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsidian-mcp-server",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.4",
|
|
4
4
|
"mcpName": "io.github.cyanheads/obsidian-mcp-server",
|
|
5
5
|
"description": "MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"start": "node dist/index.js",
|
|
40
40
|
"start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
|
|
41
41
|
"start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
|
|
42
|
+
"release:github": "bun run scripts/release-github.ts",
|
|
42
43
|
"publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish"
|
|
43
44
|
},
|
|
44
45
|
"keywords": [
|
|
@@ -81,9 +82,9 @@
|
|
|
81
82
|
"access": "public"
|
|
82
83
|
},
|
|
83
84
|
"dependencies": {
|
|
84
|
-
"@cyanheads/mcp-ts-core": "^0.9.
|
|
85
|
+
"@cyanheads/mcp-ts-core": "^0.9.21",
|
|
85
86
|
"@types/js-yaml": "^4.0.9",
|
|
86
|
-
"js-yaml": "^4.
|
|
87
|
+
"js-yaml": "^4.2.0",
|
|
87
88
|
"pino-pretty": "^13.1.3",
|
|
88
89
|
"undici": "^8.3.0",
|
|
89
90
|
"zod": "^4.4.3"
|
|
@@ -95,6 +96,6 @@
|
|
|
95
96
|
"ignore": "^7.0.5",
|
|
96
97
|
"tsc-alias": "^1.8.17",
|
|
97
98
|
"typescript": "^6.0.3",
|
|
98
|
-
"vitest": "^4.1.
|
|
99
|
+
"vitest": "^4.1.8"
|
|
99
100
|
}
|
|
100
101
|
}
|
package/server.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/obsidian-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.2.
|
|
9
|
+
"version": "3.2.4",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "obsidian-mcp-server",
|
|
15
15
|
"runtimeHint": "node",
|
|
16
|
-
"version": "3.2.
|
|
16
|
+
"version": "3.2.4",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{
|
|
19
19
|
"type": "positional",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
96
96
|
"identifier": "obsidian-mcp-server",
|
|
97
97
|
"runtimeHint": "node",
|
|
98
|
-
"version": "3.2.
|
|
98
|
+
"version": "3.2.4",
|
|
99
99
|
"packageArguments": [
|
|
100
100
|
{
|
|
101
101
|
"type": "positional",
|