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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.3,512 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.1613 npm4MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and search Obsidian notes, folders, metadata, and links directly.-