784dbe7a3e
refactor: remove User Stories 4 and 5 from specification
...
Removed User Stories 4 (Vault Navigation) and 5 (Advanced Features)
from the project scope to focus on core functionality:
Scope Changes:
- spec.md: Removed US4 and US5 user stories and acceptance scenarios
- spec.md: Removed FR-008 through FR-015 (daily notes, templates,
bookmarks, plugins, themes, file/folder listing)
- spec.md: Renumbered remaining FRs sequentially (FR-009 through FR-019)
- spec.md: Updated success criteria SC-006 to reflect targeted scope
- tasks.md: Removed Phase 6 (US4, 18 tasks) and Phase 7 (US5, 67 tasks)
- tasks.md: Renamed Phase 8 to Phase 6 (Polish)
- tasks.md: Updated tool counts from 95 to 20 tools
- tasks.md: Updated total tasks from 165 to 98 tasks
Remaining Scope (3 User Stories):
- US1 (P1): File Operations - 9 tools ✅ Complete
- US2 (P2): Search & Discovery - 11 tools ✅ Complete
- US3 (P3): Task & Property Management - 18 tasks pending
Rationale:
- Focus on foundational workflows (file operations, search, tasks)
- Reduce complexity and maintenance surface area
- Ship a solid core feature set rather than comprehensive coverage
- US4/US5 can be added later if needed
Impact:
- Reduced task count by 67 tasks (40% reduction)
- Simplified dependency tree (3 user stories vs 5)
- Faster path to production-ready bundle
- Clearer MVP definition
Files changed:
- specs/001-obsidian-mcp-bundle/spec.md
- specs/001-obsidian-mcp-bundle/tasks.md
Build: ✅ (no code changes, spec only)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 12:53:17 -05:00
c577c07877
refactor: update search tool to match Obsidian CLI spec
...
Removed obsidian_search_with_context tool (not in CLI spec)
Updated obsidian_search to use exact CLI parameter names:
- query (required) - Search query text
- path (optional) - Limit search to folder path
- limit (optional) - Max number of files to return
- total (optional) - Return match count instead of file list
- case (optional) - Case sensitive search
- format (optional) - Output format: text or json (default: text)
Changed parameter names to match CLI:
- folder → path
- caseSensitive → case
- Added: total flag for match counts
- Removed: contextLines (not in CLI)
Files updated:
- src/tools/search.ts: Simplified to single search tool
- src/validation/schemas.ts: Updated searchSchema parameters
- manifest.json: Removed search_with_context, updated description
- tasks.md: Marked T048 as REMOVED
Total tools: 20 (was 21)
- User Story 1: 9 tools
- User Story 2: 11 tools (was 12)
Build: ✅ 0 errors
Validation: ✅ Manifest passes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 12:26:17 -05:00
a978d70b3f
feat: implement User Story 2 - Search and Discovery (P2)
...
Implemented 12 new MCP tools for search and knowledge graph navigation:
Search Tools (2):
- obsidian_search: Content search with folder filtering and case sensitivity
- obsidian_search_with_context: Search with surrounding context lines
Link Tools (5):
- obsidian_get_backlinks: Show incoming links to a note
- obsidian_get_outgoing_links: Show outgoing links from a note
- obsidian_list_unresolved_links: Find broken wikilinks
- obsidian_list_deadends: Find notes with no outgoing links
- obsidian_list_orphans: Find notes with no incoming links
Tag & Alias Tools (3):
- obsidian_list_tags: List all tags with optional counts
- obsidian_get_tag_info: Detailed tag usage information
- obsidian_list_aliases: List note aliases
Property Discovery Tools (2):
- obsidian_list_properties: List all vault properties
- obsidian_get_property_count: Get property usage counts
New files created:
- src/tools/search.ts (2 tools)
- src/tools/links.ts (5 tools)
- src/tools/tags-aliases.ts (3 tools)
- src/tools/properties.ts (2 tools)
Updated:
- src/tools/index.ts: Register all new tool modules
- src/validation/schemas.ts: Enhanced searchSchema with new parameters
- manifest.json: Added 12 new tools to tools array (21 total)
- tasks.md: Marked T046-T063 complete (18 tasks)
Build: ✅ 0 errors
Validation: ✅ Manifest passes
Total tools: 21 (9 US1 + 12 US2)
Tasks complete: 70/167 (41.9%)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 12:08:30 -05:00
edb03263ac
feat: add tools list to manifest.json
...
- Add all 9 file operation tools to manifest tools array
- Each tool includes name and descriptive documentation
- Tools list helps MCP hosts discover available capabilities
- Manifest still passes mcpb validation
Tools listed:
- obsidian_create_note
- obsidian_read_note
- obsidian_append_to_note
- obsidian_prepend_to_note
- obsidian_delete_note
- obsidian_move_note
- obsidian_rename_note
- obsidian_open_note
- obsidian_get_file_info
Task T152 marked complete
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 11:55:20 -05:00
c5e42adac0
fix: correct manifest.json to pass MCPB validation
...
- Add required 'version' field (1.0.0)
- Change 'author' from string to object with name/url
- Move 'mcp_config' inside 'server' object
- Fix 'user_config' to use proper field-level structure
- Remove invalid 'compatibility' and 'capabilities' top-level fields
- Create bundle icon (512x512 PNG) to satisfy icon requirement
- Remove icon placeholder file
Validation: ✅ mcpb validate passes with warnings only
Tasks: T149 (icon), T158 (validate), T159 (build) marked complete
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 11:33:16 -05:00
622b28e42c
feat: implement Obsidian MCP Bundle MVP (Phase 1-3)
...
- Complete project setup with TypeScript, Jest, MCPB manifest
- Implement foundational infrastructure (CLI executor, logger, error handler)
- Add 9 file operation tools for User Story 1
- Full MCP protocol compliance with stdio transport
- Input validation and sanitization for security
- Comprehensive error handling with actionable messages
- Constitutional compliance: all 6 principles satisfied
MVP includes:
- obsidian_create_note, read, append, prepend, delete, move, rename, open, file_info
- Zod validation schemas for all parameters
- 30s timeout configuration with per-command overrides
- Stderr-only logging with sanitized output
- Graceful shutdown handling
Build: ✅ 0 errors, 0 vulnerabilities
Tasks: 48/167 complete (MVP milestone)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-22 11:21:38 -05:00