yamos-又一台mcp黑曜石服务器
你希望你的人工智能能够处理黑曜石音符,对吗?远程,对吧? 通过MCP,对吗?我明白了
- 将黑曜石livesync设置到couchdb服务器
- 将yamos连接到couchdb服务器
- 通过MCP将您的ai连接到yamos
- 利润
用克劳德测试。ymmv与其他ais。如果它不适用于其他ais,那么 提交一个问题pl0x,如果你表现良好,也许我会修复它
免责声明
我是一个devops女孩,不是一个程序员。这段代码可能很糟糕。可能 也用核弹摧毁你的黑曜石金库。它也可能在某种程度上是不安全的,我没有 考虑过的。我在写这篇文章的时候尽了最大的努力,但最终 请接受 _你使用它的风险由你自己承担。_
如果你的保险库被这件事摧毁了,请随时提出问题,但是 _我会 帮不了你拿回保险库。_ 把你的东西备份起来。 听说过restic吗
特征
mcp命令
- list_notes -列出vault中的所有笔记,可选择按路径筛选
前缀
- read_note -阅读任何笔记的内容
- write_note -创建或更新笔记
- 附录_注释 -将内容附加到现有笔记中
- insert_lines -在特定行号处插入内容
- delete_lines -从注释中删除一系列行
- delete_note -从保管库中删除笔记
- batch_read_notes -一口气读一堆笔记
- batch_write_notes -一次创建/更新多个笔记
- batch_delete_notes -核几个音符
- batch_append_to_tonotes -附加到多个注释
所有批处理操作都使用部分成功-如果一个注释失败(路径错误,没有 存在,无论什么),其他人仍在经历。错误出现在 json报告给你的小艾
模式
- sse模式 (默认):作为ais可以与之通信的web服务运行!
- stdio模式:作为子进程运行 桌面ai客户端,与之交谈
无论你当地的黑曜石客户在和谁说话 - 还有其他黑曜石mcp服务器是专门为此而构建的-如果 你只能这样做,我建议你改用其中一种。
待办
- 找到一些失败者,进行适当的安全审计
- 货物板条箱:)
- 处理加密保管库
- 支持二进制附件(图像等)
你需要什么
因此,在开始之前,您必须设置以下内容:
- 一个couchdb实例在某个地方运行,并配置了黑曜石livesync
- 使用livesync插件在您的各种设备上安装黑曜石
- 对于sse模式:某种将服务器暴露在互联网上的方法,以便人工智能
提供商的服务器可以与之通信 - 如果你没有自己的公共网址,尾标漏斗可以很好地工作
这听起来很酷!!!我该怎么做
- 安装并配置它
- 将你的ai连接到它(例如,
- 克劳德:克劳德艾→ 设置→ 连接器→ 添加自定义连接器,放入 您的url和oauth凭据(oauth配置)
- “嘿,艾,你能用yamos来列出我的笔记吗?”
呃,它是怎么工作的
如果你不在乎细节,只想要你的小电脑朋友 看看你的黑曜石,你可以忽略这一点
- 服务器连接到couchdb实例(黑曜石livesync就在那里
存储所有vault数据)
- 笔记使用livesync的分块格式存储-内容被拆分为
~32字节块存储为单独的“叶子”文档
- 当您告诉claude通过此mcp服务器修改注释时,它会写入
块到couchdb,然后livesync获取更改并将其同步到 所有设备自动
- 反之亦然-当您在任何设备上编辑笔记时,它会同步到
couchdb,然后克劳德可以看到这些变化
文档格式
livesync使用分块存储。主文档引用块:
{
"_id": "todo.md",
"path": "todo.md",
"children": ["h:abc123", "h:def456", "h:ghi789"],
"ctime": 1640000000000,
"mtime": 1640000000000,
"size": 1234,
"type": "plain",
"eden": {}
}每个块都是一个单独的文档:
{
"_id": "h:abc123",
"data": "raw string content here",
"type": "leaf"
}http端点(sse模式)
mcp端点:
POST /-mcp协议的可流式http端点
- 从规范文档中,我无法真正弄清楚这是否是意料之中的 可以是/或/mcp或/sse。如果其他人能弄清楚,请告诉我 - 我考虑过把这个端点作为后备,但感觉有点 奇怪。但谁知道呢,也许这很正常
oauth端点:
GET /.well-known/oauth-protected-resource-资源元数据(RFC 9728)GET /.well-known/oauth-authorization-server-身份验证服务器元数据
(RFC 8414)
GET /authorize-授权端点(显示同意页面)POST /token-令牌端点POST /register-动态客户端注册(RFC 7591)
她偷偷摸摸我的东西,直到我做出贡献
我使用nix(顺便说一句)你应该使用nix,如果你不使用nix就好了 你平时运的生锈货物跟平时一样
# jump into the dev shell
nix develop
# run with debug logging to see what's going on
RUST_LOG=debug cargo run -- --transport sse
# run tests (if i ever write any lol)
cargo test如果有人跟我说话,我想这些问题会经常被问到
为什么实现静态承载身份验证
在实施之前,我没有费心去检查克劳德是否支持它 然后我发现克劳德不支持它,然后我反复抨击 我把头伸进桌子,开始使用oauth
你的代码很烂
是啊,哭吧
帮我设置livesync
不,灭亡
为什么生锈
我是变性人
这些nix文件是什么
我是变性人
为什么整个自述文件都是小写的
我是变性人
ai是邪恶的,用了很多水
如果你吃肉,我在这里提醒你,畜牧业使用的食物要多得多
我想支持你
给我发些好消息,告诉我我很漂亮,告诉我有礼物
许可证
米特,疯了!但最好是道德高尚的克雷。比如小龙虾
啊,改变世界!我最后的信息:再见
