mcpField
V
Vector DB MCP

Vector DB MCP

本地服务
github.com/kroq86开发工具321 周前更新

关于 Vector DB MCP

输入中的 README 介绍的是 Plojure,一个用于 Lisp、Python 和 x86_64 汇编实验的项目,并非 Vector DB MCP。它包含 macOS 上的 FASM 示例、共享库构建路径和小型 Lisp 解释器。

主要功能

  1. 01Lisp、Python 和汇编实验
  2. 02macOS 上的 FASM 示例
  3. 03构建 macOS 动态库示例
  4. 04包含小型 Lisp 解释器

适用场景

  1. 01运行汇编示例并查看输出
  2. 02在 macOS 上构建共享库示例
  3. 03运行 Lisp 程序

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kroq86-vector-db": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/kroq86/vector-db-mcp:0.1.1"
]
}
}
}
启动命令docker run -i --rm ghcr.io/kroq86/vector-db-mcp:0.1.1

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/kroq86/vector-db-mcp:0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Plojure

Plojure 是用于进行 Lisp、Python 和 x86_64 汇编实验的 playground。当前的 hybrid 分支还包含一条用于移植 FASM 示例的 macOS 路径。

macOS 上的目标工作流刻意保持简单:

fasm fasm/basic/fib.asm
./fasm/basic/fib

关键路径中没有 Docker 命令,也不会出现 exec format error,更不会让 Linux ELF 二进制伪装成 macOS 程序。

macOS FASM 设置

从 kroq86/fasm-mac 安装配套的 fasm shim:

git clone https://github.com/kroq86/fasm-mac
cd fasm-mac
./install.sh
export PATH="$HOME/.local/bin:$PATH"

安装的命令名为 fasm。

在 Apple Silicon 上,它会生成 x86_64 Mach-O 二进制,因此需要 Rosetta:

arch -x86_64 /usr/bin/true

如果失败:

softwareupdate --install-rosetta

独立示例

这些示例现在使用 fasm/core/platform.inc,而不再使用硬编码的 Linux 系统调用编号:

fasm fasm/basic/fib.asm
./fasm/basic/fib

fasm fasm/basic/arg.asm
./fasm/basic/arg fasm/basic/lol.txt

cd fasm/basic
fasm mycat.asm
./mycat

cd ../advanced/binary_search
fasm bin_s.asm
./bin_s

预期行为:

  • fib.asm 输出斐波那契数值。
  • arg.asm 输出作为 argv[1] 传入的文件。
  • mycat.asm 输出 fasm/basic/lol.txt。
  • bin_s.asm 输出找到的索引。

共享库示例

现在,简单的 C/Python 原生库示例可以在 macOS 上构建 .dylib 文件:

cd fasm/advanced/add
./run.sh

cd ../binary_search/wrapper
./run.sh

cd ../../oop_game
./build.sh

构建路径为:

fasm --emit=macho-obj add.asm add.o
clang -arch x86_64 -dynamiclib wrapper.c add.o -o mylib.dylib

在 Apple Silicon 上,Python ctypes 需要使用 x86_64/Rosetta Python 才能加载这些库。默认的 Homebrew Python 通常是 arm64,无法加载 x86_64 .dylib。

Vector DB

projects/vector-db 现在会在 Darwin 上查找 .dylib,在 Linux 上查找 .so。macOS 构建路径为:

cd projects/vector-db
fasm --emit=macho-obj assembly/dot_product.asm dot_product.o
clang -arch x86_64 -dynamiclib dot_product.o assembly/wrapper.c -o dot_product.dylib

如果无法加载原生库,Python 代码会在可用时沿用现有的回退行为。

尚未完成的事项

  • fasm classic 本身仍没有上游风格的 format Mach-O 格式化器。
  • 此移植不包含原生 arm64 汇编输出。
  • Mach-O 对象转换器目前不支持 ELF 重定位。
  • 协程有意留待后续处理,因为它们会手动切换栈,并跨越 Python 回调边界。
  • 在 Apple Silicon 上,如果 Python 示例要加载 x86_64 .dylib 文件,就需要使用 x86_64 Python 运行时。

原始 Lisp 解释器

仓库还包含一个小型 Lisp 解释器:

python projects/lisp-interpreter/main.py projects/lisp-interpreter/program.lisp

它支持递归函数、lambda 表达式、算术运算、条件语句和函数调用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。