黑曜石通用MCP服务器
A. 通用的 用于黑曜石的模型上下文协议(MCP)服务器,与 所有主要的人工智能平台:克劳德、ChatGPT、双子座、Grok和困惑。
🌟 特性
- ✅ 通用兼容性:与Claude、ChatGPT、Gemini、Grok和困惑合作
- 🔒 OAuth就绪:安全身份验证基础设施(可扩展)
- 📚 完全保险库访问权限:阅读、书写、搜索和管理您的黑曜石笔记
- 🏷️ 智能标签处理:从封面和内容中自动提取
- 🔍 强大的搜索功能:基于正则表达式的所有笔记搜索
- 🌐 HTTP传输:远程服务器以实现最大兼容性
- 🚀 零黑曜石插件:直接使用vault文件
🛠️ 安装
先决条件
- Node.js 18.0.0或更高版本
- 黑曜石拱顶
设置
- 克隆或下载此存储库
cd ~/Projects/mcp-obsidian-universal- 安装依赖项
npm install- 配置环境
cp .env.example .env编辑 .env 并设置vault路径:
OBSIDIAN_VAULT_PATH=/Users/breannasalah/Obsidian_Vault_3
PORT=3000
HOST=localhost- 构建服务器
npm run build- 启动服务器
npm start您应该看到:
🚀 Obsidian Universal MCP Server running on http://localhost:3000
📚 Vault path: /Users/breannasalah/Obsidian_Vault_3
🔧 MCP SSE endpoint: http://localhost:3000/sse
💚 Health check: http://localhost:3000/health🤖 平台配置
1.克劳德桌面
设置:
- 打开克劳德桌面配置:
# macOS
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json- 添加服务器配置:
{
"mcpServers": {
"obsidian": {
"url": "http://localhost:3000/sse"
}
}
}- 重新启动克劳德桌面
用途:
"List all my notes in the Projects folder"
"Search for notes mentioning 'AI' and create a summary"
"Create a new note in Ideas/2025.md with my brainstorm"______________________________________________________________________
2.ChatGPT(开发者模式)
要求: ChatGPT Pro、商业、企业或教育计划
设置:
- 打开ChatGPT设置→ 连接器→ 高级→ 开发人员模式
- 点击“添加连接器”
- 配置:
- 名字:黑曜石环球 - 服务器URL: http://localhost:3000/sse - 类型:远程MCP服务器
- 保存并启用连接器
用途:
"Show me all notes tagged with #projects"
"Read the content of my daily note"
"Search my vault for references to quantum computing"______________________________________________________________________
3.Gemini CLI
设置:
- 安装Gemini CLI:
npm install -g @google/gemini-cli@latest- 在中配置MCP服务器
~/.gemini/settings.json:
{
"mcpServers": {
"obsidian": {
"url": "http://localhost:3000/sse",
"description": "Obsidian vault access"
}
}
}- 启动Gemini CLI:
gemini用途:
@obsidian list my notes in the Research folder
@obsidian search for "machine learning" in my vault
@obsidian create a note with today's learnings______________________________________________________________________
4.Grok(xAI SDK)
设置(Python):
import os
from xai_sdk import Client
from xai_sdk.tools import mcp
client = Client(api_key=os.getenv("XAI_API_KEY"))
chat = client.chat.create(
model="grok-4-1-fast",
tools=[
mcp(
server_url="http://localhost:3000/sse",
server_label="obsidian",
server_description="Access to Obsidian vault"
),
],
)
chat.append({"role": "user", "content": "List all my notes"})
for response, _ in chat.stream():
print(response.choices[0].message.content)用途:
"Use the obsidian tool to find all notes about AI projects"
"Read my daily note and summarize it"
"Create a new note with research findings"______________________________________________________________________
5.困惑(Mac应用程序)
要求: 付费困惑订阅
设置:
- 打开困惑Mac应用程序
- 转到“设置”→ 连接器
- 点击“添加连接器”
- 配置为远程MCP:
- 服务器URL: http://localhost:3000/sse - 名字:黑曜石
- 在“源”下拉菜单中启用连接器
用途:
"Show me my project notes from last week"
"Search my vault for blockchain articles"
"Create a new note about today's meeting"______________________________________________________________________
📖 可用工具
list_notes
列出vault中的所有注释,可选择按文件夹过滤。
参数:
folder(可选):相对于vault根目录的文件夹路径recursive(可选):是否包含子目录(默认值:true)
例子:
{
"folder": "Projects",
"recursive": true
}______________________________________________________________________
read_note
阅读带有封面和标签的特定注释。
参数:
path(必填):注释路径(例如“folder/note.md”)
例子:
{
"path": "Daily/2025-12-01.md"
}______________________________________________________________________
write_note
创建或更新笔记。
参数:
path(必填):保存注释的位置content(必填):Markdown内容frontmatter(可选):YAML frontmatter作为JSON对象
例子:
{
"path": "Ideas/new-project.md",
"content": "# New Project\n\nDescription here",
"frontmatter": {
"tags": ["projects", "ideas"],
"date": "2025-12-01"
}
}______________________________________________________________________
delete_note
永久删除笔记。
参数:
path(必填):要删除的注释路径
______________________________________________________________________
search_notes
搜索vault内容(支持正则表达式)。
参数:
query(必填):搜索查询
例子:
{
"query": "machine learning"
}______________________________________________________________________
get_vault_stats
获取vault统计信息(总笔记、文件夹)。
无需参数。
______________________________________________________________________
🔧 发展
在开发模式下运行:
npm run dev测试服务器:
# Health check
curl http://localhost:3000/health
# Test with MCP Inspector
npx @modelcontextprotocol/inspector______________________________________________________________________
🔐 安全说明
- 仅限本地网络:默认情况下,服务器只接受来自localhost的连接
- 无认证:当前没有身份验证层-服务器信任本地客户端
- 文件系统访问:服务器具有对vault的完全读/写访问权限
- 未来:计划为远程访问场景实施OAuth
______________________________________________________________________
🚀 路线图
- \[\]用于安全远程访问的OAuth 2.0实现
- \[\]Webhook支持实时更新
- \[\]高级搜索(语义、模糊)
- \[\]批量操作
- \[\]黑曜石插件集成实时同步
- \[\]支持附件和图像
______________________________________________________________________
📝 许可证
麻省理工学院
______________________________________________________________________
🙏 致谢
基于Anthropic的模型上下文协议标准构建。受到黑曜石社区令人惊叹的MCP服务器实现的启发。
______________________________________________________________________
💬 支持
- 问题:
- 问题:展开讨论
- 贡献:欢迎PR!
