@楽曲作りまくりおじさん 楽曲作りまくりおじさん authored 5 days ago
.agent/ rules docs: .agent/rules/documents.md の MD009 警告修正および README.md 清書とジャーナル作成 5 days ago
.copilot chore: migrate MCP config to port (SSE) format 5 days ago
.github Add MCP server with llama.cpp integration and docs 8 days ago
.vscode fix: launch.json修正とF5起動の完成 6 days ago
document feat: add real-time status visibility (connections & db stats) and fix vector search query syntax error 6 days ago
resources/ icons chore: comprehensive project restructuring and cleanup 6 days ago
scripts chore: migrate MCP config to port (SSE) format 5 days ago
src fix: 本番環境でのパス解決不良による起動時クラッシュを修正。開発環境への影響を排除。 5 days ago
test chore: release v0.1.1 6 days ago
.env.example style: tidy project root and simplify onboarding commands 6 days ago
.gitignore fix: launch.json修正とF5起動の完成 6 days ago
README.md chore: インストーラー作成設定の追加(DLL同梱)とREADME更新、ジャーナル作成 5 days ago
bun.lock chore: comprehensive project restructuring and cleanup 6 days ago
dummy.js chore: release v0.1.1 6 days ago
jsconfig.json Add MCP server with llama.cpp integration and docs 8 days ago
launch.cmd chore: release v0.1.1 6 days ago
package-lock.json chore: release v0.1.1 6 days ago
package.json feat: add real-time status visibility (connections & db stats) and fix vector search query syntax error 6 days ago
README.md

🦀 SQLite Vector MCP Server (Tauri 2 Edition)

SQLite と Rust で構築された、ローカル向けベクトル検索サーバー

Tauri 2
Rust
Gemma 3

📝 イントロダクション

Model Context Protocol (MCP) に準拠した、ローカル実行用のベクトル検索サーバーです。Tauri v2 および Rust をベースに構築されています。

Gemma 3 300M Embedding モデルや llama-server をサイドカーとして利用することで、外部ネットワークに依存せず、ローカル環境のみでテキストのベクトル化と検索を行うことができます。


✨ 主な機能

  1. Tauri v2 + Rust: 軽量で高速なバックエンド基盤。
  2. SQLite + sqlite-vec: リレーショナルデータとベクトルデータの一元管理。
  3. MCP 準拠: SSE プロトコルにより、外部エージェント(Claude 等)からのツール呼び出しに対応。
  4. Sidecar LLM: llama-server を内蔵し、オフラインでのテキスト処理が可能。
  5. SeaORM: 型安全なデータベース操作。
  6. 運用支援: 詳細なログ記録とステータス可視化。

📁 ディレクトリ構成

.
├── .agent/       # エージェント用ルール・ドキュメント
├── bin/          # 外部バイナリ (llama-server等)
├── data/         # データベースファイル (vector.db)
├── document/     # 仕様・設計ドキュメント
├── journals/     # 開発記録 (Git管理外)
├── logs/         # アプリケーションログ
├── resources/    # アセット類
├── scripts/      # ユーティリティスクリプト (analyze_nesting, count_lines等)
├── src/
│   ├── backend/  # Rust / Tauri バックエンド
│   └── frontend/ # Webview UI
└── test/         # テストコード

🏗️ システム構造

graph TD
    subgraph "Frontend Layer (WebView2)"
        UI["Status UI (JS/HTML)"]
    end
    
    subgraph "Tauri Backend Layer (Rust)"
        Axum["MCP Server (SSE/JSON-RPC)"]
        Tray["System Tray Manager"]
        Sidecar["Sidecar Manager"]
        ORM["SeaORM Layer"]
        Llama["Llama API Client"]
    end
    
    subgraph "External Process Layer"
        LS["llama-server.exe (Sidecar)"]
    end
    
    subgraph "Data Layer"
        DB[("SQLite + sqlite-vec")]
        Model["Gemma 3 300M (GGUF)"]
    end
    
    UI <--> Axum
    Axum <--> ORM
    ORM <--> DB
    Llama <--> LS
    Sidecar --> LS
    LS --> Model

🚀 セットアップ

開発用

bun install
bun setup
bun dev

インストーラー作成

bun run build

生成された MSI インストーラーは src/backend/target/release/bundle/msi/ に出力されます。

詳細は document/development_guide.md を参照してください。


🛠️ MCP ツール

ツール名 用途
save_document 文書の追加とベクトル化
find_documents 文書の類似検索
llm_generate テキスト生成
... (詳細は mcp_specification.md 参照)

📜 ライセンス

ISC License.