LlamaIndex を使用した永続コード MCP サーバー
Claude によって生成されたコードのセマンティックナレッジグラフを作成・維持する Model Context Protocol (MCP) サーバー。LlamaIndex を搭載しており、コードベース全体をコンテキストウィンドウに表示することなく、高度なセマンティック検索機能を使用してセッション間でコンテキストを維持できます。
問題と解決策
Claude でソフトウェアを開発する場合:
- コンテキストウィンドウが制限されているため、大規模なコードベースでの作業が困難です。
- セッション間で以前のコードコンテキストが失われます
- クロードはプロジェクト構造を継続的に理解していない
- 各セッションでコードの冗長な説明が必要
- 実装の一貫性を維持することは困難である
Persistent-Code は、次の方法でこれらの問題を解決します。
- コードコンポーネントとその関係の知識グラフを作成する
- 各コンポーネントの実装状況の追跡
- コードベースをナビゲート、クエリ、理解するためのツールを提供する
- 特定のコーディングタスクに必要な最小限のコンテキストを組み立てる
- チャットセッションを通じて永続的な知識を維持する
LlamaIndex 統合
Persistent-Code は LlamaIndex を活用して強化されたセマンティック理解を提供します。
- セマンティック検索: キーワードだけでなく意味に基づいてコードコンポーネントを検索します
- ベクトル埋め込み: 類似性マッチングのためにコードをベクトル空間に埋め込む
- ナレッジグラフ: コンポーネント間の関係は意味的に追跡されます
- コンテキスト検索:意味的関連性に基づいて関連コードが検索されます
この統合により、Claude はコードベースをより深いレベルで理解できるようになります。
- 名前だけでなく、機能に基づいて関数を検索します
- コンテキストを準備するときに、より関連性の高いコードコンポーネントを取得します
- コンポーネント間の関係をより深く理解する
- 類似の実装例をより正確に検索
インストール
前提条件
- Python 3.10以上
- UV パッケージ マネージャー (推奨) または pip
セットアップ
使用法
プロジェクトの初期化
サーバーの起動
デスクトップ版Claudeの設定
- Claude for Desktop の構成ファイルを編集します。
- 場所:
~/Library/Application Support/Claude/claude_desktop_config.json
- 次の構成を追加します。
- 場所:
- デスクトップ版のClaudeを再起動
- Claudeにコードについて尋ねてMCPサーバーに接続します
利用可能なツール
ナレッジグラフ管理
add_component
: グラフに新しいコードコンポーネントを追加するupdate_component
: 既存のコンポーネントを更新するadd_relationship
: コンポーネント間の関係を作成する
コードの取得とナビゲーション
get_component
: IDまたは名前でコンポーネントを取得するfind_related_components
: 指定されたコンポーネントに関連するコンポーネントを検索するsearch_code
: コードベースを意味的に検索する
ステータス管理
update_status
: コンポーネントの実装ステータスを更新するget_project_status
: プロジェクト全体の実装ステータスを取得するfind_next_tasks
: 実装する論理的な次のコンポーネントを提案する
コンテキストアセンブリ
prepare_context
: 特定のタスクのための最小限のコンテキストを組み立てるcontinue_implementation
: コンポーネントの実装を続行するためのコンテキストを提供するget_implementation_plan
: 保留中のコンポーネントを実装するための計画を生成する
コード分析
analyze_code
: コードを分析し、ナレッジグラフを更新する
ワークフローの例
- プロジェクトを初期化します。
- サーバーを起動します。
- Claude にプロジェクトの設計を依頼してください。
- クロードはコンポーネントを作成し、ナレッジグラフで追跡します。
- 後のセッションで開発を続けます。
- クロードは現在のステータスを取得し、次のステップを提案します
- 特定のコンポーネントを実装します。
- クロードは関連するコンテキストを取得し、一貫した実装を提供します
セマンティック検索の使用
LlamaIndex の統合により、より自然な言語を使用してコンポーネントを検索できるようになりました。
Claude は、「タスク完了」という単語が明示的に含まれていなくても、セマンティック検索を使用して関連するコンポーネントを見つけます。
LlamaIndexデモの実行
セマンティック機能を紹介するデモ スクリプトを用意しました。
ここでは、カレンダー アプリケーションを分析し、機能のセマンティック検索を実行する方法を説明します。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Claude とのセッション間でコンテキストを維持できるようにするコードのセマンティック ナレッジ グラフを作成および維持し、コンテキスト ウィンドウでコードベース全体を必要とせずに高度な検索機能を提供します。
Related MCP Servers
- AsecurityFlicenseAqualityProvides sophisticated context management for Claude, enabling persistent context across sessions, project-specific organization, and conversation continuity.Last updated -41JavaScript
- -securityFlicense-qualityA Model Context Protocol server for Claude Desktop that provides structured memory management across chat sessions, allowing Claude to maintain context and build a knowledge base within project directories.Last updated -TypeScript
- -securityFlicense-qualityA powerful context management system that maintains persistent context across coding sessions, helping development teams track project structure, dependencies, and progress.Last updated -TypeScript
- -securityFlicense-qualityProvides semantic search capabilities over PyTorch documentation, enabling users to find relevant documentation, APIs, code examples, and error messages through Claude Code integration.Last updated -1Python