Obsidian GitHub Integration Setup Guide
The Obsidian GitHub MCP integration enables Benny Chat to access and search your Obsidian vault hosted on GitHub. This allows the assistant to reference your personal notes, documentation, and knowledge base during conversations.
Prerequisites
Before you begin, make sure you have:
- Completed the Smithery Setup Guide
- An Obsidian vault with your notes
- A GitHub account
- GitHub Desktop (recommended) or Git installed
Step 1: Create a GitHub Repository for Your Obsidian Vault
- Go to GitHub and sign in
- Click the "+" icon in the top right and select "New repository"
- Name your repository (e.g., "my-obsidian-vault")
- Choose Private if you want to keep your notes private
- Don't initialize with README, .gitignore, or license
- Click "Create repository"
Step 2: Upload Your Obsidian Vault to GitHub
Option A: Using GitHub Desktop (Recommended)
- Download and install GitHub Desktop
- Sign in with your GitHub account
- Click "Add" → "Add Existing Repository"
- Navigate to your Obsidian vault folder (even if it's in iCloud)
- If prompted to create a repository, click "Create Repository"
- In GitHub Desktop, click "Publish repository"
- Ensure the repository name matches what you created on GitHub
- Keep "Keep this code private" checked if desired
- Click "Publish repository"
Option B: Using Command Line
- Open Terminal in your Obsidian vault directory
- Run these commands:
git init git add . git commit -m "Initial commit" git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git git push -u origin main
Step 3: Extract Repository Information
From your GitHub repository URL (e.g., https://github.com/johndoe/my-obsidian-vault
), identify:
- Repository Owner:
johndoe
(your GitHub username or organization) - Repository Name:
my-obsidian-vault
Step 4: Generate a GitHub Fine-Grained Personal Access Token
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Click "Generate new token"
- Configure basic settings:
- Token name: "Benny Chat Obsidian Access"
- Expiration: 90 days (recommended) or custom date
- Description (optional): "Read-only access for Obsidian vault"
- Configure Repository access:
- Select "Only select repositories"
- Click "Select repositories" dropdown
- Choose your Obsidian vault repository (e.g., "Ben-Personal")
- Click "Generate token" (no need to modify permissions - default read access is sufficient)
- Important: Copy the token immediately - you won't see it again!
Note: Fine-grained tokens provide better security. The default permissions give read-only access to your selected repository, which is all that's needed.
Step 5: Configure in Smithery
- Log into Smithery
- Go to the Obsidian GitHub MCP page
- Click "Configure" to add it to your profile
- Enter the configuration settings:
githubToken
: Paste your personal access token from Step 4owner
: Your GitHub username (e.g.,johndoe
)repo
: Your repository name (e.g.,my-obsidian-vault
)
- Save the configuration
- Test your setup: Click "Connect" on the Obsidian GitHub MCP page, then use "Explore capabilities" to chat with the tool directly and verify it can access your notes
Step 6: Enable in Benny Chat
- Open Benny Chat and go to Settings
- Scroll to "MCP Tool Settings"
- Find "Obsidian GitHub" in the list
- Toggle the switch to enable it
- Click "Test Connection"
- You should see a success message with available tools
Keeping Your Notes Synchronized
Automatic Sync with GitHub Desktop
- GitHub Desktop will detect changes in your Obsidian vault
- When you see changes, add a commit message (e.g., "Daily notes update")
- Click "Commit to main"
- Click "Push origin" to upload changes to GitHub
Manual Sync
After making changes in Obsidian:
git add .
git commit -m "Update notes"
git push
Pulling Latest Changes in Benny Chat
Your notes are fetched in real-time from GitHub, so once you push changes, they're immediately available in Benny Chat conversations.
Available Features
Once configured, you can:
- Search notes by filename: "Find my note about project planning"
- Search note contents: "Search for notes mentioning 'machine learning'"
- Read specific notes: "Show me my daily note from yesterday"
- Reference multiple notes: "What do my meeting notes say about the Q4 roadmap?"
- Track changes: "What notes have I updated recently?"
Usage Examples
- "Check my Obsidian notes about the Python project"
- "Find all notes tagged with #ideas"
- "What's in my 'Projects/WebDev' folder?"
- "Search for notes containing 'API design'"
- "Show me my most recent daily notes"
Best Practices
- Organize your vault: Use folders and consistent naming
- Use frontmatter: Add tags and metadata to notes for better search
- Regular commits: Push changes daily or after important updates
- Meaningful commit messages: Helps track when specific notes were updated
.gitignore
file: Exclude.obsidian/workspace
and other local settings
Recommended .gitignore for Obsidian
Create a .gitignore
file in your vault root:
.obsidian/workspace*
.obsidian/workspaces.json
.trash/
.DS_Store
Troubleshooting
General Debugging Steps
When debugging the Obsidian GitHub setup:
- Test in Smithery first: Use the "Connect" and "Explore capabilities" feature on the Obsidian GitHub MCP page to verify your configuration works
- Test any other MCP tool in Benny Chat - if another tool connects, your Smithery API key and Profile ID are correct
- If only Obsidian GitHub fails: The issue is with the GitHub token or repository configuration
Connection Test Failed
- Verify all three parameters are correct in Smithery:
githubToken
: No extra spaces or quotesowner
: Your GitHub username (not email, not organization name unless it's an org repo)repo
: Repository name exactly as shown in GitHub (case-sensitive, no.git
extension)
- Check token configuration:
- Token hasn't expired (check GitHub Settings → Developer settings → Personal access tokens)
- Repository is selected in your fine-grained token's configuration
- Token was generated after selecting the repository
- Ensure repository exists and you have access:
- Visit
https://github.com/[owner]/[repo]
to confirm - For private repos, ensure you're logged into the correct GitHub account
- Visit
Notes Not Found
- Confirm notes are pushed to GitHub
- Check GitHub directly to see if files are there
- Try searching with different terms
- Ensure you're not in a branch other than
main
Permission Denied
- Token issues:
- Token might have expired - check GitHub Settings → Personal access tokens
- Generate a new token if expired
- Repository changes:
- Repository visibility might have changed (public → private)
- Repository might have been deleted or renamed
- Token configuration:
- For fine-grained tokens: Ensure the repository is still selected in token settings
- You may need to edit the token to re-add repository access
Privacy Considerations
- Only repositories you explicitly configure are accessible
- Private repositories remain private with proper token scopes
- Benny Chat accesses notes only when you request them
- No caching of note contents beyond conversation context
Need Help?
- Check the Obsidian GitHub MCP documentation
- Review GitHub's token documentation
- Ask Benny Chat for help with specific error messages