Releases: cyanheads/obsidian-mcp-server
v3.2.8: Install-deeplink fix, description normalization, mcp-ts-core ^0.10.9
Install-deeplink fix, description normalization, mcp-ts-core ^0.10.9
Fixed:
- Cursor & VS Code install badges passed the scoped
@cyanheads/obsidian-mcp-serverarg; this package publishes unscoped, so the scoped arg 404s on install. Both deeplinks now useobsidian-mcp-server.
Changed:
- Package descriptions normalized to one phrasing across
package.json,manifest.json,server.json, README, Dockerfile OCI label, and both plugin manifests. @cyanheads/mcp-ts-core^0.10.6 → ^0.10.9 adopts thecheck-dependency-specifiersdevcheck step,lint:packagingplugin-marketplace checks (gated bydevcheck.config.jsonpackaging.pluginManifests), and fresh-scaffold git-guard fixes.- 14 project skills synced to their mcp-ts-core 0.10.7–0.10.9 versions.
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.6 → ^0.10.9undici^8.4.1 → ^8.5.0@biomejs/biome^2.4.16 → ^2.5.0@types/node^25.9.3 → ^26.0.0vitest^4.1.8 → ^4.1.9
403 tests pass; bun run devcheck clean.
v3.2.7: mcp-ts-core ^0.10.6 adoption, post-pack bundle cleaner, packaging linter checks 8-9
mcp-ts-core ^0.10.6 adoption, post-pack bundle cleaner, packaging linter checks 8-9
Adopts mcp-ts-core 0.10.6: adds a post-pack bundle cleaner that strips dependency-shipped agent docs from .mcpb bundles, and two new packaging linter checks — check 8 guards bundle content post-build, check 9 validates name/title identity in createApp() and manifest.json.
Changed:
@cyanheads/mcp-ts-core^0.10.5 → ^0.10.6bundlescript appendsscripts/clean-mcpb.tsaftermcpb pack— prunes dev deps and strips agent-doc entries that .mcpbignore cannot reachsrc/index.ts— adds explicitname: 'obsidian-mcp-server'to complete the createApp() identity pair (check 9)scripts/lint-packaging.ts— adopted updated version with checks 8 and 9scripts/clean-mcpb.ts(new) — post-pack bundle cleaner from mcp-ts-core 0.10.6skills/orchestrationsv1.3,skills/polish-docs-metav2.7 — synced from framework
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.5 → ^0.10.6
403 tests pass; bun run devcheck clean.
v3.2.6: Explicit server title for MCP initialize serverInfo
Explicit server title for MCP initialize serverInfo
Passes title: 'obsidian-mcp-server' to createApp() so MCP clients
display the server's machine name in initialize serverInfo instead
of falling back to the package name.
Fixed:
- createApp() title — explicit
title: 'obsidian-mcp-server'sets the display name in MCPinitializeserverInfo.
403 tests pass; bun run devcheck clean.
v3.2.5: strict env-booleans, empty-string URL guards, server identity fields, OMNISEARCH_URL in manifests
strict env-booleans, empty-string URL guards, server identity fields, OMNISEARCH_URL in manifests
Adopts mcp-ts-core ^0.10.5 and tightens configuration parsing.
Changed:
- Env-boolean parsing strict:
OBSIDIAN_VERIFY_SSL,OBSIDIAN_ENABLE_COMMANDS,OBSIDIAN_READ_ONLYnow usez.stringbool()— unrecognized values (e.g.maybe) throw aConfigurationErrorat startup instead of silently coercing tofalse;yes/onnow parse truthy. - Empty-string URL guards: blank MCPB config fields for
OBSIDIAN_BASE_URLandOBSIDIAN_OMNISEARCH_URLfall back to defaults instead of failing.url()validation at startup. - Server identity on initialize + /.well-known/mcp.json:
descriptionandwebsiteUrlpassed tocreateApp(), consistent withserver.json. OBSIDIAN_OMNISEARCH_URLdeclared inserver.jsonandmanifest.json: install scaffolds now include the override;manifest.jsonoptionaluser_configentries gaindefault: ""..mcpbignorepatterns anchored to root:/skills/,/.agents/,/.claude/, etc. — prevents accidental matching of nested runtime paths.
Dependency bumps:
@cyanheads/mcp-ts-core^0.9.21 → ^0.10.5undici8.3.0 → 8.4.1@types/node^25.9.1 → ^25.9.3
403 tests pass; bun run devcheck clean.
v3.2.4: mcp-ts-core ^0.9.16 → ^0.9.21; plugin marketplace manifests; MCP config key rename
mcp-ts-core ^0.9.16 → ^0.9.21; plugin marketplace manifests; MCP config key rename
Picks up five framework releases: per-request HTTP log context fix, ctx.fail retryable auto-population, fetchWithTimeout query-string redaction, error-contract lint scoped to construction sites, list-changed notifications under HTTP, MirrorService, two new devcheck gates. Adds plugin marketplace manifests for Claude Code and Codex. Renames the MCP client config key from 'obsidian' to 'obsidian-mcp-server'.
Added:
- Plugin marketplace manifests — .claude-plugin/plugin.json (Claude Code) and .codex-plugin/plugin.json + mcp.json (Codex)
- release:github script — constructs GitHub Release title from tag subject, attaches .mcpb bundle
- api-mirror skill — MirrorService / SQLite+FTS5 API reference (mcp-ts-core 0.9.17)
- orchestrations skill — gated multi-phase pipeline chains (mcp-ts-core 0.9.19, external in 0.9.21)
Changed:
- MCP client config key renamed from obsidian to obsidian-mcp-server in README install snippets
- 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)
- scripts/devcheck.ts updated with skill-version and open-indexed-named interface gates
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.9.16 → ^0.9.21
- js-yaml ^4.1.1 → ^4.2.0
- vitest ^4.1.7 → ^4.1.8 (dev)
398 tests pass; bun run devcheck clean.
v3.2.3: Enrichment block on search/list tools; mcp-ts-core ^0.9.16; AGENTS.md
Enrichment block on search/list tools; mcp-ts-core ^0.9.16; AGENTS.md
obsidian_search_notes, obsidian_list_notes, and obsidian_list_tags now emit an
enrichment block with agent-facing context (effectiveQuery echo, no-results and
empty-set notices). Redundant hardcoded guidance removed from format().
Added:
- Enrichment block on obsidian_search_notes (effectiveQuery + no-results notice), obsidian_list_notes (empty/capped notice), obsidian_list_tags (empty notice)
- AGENTS.md at repo root — byte-identical to CLAUDE.md, for agent runtimes that prefer that filename
- skills/code-simplifier and skills/git-wrapup synced from framework 0.9.15
- MCP_HTTP_MAX_BODY_BYTES documented in .env.example
Changed:
- Redundant empty-state guidance removed from format() on the three tools above
- format script made safe-by-default; unsafe autofixes moved to format:unsafe
- .mcpbignore now excludes skills/ and .agents/
- server.json description aligned to other surfaces
- skills/migrate-mcp-ts-template removed (pruned upstream)
- Remaining skills and framework scripts resynced from mcp-ts-core 0.9.15
- README.md MCP spec version updated to 2025-11-25
- manifest.json gains repository/homepage/license fields
- package.json keywords trimmed (llm, llm-agent removed)
- Install badge configs normalized
Dependency bumps:
@cyanheads/mcp-ts-core^0.9.6 → ^0.9.16@biomejs/biome^2.4.15 → ^2.4.16
398 tests pass; bun run devcheck clean.
v3.2.2: mcp-ts-core ^0.9.1 → ^0.9.6, format-parity fixes, MCPB bundle support
Framework refresh with format-parity fixes on search_notes and get_note, plus MCPB bundle scaffolding.
Changed:
@cyanheads/mcp-ts-core^0.9.1 → ^0.9.6obsidian_search_notesformat() now includeslogicandqueryfields in content[]obsidian_get_noteformat() now includespathandformatfields
Added:
- MCPB bundle support —
manifest.json+.mcpbignorescaffolded - Install badges (MCPB, VS Code)
bun run devcheck clean.