Vector DB MCP について
READMEで説明されているのは、Vector DB MCPではなく、Lisp、Python、x86_64アセンブリの実験用プロジェクトPlojureです。macOS向けFASMの例、共有ライブラリのビルド手順、小規模なLispインタープリターを含みます。
主な機能
- 01Lisp、Python、アセンブリの実験
- 02macOS向けFASMの例
- 03macOS共有ライブラリのビルド手順
- 04小規模なLispインタープリター
活用シーン
- 01アセンブリ例を実行して出力を確認
- 02macOSで共有ライブラリの例をビルド
- 03Lispプログラムを実行
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/kroq86/vector-db-mcp:0.1.1ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/kroq86/vector-db-mcp:0.1.1stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Plojure
Plojure は、Lisp、Python、x86_64 アセンブリの実験用プレイグラウンドです。現在の 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
スタンドアロンのサンプル
これらのサンプルでは、ハードコードされた Linux のシステムコール番号の代わりに fasm/core/platform.inc を使用するようになりました。
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は見つかったインデックスを出力します。
共有ライブラリのサンプル
macOS でも、シンプルな C/Python のネイティブライブラリのサンプルから .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 を読み込めません。
ベクトル 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 自体には、まだ upstream 形式の
format Mach-Oフォーマッターがありません。 - ネイティブ arm64 アセンブリの出力は、この移植の対象外です。
- Mach-O オブジェクトコンバーターは、現時点では ELF の再配置を拒否します。
- コルーチンはスタックを手動で切り替え、Python のコールバック境界をまたぐため、後の段階に回しています。
- Apple Silicon で x86_64 の
.dylibファイルを読み込む Python のサンプルには、x86_64 の Python ランタイムが必要です。
元の Lisp インタープリター
このリポジトリには、小さな Lisp インタープリターも含まれています。
python projects/lisp-interpreter/main.py projects/lisp-interpreter/program.lisp
再帰関数、ラムダ式、算術演算、条件式、関数呼び出しをサポートしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。