obsidian-mcp-server
Version:
MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.
33 lines • 1.95 kB
TypeScript
/**
* @fileoverview obsidian_open_in_ui — open a file in the Obsidian app UI.
* Defaults to `failIfMissing: true` because Obsidian silently creates files on
* open otherwise; opt out for an "open or create" flow.
* @module mcp-server/tools/definitions/obsidian-open-in-ui.tool
*/
import { z } from '@cyanheads/mcp-ts-core';
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
export declare const obsidianOpenInUi: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
path: z.ZodString;
failIfMissing: z.ZodDefault<z.ZodBoolean>;
newLeaf: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
path: z.ZodString;
opened: z.ZodBoolean;
createdIfMissing: z.ZodBoolean;
}, z.core.$strip>, readonly [{
readonly reason: "path_forbidden";
readonly code: JsonRpcErrorCode.Forbidden;
readonly when: "The target path is outside OBSIDIAN_READ_PATHS (and OBSIDIAN_WRITE_PATHS, since write paths imply read access).";
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope.";
}, {
readonly reason: "note_missing";
readonly code: JsonRpcErrorCode.NotFound;
readonly when: "`failIfMissing: true` (default) and the path does not exist in the vault. Pass `failIfMissing: false` to allow Obsidian to create the file on open.";
readonly recovery: "Verify the path with obsidian_list_notes or obsidian_search_notes first — a typo would otherwise materialize as an empty file. If creation is intended, retry with failIfMissing: false.";
}, {
readonly reason: "ambiguous_path";
readonly code: JsonRpcErrorCode.Conflict;
readonly when: "The parent directory contains multiple files whose names differ only in case (case-sensitive filesystems only).";
readonly recovery: "Retry with one of the exact paths listed in `matches` on the error data.";
}], undefined>;
//# sourceMappingURL=obsidian-open-in-ui.tool.d.ts.map