mcpField
A
Aikd Indexed Semantic & Bm25 Code Search For Ai Agents. Give Your Ai Instant Memory Of Your Codebase. Rust | Mcp Server.

Aikd Indexed Semantic & Bm25 Code Search For Ai Agents. Give Your Ai Instant Memory Of Your Codebase. Rust | Mcp Server.

ローカル
github.com/gelutjariメモリ・ナレッジ219 週間前に更新

Aikd Indexed Semantic & Bm25 Code Search For Ai Agents. Give Your Ai Instant Memory Of Your Codebase. Rust | Mcp Server. について

AIKDは、AIコーディングエージェント向けのローカルコードベース索引・検索サーバーです。Rust製で、BM25とベクトル検索を組み合わせ、CLI、REST API、永続的なセッションメモリを備えています。

主な機能

  1. 01BM25とベクトルのハイブリッド検索
  2. 02コードベースの増分インデックス
  3. 03永続的なセッションメモリ
  4. 04ファイル変更時の再インデックス
  5. 05CLIとREST API

活用シーン

  1. 01キーワードや意味からコードを検索
  2. 02コーディングエージェントに継続的なコードベース情報を提供
  3. 03プロジェクトファイルの変更時にインデックスを更新

MCP 対応

AIKDはMCPサーバーとして動作し、スキャン、検索、埋め込み、統計、メモリ、状態確認のツールを提供します。記載されているコーディングエージェントへの自動登録にも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🧠 AIKD

AI コーディングエージェントのための超高速ローカルメモリレイヤー

Crates.io GitHub Release Build Status License: MIT Rust Downloads

Claude、Cursor、Cline にコードベース全体の情報をすぐに思い出させます。 Rust で記述。クラウドへの依存はゼロ。10,000 チャンクを 0.21ms で検索。

インストール • クイックスタート • デモ • ドキュメント


🤔 なぜ AIKD なのか?

問題点: AI コーディングエージェントは強力ですが、忘れっぽいものです。新しい会話を始めるたびに、すべてがゼロからになります。コードベースやコーディングパターン、アーキテクチャの情報は引き継がれません。

課題AIKD なしAIKD あり
😵 コンテキストの喪失毎回のセッションで、エージェントが「このファイルは何をするの?」と質問するコードベース全体の情報を即座に呼び出し
🐌 検索の遅さPython ベースの RAG では、クエリごとに 500ms 以上かかるRust による BM25+Vector で 0.21ms
☁️ クラウドへの依存コードが外部サーバーに送信される100% ローカル。データがマシンの外に出ることはありません
🔧 複雑なセットアップPython、pip、CUDA、モデルなどのインストールが必要単一バイナリ。1 つのコマンドでインストール
AIKD の比較
機能grepLlamaIndexai-devkitAIKD
速度高速低速普通⚡ 0.21ms
セマンティック検索❌✅✅✅ ハイブリッド
ローカルのみ✅❌❌✅ 100%
MCP ネイティブ対応❌❌❌✅ 標準搭載
メモリ使用量低高(Python)高📊 RAM の 27%
セットアップ時間0 秒約 10 分約 5 分⏱️ 30 秒

✨ 主な機能

🔍 検索エンジン
  • ハイブリッド検索:BM25(Tantivy)+ ベクトル(ONNX all-MiniLM-L6-v2、384d)
  • 逆順位融合:キーワード検索とセマンティック検索の結果を賢く統合
  • 増分インデックス作成:Blake3 ハッシュを使用し、重複のないスキャンを実現
  • リソースに応じた最適化:CPU/GPU を自動検出し、バッチサイズを調整
🤖 AI 連携
  • MCP プロトコル:Model Context Protocol をネイティブサポート
  • 組み込みツール 7 種:scan、query、embed、stats、remember、recall、status
  • 自動登録:Claude Code、Cursor、Cline、Continue、Windsurf、MiMoCode で動作
  • セッションメモリ:セッションをまたいで会話のコンテキストを保持
🛠️ 開発者向け機能
  • 単一バイナリ:Python、Node、依存関係は不要
  • ファイル監視:ファイル変更時にインデックスを自動再作成
  • REST API:独自の連携向けにポート 9090 で HTTP エンドポイントを提供
  • CLI 優先:ターミナルからすべてを操作

🎬 動作を見る

AIKD のデモ

$ aikd init
✅ AIKD initialized for project

$ aikd scan
📊 Indexed 847 files, 12,453 chunks in 1.2s

$ aikd query "authentication flow"
1. src/auth/login.rs (Lines 45-89, Score: 0.923)
   Implements JWT-based authentication with refresh tokens...

2. src/middleware/auth.rs (Lines 12-34, Score: 0.871)
   Validates Bearer tokens on protected routes...

3. docs/architecture/auth.md (Lines 1-25, Score: 0.845)
   Authentication flow diagram and security considerations...

📦 インストール

推奨(ワンライナー)

Linux / macOS:

curl -sSf https://raw.githubusercontent.com/gelutjari/aikd/main/install.sh | bash

Windows(PowerShell):

irm https://raw.githubusercontent.com/gelutjari/aikd/main/install.ps1 | iex
その他の方法
📦 crates.io からインストール(Rust がインストール済みの場合)
cargo install aikd
🍺 Homebrew(macOS/Linux)
brew install gelutjari/tap/aikd
🔧 ソースからビルド
git clone https://github.com/gelutjari/aikd.git
cd aikd
cargo build --release
cp target/release/aikd ~/.local/bin/
🐳 Docker
docker run -v $(pwd):/workspace -p 9090:9090 ghcr.io/gelutjari/aikd:latest

⚡ クイックスタート(3 分)

ステップ 1:初期化
cd your-project
aikd init
aikd init は何をしますか?

プロジェクトの種類(Rust、Node、Python、Go)に応じた適切なデフォルト設定で ~/.aikd/config.yaml を作成します。.git、Cargo.toml、package.json などを検出し、適切なファイルフィルターを設定します。

### ステップ 2:コードベースをスキャンする ```bash aikd scan ```
スキャン中に何が行われますか?
  1. ディレクトリツリーを走査します(node_modules、.git、target などはスキップします)
  2. 意味的な境界(関数、見出し)に基づいてファイルを分割します
  3. BM25 インデックス(Tantivy)とベクトル埋め込み(ONNX)を生成します
  4. すべてをローカルの SQLite データベースに保存します
ステップ 3:検索する
# Keyword search (fast)
aikd query "error handling"

# Semantic search (smart)
aikd query "how does login work" --hybrid

# Get JSON output for scripting
aikd query "database connection" --json
ステップ 4:AI エージェントに接続する
Claude Code / Cursor / Cline

AIKD は MCP 経由で自動登録されます。aikd scan を実行した後、AI エージェントを再起動するだけです。

MCP の設定は ~/.aikd/mcp.json にあります:

{
  "mcpServers": {
    "aikd": {
      "command": "aikd",
      "args": ["serve"]
    }
  }
}
REST API
# Start the daemon
aikd daemon

# Query via HTTP
curl "http://localhost:9090/api/query?q=authentication&limit=5"

🎛️ 使用モード

                    ┌─────────────────┐
                    │   How to use    │
                    │     AIKD?       │
                    └────────┬────────┘
                             │
            ┌────────────────┼────────────────┐
            ▼                ▼                ▼
     ┌──────────┐     ┌──────────┐     ┌──────────┐
     │   CLI    │     │   MCP    │     │ REST API │
     │  Mode    │     │  Server  │     │  Daemon  │
     └──────────┘     └──────────┘     └──────────┘
     Best for:        Best for:        Best for:
     • Quick search   • AI agents      • Web apps
     • Scripts        • Claude Code    • Custom UIs
     • CI/CD          • Cursor         • Team shared

CLI モード(デフォルト):

aikd query "rust error handling" --limit 5
aikd stats
aikd status

MCP サーバー(AI エージェント向け):

aikd serve  # Starts stdio MCP server

REST デーモン(バックグラウンドサービス):

aikd daemon              # Start in background
aikd daemon foreground   # Start in foreground
aikd daemon-stop         # Stop daemon

📊 ベンチマーク結果

AIKD のベンチマーク

ハードウェア: AMD EPYC 7B13、7.8GB RAM、NVMe SSD

操作時間スループット
1,000 ファイルのインデックス作成144ms6,934 ファイル/秒
BM25 検索0.21ms4,762 クエリ/秒
ハイブリッド検索0.35ms2,857 クエリ/秒
並行処理(500)28ms17,669 クエリ/秒
埋め込み(バッチ)12ms/バッチ約800 チャンク/秒

リソース使用量:

CPU: ████████░░░░░░░░░░░░ 22.9%
RAM: █████░░░░░░░░░░░░░░░ 27.4%

💡 実環境での目安: 人間のまばたきには約300msかかります。その間に、AIKD はコードベース全体を対象に857 回のハイブリッド検索を完了できます。


⚙️ 設定

デフォルト設定(~/.aikd/config.yaml):

version: 2.0.0
scan:
  include_paths: ["."]
  exclude_paths: ["node_modules", ".git", "target"]
  include_extensions: ["rs", "ts", "py", "md", "json"]
  follow_symlinks: false
chunk:
  max_tokens: 1000
  min_tokens: 100
embedding:
  enabled: true
  model: all-MiniLM-L6-v2
  batch_size: auto
server:
  rest_port: 9090
  auth_token: null
  cors_origins: ["*"]
🐌 低速なマシン(4GB RAM、2 コア)
embedding:
  enabled: true
  batch_size: 8
  device: cpu
resource:
  mode: Low
💪 高性能なマシン(32GB RAM、16 コア、GPU)
embedding:
  enabled: true
  batch_size: 64
  device: gpu
resource:
  mode: Max
📝 ドキュメントのみのプロジェクト
scan:
  include_extensions: ["md", "txt", "rst"]
  exclude_paths: [".git"]
filter:
  max_file_size: 524288  # 512KB
👥 チームでの共有
server:
  rest_port: 9090
  auth_token: "your-secret-token"
  cors_origins:
    - "https://your-team-app.com"

🏗️ アーキテクチャ

AIKD のアーキテクチャ

┌─────────────────────────────────────────────────────────────┐
│                        AIKD v2.0.0                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────────┐  │
│  │  CLI    │  │  MCP    │  │  REST   │  │ File Watcher│  │
│  │ (clap)  │  │ (rmcp)  │  │ (axum)  │  │  (notify)   │  │
│  └────┬────┘  └────┬────┘  └────┬────┘  └──────┬──────┘  │
│       │            │            │               │          │
│       └────────────┴────────────┴───────────────┘          │
│                            │                                │
│  ┌─────────────────────────┴──────────────────────────┐    │
│  │                   Core Engine                       │    │
│  ├─────────────┬─────────────┬─────────────────────────┤    │
│  │  Scanner    │   Chunker   │      Session Manager    │    │
│  │ (walkdir)   │(pulldown-   │    (conversation DB)    │    │
│  │             │  cmark)     │                         │    │
│  └──────┬──────┴──────┬──────┴─────────────────────────┘    │
│         │             │                                      │
│  ┌──────┴──────┐ ┌────┴─────┐ ┌──────────────────────┐     │
│  │  Indexer    │ │ Embedder │ │     Storage           │     │
│  │  (Tantivy)  │ │ (ONNX)   │ │   (SQLite + WAL)     │     │
│  │  BM25 +     │ │ 384d     │ │   + r2d2 pool        │     │
│  │  HNSW ANN   │ │ MiniLM   │ │   + blake3 hashing   │     │
│  └─────────────┘ └──────────┘ └──────────────────────┘     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

詳しい説明については、docs/ARCHITECTURE.md をご覧ください。


🆘 トラブルシューティング

診断コマンド:

aikd status --json     # System info
aikd stats             # Index statistics
aikd daemon-pid        # Check if daemon running
「結果が見つかりません」
  1. まず aikd scan を実行します
  2. aikd stats を実行し、ファイルがインデックス化されていることを確認します
  3. より広範な検索語を試します
  4. 設定の include_extensions を確認します
「モデルがダウンロードされていません」
aikd model download

これにより、約90MBの ONNX モデルが ~/.local/share/aikd/model/ にダウンロードされます。

「ポート 9090 はすでに使用されています」
# Change port in config
# ~/.aikd/config.yaml
server:
  rest_port: 9091

または、既存のプロセスを停止します:aikd daemon-stop

メモリ使用量が多い

リソースモードを Low に設定します:

resource:
  mode: Low
  max_memory_mb: 512
MCP が Claude/Cursor に接続できない
  1. ~/.aikd/mcp.json が存在することを確認します
  2. AI エージェントを再起動します
  3. aikd serve が動作することを確認します:echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | aikd serve
Windows:「vcruntime140.dll が見つかりません」

Visual C++ Redistributable をインストールします。


🤝 コミュニティ

サポートを受ける:

コントリビューター:

貢献内容担当
🏗️ アーキテクチャとコア機能@gelutjari
🔒 セキュリティ監査AI 支援(MiMo)
⚡ パフォーマンス最適化コミュニティ
📖 ドキュメントコミュニティ

貢献方法については、CONTRIBUTING.md をご覧ください。


📄 ライセンス

MIT ライセンス — 詳細については LICENSE をご覧ください。


⭐ AIKD が AI エージェントの記憶に役立ったら、このリポジトリにスターを付けてください!

スター履歴グラフ

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。