Labsco
MCP SERVER

Obsidian GitHub MCP

by Hint-Services

Reads an Obsidian vault that lives in a GitHub repository — search it, open a note, and follow how it changed over time.

Note-Taking & Personal Knowledge BasesVerified
Summary
If your vault already lives in GitHub, this reads it where it is — no sync, no local copy, no running app.

The searchIn parameter is the thing to learn first: a content search for 'OKR 2025' will not find a file called OKR 2025.md, so pass searchIn: filename when you are after a note by name. Because everything rides on GitHub's search index, a large repository can fall outside what GitHub indexes — run diagnoseSearch when results come back empty and the query looked right.

What it is

A read-only bridge between an AI client and a GitHub-hosted Obsidian vault. Everything goes through the GitHub API, so nothing has to be checked out locally and Obsidian never has to be open.

What you get
  • getFileContents to read one note, document or file from the vault by path
  • searchFiles with a searchIn mode that decides where to look: filename for exact file names, path for anywhere in the path, content for the text inside, or all for every one of them — with paging and GitHub's own search syntax available
  • searchIssues across the repository's issues and discussions, for vaults where tasks are tracked alongside notes
  • getCommitHistory over a window of days with an author filter, a commit cap and optional diffs, so you can watch a note develop
  • diagnoseSearch to check repository connectivity and whether the repository is within GitHub's indexing limits
Requirements

A GitHub personal access token in GITHUB_TOKEN, plus GITHUB_OWNER and GITHUB_REPO naming the repository the vault lives in. The token needs repo for a private repository or public_repo for a public one, and read:org when the repository belongs to an organisation. Run it over stdio with npx -y obsidian-github-mcp.

Setup effort

One command plus a key — npm install obsidian-github-mcp, then supply credentials