UNPKG

obsidian-mcp-server

Version:

Obsidian Knowledge-Management MCP (Model Context Protocol) server that enables AI agents and development tools to interact with an Obsidian vault. It provides a comprehensive suite of tools for reading, writing, searching, and managing notes, tags, and fr

78 lines (77 loc) 3.04 kB
import { z } from "zod"; import { ObsidianRestApiService } from "../../../services/obsidianRestAPI/index.js"; import { VaultCacheService } from "../../../services/obsidianRestAPI/vaultCache/index.js"; import { RequestContext } from "../../../utils/index.js"; declare const ObsidianGlobalSearchInputSchema: z.ZodObject<{ query: z.ZodString; searchInPath: z.ZodOptional<z.ZodString>; contextLength: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; modified_since: z.ZodOptional<z.ZodString>; modified_until: z.ZodOptional<z.ZodString>; useRegex: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; caseSensitive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; maxMatchesPerFile: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { caseSensitive: boolean; query: string; contextLength: number; useRegex: boolean; pageSize: number; page: number; maxMatchesPerFile: number; searchInPath?: string | undefined; modified_since?: string | undefined; modified_until?: string | undefined; }, { query: string; caseSensitive?: boolean | undefined; searchInPath?: string | undefined; contextLength?: number | undefined; modified_since?: string | undefined; modified_until?: string | undefined; useRegex?: boolean | undefined; pageSize?: number | undefined; page?: number | undefined; maxMatchesPerFile?: number | undefined; }>; export declare const ObsidianGlobalSearchInputSchemaShape: { query: z.ZodString; searchInPath: z.ZodOptional<z.ZodString>; contextLength: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; modified_since: z.ZodOptional<z.ZodString>; modified_until: z.ZodOptional<z.ZodString>; useRegex: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; caseSensitive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; maxMatchesPerFile: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; }; export type ObsidianGlobalSearchInput = z.infer<typeof ObsidianGlobalSearchInputSchema>; export interface MatchContext { context: string; matchText?: string; position?: number; } export interface GlobalSearchResult { path: string; filename: string; matches: MatchContext[]; modifiedTime: string; createdTime: string; numericMtime: number; } export interface ObsidianGlobalSearchResponse { success: boolean; message: string; results: GlobalSearchResult[]; totalFilesFound: number; totalMatchesFound: number; currentPage: number; pageSize: number; totalPages: number; alsoFoundInFiles?: string[]; } export declare const processObsidianGlobalSearch: (params: ObsidianGlobalSearchInput, context: RequestContext, obsidianService: ObsidianRestApiService, vaultCacheService: VaultCacheService | undefined) => Promise<ObsidianGlobalSearchResponse>; export {};