AI记忆宫殿服务器

Obsidian Palace MCP是一个将Obsidian知识库转化为AI记忆宫殿的服务器,支持AI助手存储、检索和管理知识。

  • by Probably-Computers
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Probably-Computers/obsidian-palace-mcp

使用说明

黑曜石宫MCP

一个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 build

CI管道

GitHub Actions在每次推送和PR时运行lint、类型检查、构建和测试,覆盖Node 18、20和22 main。保险范围报告给 密码.

预提交钩子

哈士奇 + 皮棉上演 在舞台上运行ESLint .ts 每次提交前的文件。挂钩通过以下方式自动安装 npm install.

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'feat: add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

看 贡献.md 详细指南。

许可证

该项目根据 GNU Affero通用公共许可证v3.0(AGPL-3.0) -看 许可证 了解详情。

商业用途

如果您需要在专有软件中使用Obsidian Palace MCP,或者将其作为商业SaaS的一部分,而不将您的修改开源,则可以使用商业许可证。看 许可证商业.md 选择。

支持项目

如果您认为黑曜石宫MCP有用,请考虑支持其开发:

学分

由...建造 可能是电脑

灵感来自Luci项目的记忆宫概念。