MCP server for Obsidian (TypeScript + Bun)
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).
There are two ways to pass the Obsidian API key to the server:
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 statusobsidian_delete_active — Deletes the note that is currently active in the Obsidian UIobsidian_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 fieldobsidian_post_active — Appends Markdown to the end of the active noteobsidian_put_active — Replaces the entire body of the active noteobsidian_get_commands — Lists every command available in Obsidian’s command paletteobsidian_execute_command — Executes a specific Obsidian command by its IDobsidian_open_file — Opens the given file inside Obsidian (creates it if missing); optional flag to open in a new leafobsidian_delete_periodic — Deletes the current daily / weekly / monthly / quarterly / yearly note for the requested periodobsidian_get_periodic — Returns the content of the current periodic note for the requested periodobsidian_patch_periodic — Inserts / replaces content in a periodic note relative to a heading, block reference, or front-matter fieldYou 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.
@modelcontextprotocol/inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
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.
| Tool | What it does |
|---|---|
| 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 |
| obsidian_post_periodic | Appends Markdown to the periodic note (creates it if it doesn’t exist) |
| obsidian_put_periodic | Replaces the entire body of a periodic note |
{
"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.
| Variable | Description | Required |
|---|---|---|
| OBSIDIAN_API_KEY | Credential the server authenticates with. | Yes |
| OBSIDIAN_HOST | Endpoint or connection string the server talks to. | Optional |
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.