这是一个模型上下文协议(MCP)服务器,它连接AI助手与包含Obsidian知识库的GitHub仓库。此服务器使您的GitHub存储的知识库能够无缝集成,允许AI助手读取、搜索和分析您的Obsidian笔记和文档。
许多Obsidian用户将他们的知识库存储在GitHub上以进行备份、版本控制和协作。这个MCP服务器填补了您托管在GitHub上的Obsidian知识库与AI助手之间的空白,使得:
filename:通过精确文件名查找文件(适用于“OKR 2025”类型的搜索)path:在文件路径中任意位置搜索content:在文件内容中搜索all:跨文件名、路径和内容进行全面搜索安装Obsidian GitHub MCP最简单的方法是使用Smithery:
# 对于Claude桌面版
npx -y @smithery/cli install @Hint-Services/obsidian-github-mcp --client claude
# 对于Cursor
npx -y @smithery/cli install @Hint-Services/obsidian-github-mcp --client cursor
# 对于Windsurf
npx -y @smithery/cli install @Hint-Services/obsidian-github-mcp --client windsurf
# 对于Cline
npx -y @smithery/cli install @Hint-Services/obsidian-github-mcp --client cline
npm install obsidian-github-mcp
将服务器添加到您的MCP设置文件中,配置如下:
{
"mcpServers": {
"obsidianGithub": {
"command": "npx",
"args": ["-y", "obsidian-github-mcp"],
"env": {
"GITHUB_TOKEN": "your-github-token",
"GITHUB_OWNER": "your-github-username",
"GITHUB_REPO": "your-obsidian-vault-repo"
}
}
}
}
GITHUB_TOKEN:您的GitHub个人访问令牌(在这里创建一个)GITHUB_OWNER:GitHub仓库的所有者/组织GITHUB_REPO:包含您的Obsidian知识库的仓库名称您的GitHub令牌需要以下权限:
repo(对于私有仓库)或public_repo(对于公共仓库)read:org(如果访问组织仓库){
"tool": "getFileContents",
"arguments": {
"filePath": "Daily Notes/2024-01-15.md"
}
}
{
"tool": "searchFiles",
"arguments": {
"query": "OKR 2025",
"searchIn": "filename"
}
}
{
"tool": "searchFiles",
"arguments": {
"query": "Daily Notes",
"searchIn": "path"
}
}
{
"tool": "searchFiles",
"arguments": {
"query": "机器学习算法",
"searchIn": "content",
"perPage": 10
}
}
{
"tool": "searchFiles",
"arguments": {
"query": "项目规划",
"searchIn": "all"
}
}
{
"tool": "searchFiles",
"arguments": {
"query": "path:*.md extension:md",
"searchIn": "content"
}
}
{
"tool": "getCommitHistory",
"arguments": {
"days": 30,
"includeDiffs": true,
"maxCommits": 10
}
}
问题:搜索“OKR 2025”没有找到名为“OKR 2025.md”的文件
解决方案:使用searchIn: "filename"参数:
{
"tool": "searchFiles",
"arguments": {
"query": "OKR 2025",
"searchIn": "filename"
}
}
精确短语:使用引号进行多词搜索
{
"query": "\"项目规划2025\"",
"searchIn": "content"
}
文件扩展名:查找特定文件类型
{
"query": "path:*.md",
"searchIn": "content"
}
目录特定:在文件夹内搜索
{
"query": "path:\"Daily Notes/\"",
"searchIn": "content"
}
obsidian-github-mcp/
├── src/
│ ├── index.ts # 主MCP服务器入口点
│ └── github/ # GitHub API集成
│ ├── client.ts # GitHub客户端实现
│ └── types.ts # TypeScript类型定义
├── docs/ # 文档
├── package.json # 项目配置
└── tsconfig.json # TypeScript配置
如果您有兴趣为此项目做出贡献或使用此服务器开发自己的工具,请参阅开发指南。
pnpm install - 安装依赖项pnpm run build - 构建项目pnpm run dev - 在开发模式下运行,并带有检查器pnpm run inspector - 启动MCP检查器进行测试如果您正在从旧的mcp-private-github-search包迁移:
更新配置中的包名称:
{
"mcpServers": {
"obsidianGithub": {
"command": "npx",
"args": ["-y", "obsidian-github-mcp"]
}
}
}
功能保持不变 - 所有现有工具的工作方式相同
考虑新的Obsidian专用使用案例和工作流
有关MCP生态系统的信息,请参考:
“未来已经到来,只是分布不均”
—— 威廉·吉布森,作家
Hint Services是一家精品咨询公司,致力于开发和扩展用户界面如何利用人工智能技术。我们在AI和用户体验交叉点上构想雄心壮志,由Ben Hofferber创立并领导。
我们为设计团队提供专门的AI研讨会,这些团队希望拥抱AI工具而不必成为开发者。了解更多关于我们的培训和研讨会。