Skip to main content
Glama

Obsidian MCP Server

Apache 2.0
338
222
  • Apple
  • Linux
activeFileMethods.ts2.73 kB
/** * @module ActiveFileMethods * @description * Methods for interacting with the currently active file in Obsidian via the REST API. */ import { RequestContext } from "../../../utils/index.js"; import { NoteJson, RequestFunction } from "../types.js"; /** * Gets the content of the currently active file in Obsidian. * @param _request - The internal request function from the service instance. * @param format - 'markdown' or 'json' (for NoteJson). * @param context - Request context. * @returns The file content (string) or NoteJson object. */ export async function getActiveFile( _request: RequestFunction, format: "markdown" | "json" = "markdown", context: RequestContext, ): Promise<string | NoteJson> { const acceptHeader = format === "json" ? "application/vnd.olrapi.note+json" : "text/markdown"; return _request<string | NoteJson>( { method: "GET", url: `/active/`, headers: { Accept: acceptHeader }, }, context, "getActiveFile", ); } /** * Updates (overwrites) the content of the currently active file. * @param _request - The internal request function from the service instance. * @param content - The new content. * @param context - Request context. * @returns {Promise<void>} Resolves on success (204 No Content). */ export async function updateActiveFile( _request: RequestFunction, content: string, context: RequestContext, ): Promise<void> { await _request<void>( { method: "PUT", url: `/active/`, headers: { "Content-Type": "text/markdown" }, data: content, }, context, "updateActiveFile", ); } /** * Appends content to the end of the currently active file. * @param _request - The internal request function from the service instance. * @param content - The content to append. * @param context - Request context. * @returns {Promise<void>} Resolves on success (204 No Content). */ export async function appendActiveFile( _request: RequestFunction, content: string, context: RequestContext, ): Promise<void> { await _request<void>( { method: "POST", url: `/active/`, headers: { "Content-Type": "text/markdown" }, data: content, }, context, "appendActiveFile", ); } /** * Deletes the currently active file. * @param _request - The internal request function from the service instance. * @param context - Request context. * @returns {Promise<void>} Resolves on success (204 No Content). */ export async function deleteActiveFile( _request: RequestFunction, context: RequestContext, ): Promise<void> { await _request<void>( { method: "DELETE", url: `/active/`, }, context, "deleteActiveFile", ); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/obsidian-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server