SourceSage: LLM のための効率的なコードメモリ
SourceSageは、コードベースの主要な側面(ロジック、スタイル、標準)を効率的に記憶し、動的な更新と高速な取得を可能にするMCP(Model Context Protocol)サーバーです。LLMの複数言語にわたるコード理解を活用し、言語に依存しないように設計されています。
特徴
- 言語に依存しない: LLMが理解できるあらゆるプログラミング言語で動作します
- ナレッジグラフストレージ: コードエンティティ、関係、パターン、スタイル規則を効率的に保存します
- LLM駆動型分析:LLMを利用してコードを分析し、洞察を提供する
- トークン効率の高いストレージ: メモリ容量を最大化しながらトークンの使用を最小限に抑えるように最適化します。
- 増分更新:冗長ストレージなしでコードが変更されたときに知識を更新します
- 高速検索:関連情報を迅速かつ正確に検索できます
仕組み
SourceSage は次のような斬新なアプローチを採用しています:
- LLMはコードファイル(あらゆる言語)を分析します
- LLMはMCPツールを使用して、エンティティ、関係、パターン、およびスタイル規則を登録します。
- SourceSageはこの知識をトークン効率の良いグラフ構造に保存する
- LLMは必要に応じてこの知識を後で照会できる。
このアプローチは、LLM の固有の言語理解を活用しながら、MCP サーバーを効率的なメモリ管理に重点を置きます。
インストール
使用法
MCPサーバーの実行
Claude for Desktop への接続
- デスクトップ版Claudeを開く
- 設定 > 開発者 > 設定の編集に移動します
claude_desktop_config.json
に以下を追加します。
パッケージをインストールした場合:
インストールせずにローカル ディレクトリから実行している場合:
- デスクトップ版のClaudeを再起動
利用可能なツール
SourceSage は次の MCP ツールを提供します。
- register_entity : ナレッジグラフにコードエンティティを登録する
- register_relationship : エンティティ間の関係を登録する
- register_pattern : コードパターンを登録する
- register_style_convention : コーディングスタイル規約を登録する
- add_entity_observation : エンティティに観測を追加する
- query_entities : ナレッジグラフ内のクエリエンティティ
- get_entity_details : エンティティの詳細情報を取得する
- query_patterns : ナレッジグラフ内のクエリコードパターン
- query_style_conventions : クエリコーディングスタイルの規約
- get_knowledge_statistics : ナレッジグラフに関する統計情報を取得する
- clear_knowledge : グラフからすべての知識をクリアします
クロードによるワークフローの例
- コードの分析: Claude にコードファイルの分析を依頼します
- エンティティの登録: Claudeはregister_entityツールを使用してコードエンティティを保存します。
- 関係の登録: Claudeはregister_relationshipツールを使用して関係を保存します
- クエリ知識: 後で、Claudeにコードベースについて質問します
- コーディングパターンを入手する: コーディングパターンについてクロードに質問する
どう違うのか
従来のコード分析ツールとは異なり、SourceSage は次のことを行います。
- LLMの理解を活用: LLMの能力を活用して言語間のコードセマンティクスを理解します
- 意味的知識を保存: 構文だけでなく意味と関係性に焦点を当てます
- 言語に依存しない: LLMが理解できるあらゆるプログラミング言語で動作します
- トークン効率を最適化: トークンの使用を最小限に抑える方法で知識を保存します
- LLMの機能とともに進化: LLMが進化するにつれて、コードの理解も向上します
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
SourceSageは、コードベースの主要な側面(ロジック、スタイル、標準)を効率的に記憶し、動的な更新と高速な取得を可能にするMCP(Model Context Protocol)サーバーです。LLMの複数言語にわたるコード理解を活用し、言語に依存しないように設計されています。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.Last updated -1474JavaScriptApache 2.0
- -securityFlicense-qualityAn MCP server that enables language models to access code intelligence features like completions, definitions, and references across multiple programming languages through the Language Server Protocol.Last updated -Python
- -securityAlicense-qualityA MCP server that transforms code repositories from GitHub, GitLab, or local directories into LLM-friendly formats, preserving context and structure for better AI processing.Last updated -1PythonApache 2.0
- -securityAlicense-qualityAn MCP server that analyzes codebases and generates contextual prompts, making it easier for AI assistants to understand and work with code repositories.Last updated -10PythonMIT License
Appeared in Searches
- Retrieve the latest documentation of libraries in word embeddings form for LLMs
- Using local LLMs for code writing, reviewing, and rule generation
- Assistance with reviewing and merging code changes in a merge request
- Resources or Assistance for Learning to Code
- Developing Transformer-based deep learning models with PyTorch, PyTorch Lightning, and GluonTS for integration in AI-powered IDEs