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 "Install 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: Obsidian Tools 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/abstractwebunit/markdown-publish-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server