ObsiScripta Bridge
БесплатноНе проверенEnables MCP-based operations on an Obsidian vault, including reading, editing, and custom script tools.
Описание
Enables MCP-based operations on an Obsidian vault, including reading, editing, and custom script tools.
README
ObsiScripta Bridge is a monorepo for an Obsidian plugin + stdio MCP bridge that enables MCP-based operations on your vault. It is designed to be script-extensible, so you can add your own custom tools with JavaScript/TypeScript.
[!IMPORTANT]
- Desktop Obsidian only (no mobile support).
- Script extensions run with full Obsidian API access and no sandbox.
- Bridge Protocol v1 has no authentication (kept for compatibility).
- MCP Standard endpoint requires API key authentication.
What you can do
- Use the MCP Standard HTTP API (JSON-RPC 2.0)
- Keep using the legacy Bridge Protocol v1 HTTP API for compatibility
- Run built-in note tools (read + edit operations)
- Add custom tools in JavaScript / TypeScript
- Hot-reload tools from
mcp-tools/
Monorepo layout
packages/obsidian-plugin/Obsidian plugin implementation (hosts the local HTTP server)packages/stdio-bridge/MCP stdio bridge (obsidian-mcpCLI), forwarding requests to the plugin HTTP serverpackages/shared/Shared types and protocol interfacesexamples/Script tool examplesdocs/Protocol and project documentation
Architecture overview
- The Obsidian plugin starts a local HTTP server.
- The stdio bridge connects to MCP clients (for example, Claude Desktop).
- The stdio bridge forwards requests to the plugin via HTTP.
- Tool execution is handled by built-in tools and/or script tools.
The stdio bridge supports three transport modes:
auto(default): prefer MCP Standard, then fall back to Bridge v1mcp: MCP Standard onlyv1: Bridge Protocol v1 only
Setup
Prerequisites
- Node.js (LTS recommended)
pnpm(this repository uses pnpm workspace)- Obsidian Desktop
Development
pnpm install
pnpm run dev
Then reload Obsidian and enable the plugin in Settings → Community plugins.
Build
pnpm run build
Common commands
Root (across packages)
pnpm run dev
pnpm run build
pnpm run lint
pnpm run test
pnpm run test:integration
Per package
pnpm --filter obsiscripta-bridge-plugin run dev
pnpm --filter obsiscripta-bridge-plugin run build
pnpm --filter obsiscripta-bridge-plugin run lint
pnpm --filter obsidian-mcp-bridge run dev
pnpm --filter obsidian-mcp-bridge run build
pnpm --filter obsidian-mcp-bridge run build:binary
pnpm --filter @obsiscripta/shared run build
Installation
Manual install
Copy the following files into your vault plugin directory:
<Vault>/.obsidian/plugins/obsidian-mcp/
main.js
manifest.json
styles.css
Install via BRAT
- Install and enable BRAT.
- Open Settings → BRAT → Add Beta plugin.
- Enter this repository URL (example:
https://github.com/daichi-629/obsidian-obsiscripta-mcp). - Go back to Settings → Community plugins and enable ObsiScripta Bridge.
Endpoints
The plugin exposes both protocols at the same time:
MCP Standard HTTP (recommended)
http://127.0.0.1:3000/mcp- JSON-RPC 2.0
- MCP specification 2025-03-26
- API key required (
X-ObsiScripta-Api-KeyorAuthorization: Bearer ...)
Bridge Protocol v1 (legacy compatibility)
http://127.0.0.1:3000/bridge/v1- Custom legacy HTTP API
- No authentication (for v1 compatibility)
See docs/protocol.md for details.
Claude Desktop configuration (stdio bridge)
- Open Settings → Community plugins → ObsiScripta Bridge in Obsidian.
- Confirm host/port in Connection info (example:
127.0.0.1:3000). - Create an MCP API key in plugin settings.
- Download the
obsidian-mcpbinary for your OS from the project distribution assets. - Add the server entry to your Claude Desktop MCP config:
{
"mcpServers": {
"obsidian": {
"command": "/path/to/obsidian-mcp",
"env": {
"OBSIDIAN_MCP_HOST": "127.0.0.1",
"OBSIDIAN_MCP_PORT": "3000",
"OBSIDIAN_MCP_API_KEY": "obsi_...",
"OBSIDIAN_MCP_TRANSPORT": "auto"
}
}
}
}
If you change the port, run Restart server in the plugin and update OBSIDIAN_MCP_PORT accordingly.
Script tools
By default, script tools are loaded from mcp-tools/ at your vault root (configurable in settings):
mcp-tools/
Minimal example:
export default {
// Tool name is derived from file path.
// mcp-tools/example_tool.js -> example_tool
// mcp-tools/utils/helper.js -> utils/helper
description: "Example custom tool",
inputSchema: {
type: "object",
properties: {
query: { type: "string" },
},
required: ["query"],
},
handler: async (args, context) => {
const files = context.vault.getMarkdownFiles();
return {
content: [{ type: "text", text: `Found ${files.length} files` }],
};
},
};
Notes:
- Relative imports resolve from the script file location.
- CommonJS
require(...)can also be used in script tools (Node built-ins likepath/fs, and local CommonJS files). - If Dataview is installed,
dv(Dataview API) is available. - If Templater is installed,
tp(Templater API) is available. - If Omnisearch is installed, the global
omnisearchAPI is available.
Detailed require example:
Place the following two files under mcp-tools/.
mcp-tools/require_example.js
export default {
description: "Exercise require-based module loading from a helper module.",
inputSchema: {
type: "object",
properties: {
name: { type: "string" },
},
},
handler: async (args) => {
const helper = require("./require-helper");
const message = typeof helper?.buildMessage === "function"
? helper.buildMessage(args?.name)
: "require helper missing buildMessage";
return {
content: [
{
type: "text",
text: message,
},
],
};
},
};
mcp-tools/require-helper.js
const buildMessage = (name) => {
const value = typeof name === "string" && name.trim() ? name.trim() : "world";
return `require-ok: hello ${value}`;
};
module.exports = {
buildMessage,
};
Example input:
{ "name": "Obsidian" }
Example output (content[0].text):
require-ok: hello Obsidian
Examples:
examples/dataview-example.jsexamples/templater-example.jsexamples/omnisearch-example.js
Testing
pnpm run test
pnpm run test:integration
Integration tests are organized under packages/integration-tests.
References
- Obsidian API docs: https://docs.obsidian.md
Установка ObsiScripta Bridge
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/daichi-629/obsidian-obsiscripta-mcpFAQ
ObsiScripta Bridge MCP бесплатный?
Да, ObsiScripta Bridge MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для ObsiScripta Bridge?
Нет, ObsiScripta Bridge работает без API-ключей и переменных окружения.
ObsiScripta Bridge — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить ObsiScripta Bridge в Claude Desktop, Claude Code или Cursor?
Открой ObsiScripta Bridge на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare ObsiScripta Bridge with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
