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>
This commit is contained in:
@@ -144,8 +144,11 @@ export const moveRenameSchema = z.intersection(
|
||||
// Search parameters
|
||||
export const searchSchema = z.object({
|
||||
query: z.string().min(1, 'Search query cannot be empty'),
|
||||
folder: optionalStringSchema,
|
||||
limit: z.number().int().positive().max(1000).optional(),
|
||||
caseSensitive: booleanFlagSchema.optional(),
|
||||
contextLines: z.number().int().positive().max(10).optional(),
|
||||
...formatSchema.shape,
|
||||
...paginationSchema.shape,
|
||||
});
|
||||
|
||||
// Tag search parameters
|
||||
|
||||
Reference in New Issue
Block a user