mcpField
D
DevContext: Autonomous Context Awareness Model-Context-Protocol (MCP) Server

DevContext: Autonomous Context Awareness Model-Context-Protocol (MCP) Server

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

DevContext: Autonomous Context Awareness Model-Context-Protocol (MCP) Server について

DevContext は、開発者のプロジェクトに特化したコンテキスト認識を提供する MCP サーバーです。ベクトル埋め込みではなく、キーワード分析、関係グラフ、構造化メタデータを用いて情報を検索します。各インスタンスは単一のプロジェクトを対象とし、推奨構成として Cursor Rules と組み合わせて利用します。

主な機能

  1. 01プロジェクトごとの専用データベースインスタンス
  2. 02キーワードと関係グラフによるベクトル非依存の検索
  3. 03コードエンティティのインデックス作成と関係の追跡
  4. 04会話コンテキストの初期化・更新・終了管理
  5. 05マイルストーンの記録とパターンの昇格

活用シーン

  1. 01Cursor で AI アシスタント向けにプロジェクトのコンテキストを維持
  2. 02セッションをまたいだ開発マイルストーンと判断の記録
  3. 03コード記述前の外部ライブラリドキュメントの取得

MCP 対応

本プロジェクトは MCP サーバーとして、initialize_conversation_context、update_conversation_context、retrieve_relevant_context、record_milestone_context、finalize_conversation_context などのツールを Cursor などの IDE クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"devcontext": {
"command": "npx",
"args": [
"-y",
"devcontext"
],
"env": {
"TURSO_DATABASE_URL": "<TURSO_DATABASE_URL>",
"TURSO_AUTH_TOKEN": "<TURSO_AUTH_TOKEN>"
}
}
}
}
起動コマンドnpx -y devcontext
設定が必要な環境変数
TURSO_DATABASE_URL
TURSO_AUTH_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdevcontext

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
focusHintobjectいいえ
focusHint.typestringはい
focusHint.identifierstringはい
tokenBudgetnumberいいえ
contextDepthenumいいえminimal | standard | comprehensive
initialQuerystringいいえ
maxRecentChangesnumberいいえ
includeArchitecturebooleanいいえ
maxCodeContextItemsnumberいいえ
includeRecentConversationsbooleanいいえ

詳細

DevContext:自律型コンテキスト認識 Model-Context-Protocol(MCP)サーバー

DevContext バナー

インテリジェントなコンテキスト認識で、開発ワークフローを強化しましょう - DevContext はコードベース、会話、開発パターンを理解し、必要なときに必要なコンテキストを提供します。

はじめに

DevContext は、開発者にプロジェクト中心の継続的なコンテキスト認識を提供するために設計された、最先端の Model Context Protocol(MCP)サーバーです。従来のコンテキストシステムとは異なり、DevContext は開発パターンから継続的に学習し、それに適応します。DevContext は、高度な検索手法を活用し、キーワード分析、関係性グラフ、構造化メタデータに重点を置くことで、開発中に関連性の高いコンテキストを提供し、会話とコードベースの両方をより深いレベルで理解します。

このサーバーは単一のプロジェクト専用のデータベースインスタンスで動作し、プロジェクト間の複雑さを排除するとともに、最小限のリソース要件でパフォーマンスを確保します。DevContext は、リポジトリ構造から個々の関数に至るまでコードベースを包括的に理解し、開発パターンから継続的に学習して、それに適応します。

この MCP サーバーの最適な利用方法は、以下のガイドに従って、提供されている Cursor Rules システムを導入することです。これにより、次の機能を利用できます。

  • 完全に自律的なコンテキスト管理
  • 自律的な外部ドキュメントのコンテキストと活用
  • 完全なタスク管理ワークフローとの統合
コアテクノロジー
  • Node.js:ランタイム環境(Node.js 18 以降)
  • TursoDB:エッジデプロイメントに最適化された SQL データベース(SQLite と互換)
  • Model Context Protocol SDK:IDE クライアントとの標準化された通信に使用
  • Cursor Rules:自律的な開発環境とワークフロー管理
  • JavaScript/TypeScript:外部の ML 依存関係を使用しない純粋な JavaScript 実装

インストールガイド

前提条件
  • Node.js 18.0.0 以降
  • MCP に対応した Cursor IDE
  • TursoDB アカウント(データベース用)
ステップ 1:TursoDB データベースをセットアップする
  1. TursoDB に登録する:

    • Turso にアクセスしてアカウントを作成します
    • ほとんどのプロジェクトでは無料プランで十分です
  2. Turso CLI をインストールする(任意ですが推奨):

    curl -sSfL https://get.turso.tech/install.sh | bash
    
  3. Turso で認証する:

    turso auth login
    
  4. プロジェクトデータベースを作成する:

    turso db create devcontext
    
  5. データベースの認証情報を取得する:

    # Get database URL
    turso db show devcontext --url
    
    # Create auth token
    turso db tokens create devcontext
    

次のステップのために、URL とトークンの両方を保存します。

ステップ 2:Cursor で MCP を設定する(他の IDE にも適用できます)

プロジェクトディレクトリに .cursor/mcp.json を作成するか、編集します。

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "your-turso-database-url",
        "TURSO_AUTH_TOKEN": "your-turso-auth-token"
      }
    }
  }
}

your-turso-database-url と your-turso-auth-token を、ステップ 1 で取得した値に置き換えます。

Cursor Rules の導入

DevContext は、自律的な開発環境を構築する高度な Cursor Rules セットを導入します。これらのルールは、プロジェクトの範囲との整合性の維持、最新ドキュメントの取り込み、高度なタスクワークフローの実装を Cursor の AI アシスタントに指示します。

近日公開予定の DevContext Project Generator にご期待ください。プロジェクトのセットアップを完全に自動化し、開発ワークフローを文字どおり 10 倍にします。

主なルールの構成要素
1. DevContext MCP ツールの使用ガイド

中核となるルールでは、ツール実行の正確な順序を定義します。

1. FIRST: Call initialize_conversation_context EXACTLY ONCE at START
2. AS NEEDED: Call update_conversation_context for code changes/new messages
3. AS NEEDED: Call retrieve_relevant_context when specific context is required
4. OCCASIONALLY: Call record_milestone_context for significant achievements
5. LAST: Call finalize_conversation_context EXACTLY ONCE at END

このワークフローにより、開発セッション全体を通じて包括的なコンテキスト管理が実現します。

2. 外部ライブラリのドキュメント要件

外部ライブラリを使用する場合は、事前に適切なドキュメントを取得する必要があります。

  • Context7 を使用した 2 段階のドキュメント取得
  • Context7 で入手できないドキュメントについては ウェブ検索でフォールバック
  • 包括的な理解のための 複数ソースによるドキュメントの統合

これにより、API の誤った使用、互換性のないバージョン、依存関係の不足といった一般的な問題を防止できます。

3. タスクワークフローシステム

タスクワークフローシステムでは、次のことが可能になります。

  • tasks.md による構造化されたタスク管理
  • タスク ID に基づく実装順序
  • 完了メタデータを含むステータス追跡
  • アーキテクチャのコンテキストを把握するためのプロジェクト設計図の統合
Cursor ルールの設定
  1. ルールディレクトリを作成:

    mkdir -p .cursor/rules
    
  2. ルールをダウンロード/コピーして貼り付け:

.cursor/rules ディレクトリをダウンロードするか、コピーしてプロジェクトに貼り付けます。次に、プロジェクトのルートにある .cursorrules ファイルの内容をコピーして、Cursor の設定にあるルール(Cursor Settings -> Rules -> User Rules)に貼り付けます。また、.cursorrules ファイルをメインディレクトリにもコピーして貼り付けてください。

  1. タスクワークフローをカスタマイズ(任意): Cursor ルールを設定したら、Cursor を再起動し、任意のプロジェクトのアイデアに基づいてタスクを作成するよう依頼してください。

設定例

DevContext と Context7 の両方の MCP サーバーを設定する mcp.json ファイルの完全な例を以下に示します。

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "libsql://your-project-db-name.turso.io",
        "TURSO_AUTH_TOKEN": "your_turso_auth_token_here"
      }
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}
重要なパラメーター
パラメーター説明デフォルト値
TURSO_DATABASE_URLTursoDB インスタンスの URLなし(必須)
TURSO_AUTH_TOKENTursoDB の認証トークンなし(必須)

目次

システム概要

DevContext は、ソフトウェア開発向けの最先端のコンテキスト管理システムです。高度なコンテキスト取得手法を用いて Model Context Protocol(MCP)を実装しています。

このシステムはモジュール式の JavaScript コードベースを持つ Node.js アプリケーションとして動作し、esbuild を使用して単一の .js ファイルにバンドルされます。特定のプロジェクトのすべてのコンテキスト、メタデータ、および任意のログを永続的に保存するために、TursoDB(または同様の SQL データベース)を利用します。

主な差別化要因:

  • 非ベクトル検索:ベクトル埋め込みの代わりに、高度なキーワード分析、関係グラフ、構造化メタデータを使用してコンテキストを取得します
  • プロジェクト中心の設計:各サーバーインスタンスを単一のプロジェクト専用にすることで、データ管理を簡素化します
  • 依存関係の最小化:MCP SDK、TursoDB クライアント、軽量な AST 解析に必要なコア要素のみに限定しています
  • 階層的な理解:リポジトリ構造から関数や変数のレベルまで、コンテキストを理解します
  • インテリジェントなコンテキストの優先順位付け:新しさ、重要度、関係性、開発者の注目度に基づき、複数の要素を考慮して関連性をスコアリングします

コアコンポーネント

テキスト処理
  • JavaScript/TypeScript、Python、Java、C#、Ruby、Go に対する専用処理を含む、言語を考慮したトークン化
  • 言語固有の重み付けによるキーワード抽出
  • 意味的な境界を尊重する n-gram
  • 言語固有のイディオム検出
コンテキスト管理
  • コードエンティティのインデックス作成と関係性の追跡
  • 会話トピックの分割と目的の検出
  • タイムラインイベントの記録とマイルストーンのスナップショット
  • 開発者のアクティビティに基づく注目領域の予測
パターン認識
  • コードパターンの特定と保存
  • 例からのパターンの自動学習
  • セッションをまたいだパターンの昇格
  • デザインパターンの検出
意図と関連性の分析
  • クエリ意図の予測
  • 複数要素に基づくコンテキストの優先順位付け
  • トークン予算の管理
  • トピックの移行をまたいだコンテキストの統合

MCP ツール

DevContext は、Cursor IDE から呼び出せる以下の MCP ツールを実装しています。

initialize_conversation_context

包括的なプロジェクトコンテキストを使用して、新しい会話セッションを初期化します。

使用するタイミング:すべての会話の開始時に、必ず 1 回だけ使用します。

主なパラメーター:

  • initialQuery:ユーザーの最初のメッセージまたは質問
  • contextDepth:最小、標準、または包括的なコンテキストの深さ
  • includeArchitecture:アーキテクチャのコンテキストを含めるかどうか
  • focusHint:特定のコードエンティティに焦点を当てるための任意のヒント

戻り値:会話 ID と初期コンテキストの要約

update_conversation_context

新しいメッセージやコード変更を反映して、アクティブなコンテキストを更新します。

使用するタイミング:コードを変更した後、または新しいメッセージをやり取りした後に使用します。

主なパラメーター:

  • conversationId:initialize_conversation_context から取得した ID
  • newMessages:前回の更新以降にやり取りした新しいメッセージ
  • codeChanges:新規作成または変更したコードファイル
  • preserveContextOnTopicShift:トピックが変わる際にコンテキストを維持するかどうか

戻り値:更新された注目領域と、コンテキストの連続性に関する情報

retrieve_relevant_context

特定のクエリに関連するコンテキストのスニペットを取得します。

使用するタイミング:特定のプロジェクトコンテキストが必要な場合に使用します。

主なパラメーター:

  • conversationId:initialize_conversation_context から取得した ID
  • query:プロジェクトに関する具体的な質問
  • constraints:エンティティタイプ、ファイルパスなどの任意のフィルター
  • weightingStrategy:結果の優先順位付け方法

戻り値:説明付きの関連コンテキストスニペット

record_milestone_context

今後の参照に備えて、重要な開発マイルストーンを記録します。

使用するタイミング:重要な機能の完成、重大なバグの修正、またはアーキテクチャ上の決定を行った後に使用します。

主なパラメーター:

  • conversationId:initialize_conversation_context から取得した ID
  • name:簡潔で分かりやすいマイルストーン名
  • description:詳細な説明
  • milestoneCategory:カテゴリ(機能、バグ修正、リファクタリングなど)
  • assessImpact:影響を分析するかどうか

戻り値:マイルストーン ID と影響評価

finalize_conversation_context

会話を終了し、得られた学びを抽出して、次のステップを提案します。

使用するタイミング:すべての会話の終了時に、必ず 1 回だけ使用します。

主なパラメーター:

  • conversationId:initialize_conversation_context から取得した ID
  • extractLearnings:学びを特定して抽出するかどうか
  • promotePatterns:パターンをグローバルリポジトリに昇格するかどうか
  • generateNextSteps:フォローアップのアクションを提案するかどうか

戻り値:会話の要約、抽出された学び、次のステップ

データアーキテクチャ

DevContext は、次のコアテーブルを備えた SQL データベース(TursoDB)を使用します。

  • code_entities:ファイル、関数、クラスなどからインデックス化したコードを保存します。
  • entity_keywords:キーワードとコードエンティティの対応関係を検索用に保存します。
  • code_relationships:コードエンティティ間の関係を追跡します。
  • conversation_history:会話メッセージを保存します。
  • conversation_topics:会話を一貫性のあるトピックに分割します。
  • timeline_events:重要な開発イベントを記録します。
  • project_patterns:特定されたコードパターンを保存します。
  • focus_areas:開発者の注目点と意図を追跡します。

データベーススキーマはサーバーによって自動的に作成、管理されます。

技術仕様

  • Node.js:バージョン 18.0.0 以降が必要です
  • データベース:TursoDB(または互換性のある SQLite)
  • バンドル:単一ファイルでのデプロイに ESBuild を使用
  • プロトコル:@modelcontextprotocol/sdk を介した Model Context Protocol
  • 解析:軽量な JavaScript AST 解析(acorn)
  • オペレーティングシステム:クロスプラットフォーム(Windows、macOS、Linux)

パフォーマンスに関する考慮事項

DevContext は、次の方法でパフォーマンスを最適化しています。

  • 効率的な SQL クエリと適切なインデックス設定
  • 頻繁にアクセスされるデータを対象としたメモリ内キャッシュ
  • 処理を最小限に抑える差分更新
  • ノンブロッキング実行のための非同期操作
  • トークン予算に基づく適応型コンテキスト取得
  • アイドル時間中に実行するスケジュールされたバックグラウンドタスク

大規模なコードベース(>100,000 LOC)では、初回のインデックス作成に数分かかる場合がありますが、その後の操作は高速で応答性に優れています。

セキュリティ

  • 分離されたデータベース:各プロジェクトで専用のデータベースインスタンスを使用します
  • 安全な認証情報:TursoDB の認証情報は環境変数で管理されます
  • 入力検証:すべての入力を Zod スキーマで検証します
  • パラメーター化クエリ:SQL インジェクションを防止します
  • 外部 API なし:すべての処理をローカルで実行します

トラブルシューティング

よくある問題と解決策:

  • 接続エラー:TursoDB の認証情報とデータベース URL を確認してください
  • 初回起動が遅い:大規模なコードベースでは正常です。2 回目以降の起動は速くなります
  • コンテキストが見つからない:トークン予算を確認し、必要に応じて増やしてください
  • ツールエラー:ツール間で適切な会話 ID が渡されていることを確認してください
  • パフォーマンスの問題:インデックス作成対象のファイル範囲を縮小するか、キャッシュサイズを増やすことを検討してください

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。


DevContext:継続的な進歩のための継続的なコンテキスト

コメント

MCP は初めてですか?

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

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