markdown-publish
Automatically builds and deploys the vault to GitHub Pages using a GitHub Actions workflow.
Enables hosting the published vault on GitHub Pages and reading the notes from the site through the MCP server.
Allows publishing an Obsidian vault to a static website and querying its notes via an AI agent.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@markdown-publishsearch my notes for project ideas"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
markdown-publish — Claude Code plugin
Publish your Obsidian / Markdown vault as a website in one chat — then read it back through AI.
This plugin bundles two things that work together:
What it does | |
🚀 | Tell Claude "publish my vault" and it ships your notes to GitHub Pages — in your own account, for free. |
🔌 MCP server | Point any MCP client (Claude Desktop, Cursor, Claude Code) at your published site so the AI can |
Both are powered by the markdown-publish
static-site engine: an Obsidian vault → a fast, searchable site with backlinks,
a knowledge graph, and canvas boards.
Install
From Claude Code:
/plugin marketplace add abstractwebunit/markdown-publish-plugin
/plugin install markdown-publishThat gives you the /publish-vault skill and the markdown-publish MCP server.
Related MCP server: EzRAG MCP Server
1. Publish a vault — the publish-vault skill
You: publish my Obsidian vault at
~/Notes
Claude walks you through it and always shows a plain-language summary before anything is created:
Готов опубликовать твой vault. Вот что получится:
📁 Заметки из: /home/me/Notes
🌐 Адрес сайта: https://me.github.io/notes/
📦 Репозиторий: github.com/me/notes (публичный, создам новый)
🏷 Название: Notes
🌍 Язык: ru
Публикуем? (да / изменить / отмена)Say да and it:
validates the build locally (catches a broken vault early),
creates a new public GitHub repo in your account,
commits your vault + a GitHub Actions workflow,
enables GitHub Pages and waits for the build,
hands you the live URL.
Everything runs under your GitHub login — no backend, no cost, you own it.
Requirements: the gh CLI installed and
authenticated (gh auth login).
2. Read your notes from AI — the MCP server
Once your vault is live (or even a local build), connect it to an AI client by setting one environment variable to your site:
MARKDOWN_PUBLISH_SOURCE = https://me.github.io/notes/It also accepts a local directory (a built site / bundle root) so you can query notes before publishing:
MARKDOWN_PUBLISH_SOURCE = /path/to/built-siteNow the AI has four tools over your vault:
Tool | Description |
| Keyword search → title, slug, url, snippet |
| Full markdown of one note + its backlinks |
| Every note (title, slug, url) |
| What links to this note |
You: what did I write about dopamine in my notes?
Claude: (calls
search_notes("dopamine")→get_note(...)) In your note "Habits & Reward" you wrote… [links to your real notes]
Manual MCP config (without the plugin)
The server is a single zero-dependency Node file. Any MCP client config:
{
"mcpServers": {
"markdown-publish": {
"command": "node",
"args": ["/path/to/markdown-publish-plugin/mcp/server.mjs"],
"env": { "MARKDOWN_PUBLISH_SOURCE": "https://me.github.io/notes/" }
}
}
}You can also pass the source as a flag: node mcp/server.mjs --source <url|dir>.
How it fits together
~/Notes ──/publish-vault──▶ github.com/you/notes ──Actions──▶ GitHub Pages
(vault) (skill) (your repo) (engine) (live site)
│
content/*.json bundle
│
MARKDOWN_PUBLISH_SOURCE ──▶ MCP server
│
Claude Desktop / Cursor / Claude CodeThe published site emits a machine-readable content/ bundle
(search-index.json, notes/<slug>.json, graph.json). The MCP server reads
exactly those files — over HTTP for a published site, or from disk for a local
build.
Links
Engine & CLI: github.com/abstractwebunit/markdown-publish
Docs (6 languages): abstractwebunit.github.io/markdown-publish-docs
Starter template: github.com/abstractwebunit/markdown-publish-template
License
MIT. Not affiliated with Obsidian.MD.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Personal context for every AI: search, read, and write back to your private Markdown library.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to read, write, search, and navigate Obsidian vault notes with support for CRUD operations, full-text search, graph navigation, daily notes, and frontmatter management.2,778 npm-
- AlicenseNot gradedqualityDmaintenanceProvides semantic search and keyword search over Obsidian notes, along with direct note retrieval, allowing external AI agents to query and access the vault.19BSD Zero Clause
- AlicenseAqualityDmaintenanceEnables AI assistants to search, read, and traverse Markdown note vaults (Obsidian-compatible) with full-text search, backlinks, knowledge graphs, and a persistent memory system for cross-session context.168 npm2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and search Obsidian notes, folders, metadata, and links directly.-