Persistent-Code MCP Server

Integrations

  • Used in the example workflow to design and implement a Todo app, with the MCP server tracking components and providing consistent implementation guidance.

  • Offers code component management for Python projects, including semantic search, relationship tracking, and implementation status monitoring across development sessions.

LlamaIndex を使用した永続コード MCP サーバー

Claude によって生成されたコードのセマンティックナレッジグラフを作成・維持する Model Context Protocol (MCP) サーバー。LlamaIndex を搭載しており、コードベース全体をコンテキストウィンドウに表示することなく、高度なセマンティック検索機能を使用してセッション間でコンテキストを維持できます。

問題と解決策

Claude でソフトウェアを開発する場合:

  • コンテキストウィンドウが制限されているため、大規模なコードベースでの作業が困難です。
  • セッション間で以前のコードコンテキストが失われます
  • クロードはプロジェクト構造を継続的に理解していない
  • 各セッションでコードの冗長な説明が必要
  • 実装の一貫性を維持することは困難である

Persistent-Code は、次の方法でこれらの問題を解決します。

  • コードコンポーネントとその関係の知識グラフを作成する
  • 各コンポーネントの実装状況の追跡
  • コードベースをナビゲート、クエリ、理解するためのツールを提供する
  • 特定のコーディングタスクに必要な最小限のコンテキストを組み立てる
  • チャットセッションを通じて永続的な知識を維持する

LlamaIndex 統合

Persistent-Code は LlamaIndex を活用して強化されたセマンティック理解を提供します。

  1. セマンティック検索: キーワードだけでなく意味に基づいてコードコンポーネントを検索します
  2. ベクトル埋め込み: 類似性マッチングのためにコードをベクトル空間に埋め込む
  3. ナレッジグラフ: コンポーネント間の関係は意味的に追跡されます
  4. コンテキスト検索:意味的関連性に基づいて関連コードが検索されます

この統合により、Claude はコードベースをより深いレベルで理解できるようになります。

  • 名前だけでなく、機能に基づいて関数を検索します
  • コンテキストを準備するときに、より関連性の高いコードコンポーネントを取得します
  • コンポーネント間の関係をより深く理解する
  • 類似の実装例をより正確に検索

インストール

前提条件

  • Python 3.10以上
  • UV パッケージ マネージャー (推奨) または pip

セットアップ

# Clone repository git clone https://github.com/your-username/persistent-code-mcp.git cd persistent-code-mcp # Set up environment with UV uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -r requirements.txt # Or with pip python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt

使用法

プロジェクトの初期化

python -m persistent_code init --project-name "YourProject"

サーバーの起動

python -m persistent_code serve --project-name "YourProject"

デスクトップ版Claudeの設定

  1. Claude for Desktop の構成ファイルを編集します。
    • 場所: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 次の構成を追加します。
{ "mcpServers": { "persistent-code": { "command": "path to python in venv", "args": [ "-m", "persistent_code", "serve", "--project-name", "default" ], "cwd": "persistent-code-mcp", "env": { "PYTHONPATH": "abs path to persistent-code-mcp" } } } }
  1. デスクトップ版のClaudeを再起動
  2. 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 : コードを分析し、ナレッジグラフを更新する

ワークフローの例

  1. プロジェクトを初期化します。
    python -m persistent_code init --project-name "TodoApp"
  2. サーバーを起動します。
    python -m persistent_code serve --project-name "TodoApp"
  3. Claude にプロジェクトの設計を依頼してください。
    Can you help me design a Todo app with Python and FastAPI? Let's start with the core data models.
  4. クロードはコンポーネントを作成し、ナレッジグラフで追跡します。
  5. 後のセッションで開発を続けます。
    Let's continue working on the Todo app. What's our implementation status?
  6. クロードは現在のステータスを取得し、次のステップを提案します
  7. 特定のコンポーネントを実装します。
    Let's implement the task completion endpoint for our Todo app
  8. クロードは関連するコンテキストを取得し、一貫した実装を提供します

セマンティック検索の使用

LlamaIndex の統合により、より自然な言語を使用してコンポーネントを検索できるようになりました。

Find me all code related to handling task completion

Claude は、「タスク完了」という単語が明示的に含まれていなくても、セマンティック検索を使用して関連するコンポーネントを見つけます。

LlamaIndexデモの実行

セマンティック機能を紹介するデモ スクリプトを用意しました。

# Activate your virtual environment source .venv/bin/activate # or source venv/bin/activate # Run the demo python examples/llama_index_demo.py

ここでは、カレンダー アプリケーションを分析し、機能のセマンティック検索を実行する方法を説明します。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

Claude とのセッション間でコンテキストを維持できるようにするコードのセマンティック ナレッジ グラフを作成および維持し、コンテキスト ウィンドウでコードベース全体を必要とせずに高度な検索機能を提供します。

  1. Problem & Solution
    1. LlamaIndex Integration
      1. Installation
        1. Prerequisites
        2. Setting Up
      2. Usage
        1. Initializing a Project
        2. Starting the Server
        3. Configuring Claude for Desktop
      3. Available Tools
        1. Knowledge Graph Management
        2. Code Retrieval and Navigation
        3. Status Management
        4. Context Assembly
        5. Code Analysis
      4. Example Workflow
        1. Using Semantic Search
          1. Running the LlamaIndex Demo
            1. Contributing
              1. License
                ID: 9g4urtrzk8