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 ファイルを参照してください。
Tools
SourceSageは、コードベースの主要な側面(ロジック、スタイル、標準)を効率的に記憶し、動的な更新と高速な取得を可能にするMCP(Model Context Protocol)サーバーです。LLMの複数言語にわたるコード理解を活用し、言語に依存しないように設計されています。
Related MCP Servers
- -securityAlicense-qualityThis is an MCP server for PostgREST. It allows LLMs perform database queries and operations on Postgres databases via PostgREST. This server works with both Supabase projects (which use PostgREST) and standalone PostgREST servers.Last updated -6071,904TypeScriptApache 2.0
- -securityFlicense-qualityA Model Context Protocol server that provides AI assistants with structured access to your Logseq knowledge graph, enabling retrieval, searching, analysis, and creation of content within your personal knowledge base.Last updated -45TypeScript
- AsecurityAlicenseAqualityAn MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.Last updated -51455TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with DeepSource to provide AI assistants with access to code quality metrics, issues, and analysis results.Last updated -96752TypeScriptMIT 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