黑曜石宫MCP
](https://www.npmjs.com/package/obsidian-palace-mcp)  ](https://app.codacy.com/gh/Probably-Computers/obsidian-palace-mcp/dashboard)   ](https://nodejs.org) ](https://github.com/sponsors/Probably-Computers)
一个MCP服务器,将你的黑曜石金库变成一个AI记忆宫殿。
这是什么?
黑曜石宫MCP 使AI助手(Claude、ChatGPT或任何兼容MCP的客户端)能够将您的黑曜石保管库用作持久内存存储。AI可以:
- 储存知识 使用基于意图的存储(AI说什么,Palace决定在哪里)
- 检索信息 使用全文搜索或结构化查询
- 自动链接注释 通过检测对现有笔记标题的提及
- 储存前检查 防止重复并扩展现有知识
- 使用数据视图查询 使用熟悉的DQL语法
- 遵循标准 在vault中定义
- 追踪来源 -知道每一条知识是从哪里来的
v2.0功能
| 特性 | 描述 |
|---|---|
| 🧠 基于意图的存储 | AI表达意图;宫殿决定位置 |
| 📚 多保险库支持 | 具有读/写访问控制的多个保管库 |
| ⚛️ 原子笔记 | 自动将大内容拆分为中心+子内容 |
| 📋 标准体系 | AI遵循用户定义的绑定标准 |
| 🔗 自动链接 | 自动创建 [[wiki-links]] 相关笔记之间 |
| 📊 数据视图查询 | 使用DQL语法查询您的保管库 |
| 📍 来源 | 跟踪来源、置信度和验证状态 |
| 🤖 AI不可知论 | 适用于任何MCP兼容客户端 |
| ⚡ 快速搜索 | SQLite FTS5全文搜索索引 |
| 👁️ 实时同步 | 监视vault的外部更改 |
| ❓ 上下文澄清 | AI在存储之前要求提供缺失的上下文 |
安装
npm install -g obsidian-palace-mcp或者直接与npx一起使用:
npx obsidian-palace-mcp快速开始
1.配置克劳德桌面/Claude代码
添加到MCP客户端配置中:
单保险库(快速设置):
{
"mcpServers": {
"obsidian-palace": {
"command": "npx",
"args": ["obsidian-palace-mcp"],
"env": {
"PALACE_VAULTS": "/path/to/your/obsidian/vault:main:rw"
}
}
}
}多保险库(快速设置):
{
"mcpServers": {
"obsidian-palace": {
"command": "npx",
"args": ["obsidian-palace-mcp"],
"env": {
"PALACE_VAULTS": "/path/to/work:work:rw,/path/to/personal:personal:rw",
"PALACE_DEFAULT_VAULT": "work"
}
}
}
}多保险库(配置文件):
{
"mcpServers": {
"obsidian-palace": {
"command": "npx",
"args": ["obsidian-palace-mcp"],
"env": {
"PALACE_CONFIG_PATH": "~/.config/palace/config.yaml"
}
}
}
}2.创建Vault配置(可选)
创建 .palace.yaml 在vault根目录中进行自定义结构映射:
vault:
name: my-knowledge
description: "My knowledge base"
structure:
technology:
path: "technologies/{domain}/"
command:
path: "commands/{domain}/"
project:
path: "projects/{project}/"看 配置指南 完整的选项。
工具
核心工具
| 工具 | 说明 |
|---|---|
palace_store | 以基于意图的解决方案存储知识 |
palace_check | 存储前检查现有知识 |
palace_read | 阅读特定注释 |
palace_improve | 智能更新现有笔记 |
palace_recall | 在保险库中搜索信息 |
结构与导航
| 工具 | 说明 |
|---|---|
palace_list | 在目录中列出笔记 |
palace_structure | 获取vault目录树 |
palace_vaults | 列出已配置的保管库 |
图形智能
| 工具 | 说明 |
|---|---|
palace_links | 获取反向链接和传出链接 |
palace_orphans | 查找没有连接的笔记 |
palace_related | 查找相关笔记 |
palace_autolink | 扫描vault并创建wiki链接 |
查询
| 工具 | 说明 |
|---|---|
palace_dataview | 执行数据视图(DQL)查询 |
palace_query | 基于属性的查询 |
标准和人工智能支持
| 工具 | 说明 |
|---|---|
palace_standards | AI的负载绑定标准 |
palace_standards_validate | 根据标准验证注释 |
palace_clarify | 为不完整的上下文生成澄清问题 |
会话
| 工具 | 说明 |
|---|---|
palace_session_start | 开始研究会议 |
palace_session_log | 将活动记录到当前会话 |
知识组织
知识层
Palace将知识分为三层:
第1层:技术 (从不针对特定项目)
technologies/-技术文档commands/-CLI命令和脚本reference/-快速参考
第2层:域 (可重复使用的知识)
standards/-标准和惯例patterns/-可重复使用的图案research/-研究结果
第3层:上下文 (项目/客户特定)
projects/-项目决策和配置clients/-客户特定知识
基于意图的存储
AI表示要存储什么;宫殿决定地点:
palace_store({
title: "Docker Bridge Networking",
content: "...",
intent: {
knowledge_type: "command",
domain: ["docker", "networking"],
scope: "general"
}
})
// Resolves to: commands/docker/networking/docker-bridge-networking.md原子笔记
大型内容会自动拆分为中心+原子注释:
- 每个原子音符最多200行
- 每张钞票最多6个H2部分
- 中心注释(
_index.md)提供导航
备注格式
Notes使用YAML frontmatter作为元数据:
---
type: technology
status: active
domain: [kubernetes, networking]
source:
origin: ai:research
confidence: 0.8
verified: false
tags: [kubernetes, networking]
created: 2025-12-05T14:30:00Z
modified: 2025-12-05T14:30:00Z
---
# Kubernetes Networking
Content here...知识类型
| 类型 | 层 | 目的 |
|---|---|---|
technology | 1 | 技术文档 |
command | 1 | CLI命令和代码段 |
reference | 1 | 快速参考资料 |
standard | 2 | 标准和惯例 |
pattern | 2 | 可重复使用的图案 |
research | 2 | 研究结果 |
decision | 3 | 项目决策 |
configuration | 3 | 项目特定配置 |
troubleshooting | 1-2 | 问题和解决方案 |
note | 变化 | 一般注意事项 |
示例用法
存储知识(v2.0方式)
AI: "I'll document this Docker networking command."
[Uses palace_check to verify no existing note]
[Uses palace_store with:
- knowledge_type: "command"
- domain: ["docker", "networking"]
- scope: "general"
- technologies: ["docker"]
]查找信息
User: "What do we know about setting up Tailscale?"
AI: [Uses palace_recall with query: "tailscale setup"]
[Uses palace_related to find connected topics]
"Based on your notes, here's what we have..."遵循标准
AI starts session:
[Uses palace_standards({ binding: 'required' })]
[Acknowledges standards before proceeding]
User: "Help me with a git commit"
AI: [Follows git workflow standard from vault]环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
PALACE_VAULTS | 是\* | - | 保险库配置: path:alias:mode,... |
PALACE_CONFIG_PATH | 没有 | ~/.config/palace/config.yaml | 全局配置文件 |
PALACE_DEFAULT_VAULT | 否 | 第一个vault | 默认vault别名 |
PALACE_LOG_LEVEL | 没有 | info | 调试、信息、警告、错误 |
PALACE_WATCH_ENABLED | 没有 | true | 注意文件更改 |
\*除非满足以下条件,否则必须 PALACE_CONFIG_PATH 被设置为指向配置文件。
故障排除
服务器无法启动
“需要PALACE_VAULTS”
- 确保您已设置
PALACE_VAULTS在MCP客户端配置或使用中PALACE_CONFIG_PATH - 格式:
path:alias:mode(例如。,/path/to/vault:main:rw)
“找不到模块'better-xlite3'”
- 跑
npm rebuild better-sqlite3如果全局安装 - 此本机模块可能需要为您的Node版本重新编译
注释未出现
检查保险库路径
- 验证中的路径
PALACE_VAULTS指向您实际的黑曜石金库 - 路径应包含
.obsidian/文件夹
检查忽略模式
- 文件在
.obsidian/,templates/,或包含以下内容的目录.palace-ignore被跳过 - 注意事项
palace_ignore: true在frontmatter中也被跳过
搜索未找到笔记
重建索引
- 删除
.palace/index.sqlite在vault中,然后重新启动服务器 - 索引将在启动时自动重建
权限错误
只读保险库
- 检查模式
PALACE_VAULTS-使用:rw对于读写,:ro对于只读 - 验证vault目录上的文件系统权限
文档
发展
# Clone the repository
git clone https://github.com/Probably-Computers/obsidian-palace-mcp.git
cd obsidian-palace-mcp
# Install dependencies (also sets up Husky pre-commit hooks)
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Build for production
npm run buildCI管道
GitHub Actions在每次推送和PR时运行lint、类型检查、构建和测试,覆盖Node 18、20和22 main。保险范围报告给 密码.
预提交钩子
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'feat: add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
看 贡献.md 详细指南。
许可证
该项目根据 GNU Affero通用公共许可证v3.0(AGPL-3.0) -看 许可证 了解详情。
商业用途
如果您需要在专有软件中使用Obsidian Palace MCP,或者将其作为商业SaaS的一部分,而不将您的修改开源,则可以使用商业许可证。看 许可证商业.md 选择。
支持项目
如果您认为黑曜石宫MCP有用,请考虑支持其开发:
学分
由...建造 可能是电脑
灵感来自Luci项目的记忆宫概念。
