9.3 KiB
9.3 KiB
Changelog
All notable changes to the Obsidian MCP Bundle will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2026-03-22
Added
File Operations (User Story 1)
obsidian_create_note- Create new notes with optional content and frontmatter propertiesobsidian_read_note- Read note content by filename or pathobsidian_append_to_note- Append content to existing notesobsidian_prepend_to_note- Prepend content to existing notesobsidian_delete_note- Delete notes from vaultobsidian_move_note- Move notes to different foldersobsidian_rename_note- Rename note filesobsidian_open_note- Open notes in Obsidian application
Search & Discovery (User Story 2)
obsidian_search- Full-text search with query filters, path scoping, case sensitivity, and format options (text/json)obsidian_get_backlinks- Find all notes linking to a specific noteobsidian_list_outgoing_links- List all links from a note to other notesobsidian_list_unresolved_links- Identify broken/non-existent links across vaultobsidian_list_tags- List all tags in vault or specific noteobsidian_search_by_tag- Find notes containing specific tagsobsidian_get_tag_count- Count usage of specific tagsobsidian_list_aliases- List all aliases in vault or per noteobsidian_list_properties- List all frontmatter properties used in vaultobsidian_get_property_count- Count usage of specific properties
Task Management (User Story 3)
obsidian_list_tasks- List tasks with filtering by status, file, path, tags; supports multiple output formatsobsidian_toggle_task- Toggle task completion status between done and todoobsidian_mark_task_done- Mark tasks as completedobsidian_mark_task_todo- Mark tasks as incompleteobsidian_update_task_status- Set custom task status characters (-, >, !, ?, etc.)
Property Management (User Story 3)
obsidian_get_property- Read single property value from a fileobsidian_set_property- Set or update frontmatter properties with type specificationobsidian_remove_property- Remove properties from files
Infrastructure
- MCP Protocol: Full compliance with Model Context Protocol via @modelcontextprotocol/sdk
- MCPB Bundle: Conforms to MCPB specification v0.3 with complete manifest
- Validation: Zod schemas for all tool inputs with runtime type checking
- Error Handling: Consistent error responses with actionable messages
- Security: Input sanitization and parameter validation for all tools
- Timeout Management: 30-second timeout for CLI operations
- Parameter Quoting: Automatic quoting for filenames/values containing spaces
- Logging: stderr-only logging with sensitive data sanitization
Technical Details
- TypeScript: Fully typed codebase with strict mode enabled
- Node.js: ES2022 module format with ESNext target
- Transport: stdio JSON-RPC for MCP communication
- CLI Integration: Wrapper for Obsidian CLI with proper parameter formatting
- Bundle Format: .mcpb packaging with manifest, icons, and compiled code
Documentation
- Complete README with installation instructions for Claude Desktop extensions
- Manifest with detailed tool descriptions and parameter schemas
- Input validation and error documentation
- Development and testing guidelines
Quality
- Zero TypeScript compilation errors
- MCPB manifest validation passes
- All tools tested with Obsidian CLI
- Comprehensive input schema definitions
- Security audit of parameter handling
1.1.6 - 2026-04-30
Fixed
obsidian_create_noteparameter semantics: Fixed issue #8 where ambiguouspathdescription led callers to pass the full file path (including filename) inpath, causing the CLI to misbehave and theoverwriteflag to auto-suffix filenames instead of replacing themnameis now clearly documented as the filename only (e.g."My Note.md")pathis now clearly documented as the folder only (e.g."Projects/Work") — never include the filename- Added
required: ['name']to the input schema
1.1.5 - 2026-04-28
Fixed
- Mermaid Arrows and HTML Preserved: Fixed issue #7 where
<and>were being stripped from note content, breaking Mermaid diagram connectors (->>,-->,<|,>>) and HTML tags<and>are only meaningful as shell redirects at the command level — inside double-quoted strings (how all values are passed) they are completely inert- Removed from
DANGEROUS_CHARSin bothsanitizeStringandsanitizePath
1.1.4 - 2026-04-28
Fixed
- Markdown Code Fence Preservation: Fixed issue #6 where backticks were being stripped from note content, destroying Markdown code fences (
```)- Backticks are now escaped as
\`inside double-quoted CLI parameter strings instead of being removed - This preserves code fences and inline code in note content while still preventing shell command substitution via backticks
- Affects all tools that pass content: create, append, prepend, etc.
- Backticks are now escaped as
1.1.3 - 2026-04-17
Fixed
- Large File Chunking: Fixed issue #5 where reading large files (e.g. PDFs) caused a "Tool result is too large" error in Claude Desktop
obsidian_read_notenow returns at most 50,000 characters by default (configurable up to 500,000)- New
max_charsparameter caps the number of characters returned per call (default: 50000, max: 500000) - New
offsetparameter enables pagination — pass the offset from the truncation message to read the next chunk - When truncated, the response includes a message stating the total size and the exact
offsetto use for the next call
Documentation
- Obsidian Must Be Running: Clarified in README (issue #4) that the Obsidian application must be open and running before any MCP tools are used
- Added prominent callout in Prerequisites section
- Expanded Troubleshooting entry with explanation of root cause and fix
1.1.2 - 2026-04-14
Fixed
- Ampersand in Filenames: Fixed issue #2 where files with
&in their names (e.g., "Research & Development.md") were causing search and file-not-found errors- Single ampersands are now preserved in filenames and paths
- Security maintained: Dangerous
&&command operators are still blocked by injection pattern detection - Also preserves parentheses
(), brackets[], and braces{}which are safe in quoted CLI arguments - Affects all file operations and search tools
1.1.1 - 2026-04-10
Fixed
- Quote Escaping: Fixed critical bug where note content was being truncated when containing double quotes
- Content like
"Bot QM"is now properly escaped and passed to the CLI without truncation - Internal double quotes are escaped as
\"before being wrapped in parameter quotes - Prevents shell from misinterpreting quote boundaries in parameter values
- Affects all tools that pass content: create, append, prepend, search queries, etc.
- Content like
1.1.0 - 2026-04-10
Fixed
- Square Brackets Preservation: Fixed critical bug where square brackets
[and]were being removed from note content during sanitization- Wikilinks (
[[link]]) now work correctly when creating or modifying notes - Task checkboxes (
- [ ] Taskand- [x] Done) are properly preserved - Array notation and date formats with brackets are no longer corrupted
- Security: Square brackets are safe because parameter values are quoted and passed as array arguments to the CLI
- All dangerous shell metacharacters (
;,|,$(), backticks, etc.) are still properly blocked
- Wikilinks (
[Unreleased]
Planned
- Additional vault navigation tools (User Story 4 - deferred)
- Advanced features like templates and daily notes (User Story 5 - deferred)
- Performance optimizations for large vaults
- Expanded test coverage
- Multi-vault support enhancements
Version History
- 1.1.6 - Bug fix release: Clarify
namevspathsemantics inobsidian_create_note(fixes #8) - 1.1.5 - Bug fix release: Preserve
<and>in note content for Mermaid/HTML (fixes #7) - 1.1.4 - Bug fix release: Preserve Markdown code fences (fixes #6)
- 1.1.3 - Bug fix release: Large file chunking for obsidian_read_note; docs clarification for Obsidian must be running (fixes #4, #5)
- 1.1.2 - Bug fix release: Ampersand support in filenames (fixes #2)
- 1.1.1 - Bug fix release: Quote escaping in note content
- 1.1.0 - Bug fix release: Square brackets preservation in note content
- 1.0.0 - Initial release with 28 MCP tools across 3 user stories
- File Operations (8 tools)
- Search & Discovery (12 tools)
- Task & Property Management (8 tools)