A permissioned MCP gateway for agent proposals to a Git-backed Obsidian vault.
Connect Runs on your machine
claude mcp add obsidian-github-mcp -e VAULT_MCP_PORT=<VAULT_MCP_PORT> -e VAULT_MCP_GITHUB_OWNER=<VAULT_MCP_GITHUB_OWNER> -e VAULT_MCP_GITHUB_REPO=<VAULT_MCP_GITHUB_REPO> -e VAULT_MCP_POLICY_FILE=<VAULT_MCP_POLICY_FILE> -e VAULT_MCP_TOKEN_FILE=<VAULT_MCP_TOKEN_FILE> -e GITHUB_TOKEN=<GITHUB_TOKEN> -e GITHUB_APP_ID=<GITHUB_APP_ID> -e GITHUB_APP_INSTALLATION_ID=<GITHUB_APP_INSTALLATION_ID> -e GITHUB_APP_PRIVATE_KEY_FILE=<GITHUB_APP_PRIVATE_KEY_FILE> -- npx -y @sarutobi-sasuke/[email protected]
{
"mcpServers": {
"obsidian-github-mcp": {
"command": "npx",
"args": [
"-y",
"@sarutobi-sasuke/[email protected]"
],
"env": {
"VAULT_MCP_PORT": "<VAULT_MCP_PORT>",
"VAULT_MCP_GITHUB_OWNER": "<VAULT_MCP_GITHUB_OWNER>",
"VAULT_MCP_GITHUB_REPO": "<VAULT_MCP_GITHUB_REPO>",
"VAULT_MCP_POLICY_FILE": "<VAULT_MCP_POLICY_FILE>",
"VAULT_MCP_TOKEN_FILE": "<VAULT_MCP_TOKEN_FILE>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"GITHUB_APP_ID": "<GITHUB_APP_ID>",
"GITHUB_APP_INSTALLATION_ID": "<GITHUB_APP_INSTALLATION_ID>",
"GITHUB_APP_PRIVATE_KEY_FILE": "<GITHUB_APP_PRIVATE_KEY_FILE>"
}
}
}
}
{
"mcpServers": {
"obsidian-github-mcp": {
"command": "npx",
"args": [
"-y",
"@sarutobi-sasuke/[email protected]"
],
"env": {
"VAULT_MCP_PORT": "<VAULT_MCP_PORT>",
"VAULT_MCP_GITHUB_OWNER": "<VAULT_MCP_GITHUB_OWNER>",
"VAULT_MCP_GITHUB_REPO": "<VAULT_MCP_GITHUB_REPO>",
"VAULT_MCP_POLICY_FILE": "<VAULT_MCP_POLICY_FILE>",
"VAULT_MCP_TOKEN_FILE": "<VAULT_MCP_TOKEN_FILE>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"GITHUB_APP_ID": "<GITHUB_APP_ID>",
"GITHUB_APP_INSTALLATION_ID": "<GITHUB_APP_INSTALLATION_ID>",
"GITHUB_APP_PRIVATE_KEY_FILE": "<GITHUB_APP_PRIVATE_KEY_FILE>"
}
}
}
}
{
"servers": {
"obsidian-github-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sarutobi-sasuke/[email protected]"
],
"env": {
"VAULT_MCP_PORT": "<VAULT_MCP_PORT>",
"VAULT_MCP_GITHUB_OWNER": "<VAULT_MCP_GITHUB_OWNER>",
"VAULT_MCP_GITHUB_REPO": "<VAULT_MCP_GITHUB_REPO>",
"VAULT_MCP_POLICY_FILE": "<VAULT_MCP_POLICY_FILE>",
"VAULT_MCP_TOKEN_FILE": "<VAULT_MCP_TOKEN_FILE>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"GITHUB_APP_ID": "<GITHUB_APP_ID>",
"GITHUB_APP_INSTALLATION_ID": "<GITHUB_APP_INSTALLATION_ID>",
"GITHUB_APP_PRIVATE_KEY_FILE": "<GITHUB_APP_PRIVATE_KEY_FILE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
VAULT_MCP_PORTOptional | Loopback HTTP listening port. |
VAULT_MCP_GITHUB_OWNERRequired | Owner of the operator-authorised vault repository. |
VAULT_MCP_GITHUB_REPORequired | Operator-authorised vault repository name. |
VAULT_MCP_POLICY_FILERequired | Absolute path to the operator-provisioned policy YAML. |
VAULT_MCP_TOKEN_FILERequired | Absolute path to the operator-provisioned client-token YAML. |
GITHUB_TOKENOptional, secret | Required for the token-based quickstart. Alternatively configure all three GitHub App variables documented in README. |
GITHUB_APP_IDOptional | GitHub App alternative: set all three App variables instead of GITHUB_TOKEN. |
GITHUB_APP_INSTALLATION_IDOptional | GitHub App installation ID, required with GITHUB_APP_ID. |
GITHUB_APP_PRIVATE_KEY_FILEOptional, secret | Absolute path to the operator-provisioned App private key; required with GITHUB_APP_ID. |
Details
| Package | @sarutobi-sasuke/[email protected] (NPM, streamable-http) |
| First published | 24 Oct 2026 |
| Last updated | 24 Oct 2026 |
| Registry name | io.github.SarutobiSasuke8/obsidian-github-mcp |
More developer tools servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
