For Obsidian (TypeScript + Bun) MCP Server

MCP server for Obsidian (TypeScript + Bun)

Local serverstdioTypeScript

What is the For Obsidian (TypeScript + Bun) MCP server?

For Obsidian (TypeScript + Bun) MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. MCP server for Obsidian (TypeScript + Bun).

What you get

There are two ways to pass the Obsidian API key to the server:

What the assistant can call

Once For Obsidian (TypeScript + Bun) is connected, these are the calls the assistant has available:

  • obsidian_status — Returns basic details about the Obsidian Local REST API server and your authentication status
  • obsidian_delete_active — Deletes the note that is currently active in the Obsidian UI
  • obsidian_get_active — Retrieves the full content of the active note (Markdown or JSON view)
  • obsidian_patch_active — Inserts, replaces or prepends content in the active note relative to a heading, block reference, or front-matter field
  • obsidian_post_active — Appends Markdown to the end of the active note
  • obsidian_put_active — Replaces the entire body of the active note
  • obsidian_get_commands — Lists every command available in Obsidian’s command palette
  • obsidian_execute_command — Executes a specific Obsidian command by its ID
  • obsidian_open_file — Opens the given file inside Obsidian (creates it if missing); optional flag to open in a new leaf
  • obsidian_delete_periodic — Deletes the current daily / weekly / monthly / quarterly / yearly note for the requested period
  • obsidian_get_periodic — Returns the content of the current periodic note for the requested period
  • obsidian_patch_periodic — Inserts / replaces content in a periodic note relative to a heading, block reference, or front-matter field

Configuration and credentials

You will need 2 environment variables: OBSIDIAN_API_KEY, OBSIDIAN_HOST. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Setting it up

@modelcontextprotocol/inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

Among the planning and project tracking options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. For Obsidian (TypeScript + Bun)'s toolset — obsidian_status, obsidian_delete_active, obsidian_get_active and 11 more — is a fair guide to whether it matches your workflow. It is maintained by fazer-ai; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch For Obsidian (TypeScript + Bun).
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the for obsidian (typescript + bun) mcp server does with a few real requests.

Available tools

ToolWhat it does
obsidian_statusReturns basic details about the Obsidian Local REST API server and your authentication status
obsidian_delete_activeDeletes the note that is currently active in the Obsidian UI
obsidian_get_activeRetrieves the full content of the active note (Markdown or JSON view)
obsidian_patch_activeInserts, replaces or prepends content in the active note relative to a heading, block reference, or front-matter field
obsidian_post_activeAppends Markdown to the end of the active note
obsidian_put_activeReplaces the entire body of the active note
obsidian_get_commandsLists every command available in Obsidian’s command palette
obsidian_execute_commandExecutes a specific Obsidian command by its ID
obsidian_open_fileOpens the given file inside Obsidian (creates it if missing); optional flag to open in a new leaf
obsidian_delete_periodicDeletes the current daily / weekly / monthly / quarterly / yearly note for the requested period
obsidian_get_periodicReturns the content of the current periodic note for the requested period
obsidian_patch_periodicInserts / replaces content in a periodic note relative to a heading, block reference, or front-matter field
obsidian_post_periodicAppends Markdown to the periodic note (creates it if it doesn’t exist)
obsidian_put_periodicReplaces the entire body of a periodic note

How to install the For Obsidian (TypeScript + Bun) MCP server

{
  "mcpServers": {
    "obsidian-fazer-ai": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/inspector"],
      "env": {
        "OBSIDIAN_API_KEY": "your-value",
        "OBSIDIAN_HOST": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
OBSIDIAN_API_KEYCredential the server authenticates with.Yes
OBSIDIAN_HOSTEndpoint or connection string the server talks to.Optional

Example prompts to try

  • Use For Obsidian (TypeScript + Bun) to obsidian status.
  • Use For Obsidian (TypeScript + Bun) to obsidian delete active.
  • Use For Obsidian (TypeScript + Bun) to obsidian get active.

Frequently asked questions

You can set the `OBSIDIAN_API_KEY` environment variable in your MCP client config (recommended) or place it in a `.env` file in the working directory.