diagnoseSearch
Diagnose search functionality and repository configuration for your Obsidian vault on GitHub. Verifies repository connectivity, search capabilities, and checks if repository size is within GitHub's indexing limits.
Reads an Obsidian vault that lives in a GitHub repository — search it, open a note, and follow how it changed over time.
LABSCO SUMMARY
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.
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.
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.
One command plus a key — npm install obsidian-github-mcp, then supply credentials
USE CASES
Fetch the file's contents directly rather than searching for it.
Search with the filename mode so the title is what gets matched.
Search inside file contents, paging through the matches.
Pull the commit history for a window of days, with diffs, and read the changes.
Search the repository's issues and discussions from the same place.
Check connectivity and whether the repository is inside GitHub's indexing limits.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
diagnoseSearchDiagnose search functionality and repository configuration for your Obsidian vault on GitHub. Verifies repository connectivity, search capabilities, and checks if repository size is within GitHub's indexing limits.
getCommitHistoryTrack the evolution of your Obsidian vault knowledge base by retrieving commit history from GitHub. See how your notes and ideas have developed over time with detailed diffs.
getFileContentsRetrieve the contents of a specific note, document, or file from your Obsidian vault stored in GitHub. Perfect for accessing your knowledge base content.
searchFilesSearch for notes, documents, and files within your Obsidian vault on GitHub. Find specific knowledge base content using GitHub's powerful search syntax. Supports searching in filenames, paths, and content.
searchIssuesSearch for issues and discussions in your Obsidian vault repository. Great for tracking tasks, project management, and collaborative knowledge work.
BEFORE YOU INSTALL
5 tools when we connected. The fifth tool, diagnoseSearch, is undocumented and helps work out why a search returned nothing. searchFiles is one tool with filename, path, content and all modes.
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 5 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npm install obsidian-github-mcp{
"mcpServers": {
"obsidianGithub": {
"command": "npx",
"args": [
"-y",
"obsidian-github-mcp"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>",
"GITHUB_OWNER": "<YOUR_GITHUB_OWNER>",
"GITHUB_REPO": "<YOUR_GITHUB_REPO>"
}
}
}
}