mcpField
A
agentRamen

agentRamen

ローカル
github.com/palrajjp開発ツール12 週間前に更新

agentRamen について

agentRamenは、ソース構造とGit履歴をローカルSQLiteデータベースに索引し、タスクに関係するファイルや抜粋を取得します。コードベースの文脈を絞り込みたいコーディングエージェントや開発者向けで、ローカルのセマンティック検索と認証付きの中央スナップショットサービスも任意で利用できます。

主な機能

  1. 01ソース構造とGit履歴を索引
  2. 02タスクに応じてファイルと抜粋を順位付け
  3. 03依存関係と変更の影響を調査
  4. 04CLI、ローカルMCP、HTTPで利用
  5. 05既定では索引をローカルに保存

活用シーン

  1. 01コーディングエージェントに絞り込んだリポジトリ文脈を提供
  2. 02ファイル変更案の影響を追跡
  3. 03アーキテクチャ、履歴、ホットスポットを調査
  4. 04サニタイズ済みスナップショットをプライベートサービスに公開

MCP 対応

リポジトリの文脈、検索、履歴、影響分析、アーキテクチャ、メモリーのツールを備えたローカルstdio MCPサーバーを起動します。任意の認証付き中央MCPサービスでは、サニタイズされコミットに固定されたスナップショットを提供できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"palrajjp-agentramen": {
"command": "uvx",
"args": [
"agentramen"
]
}
}
}
起動コマンドuvx agentramen

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

パッケージ
pypiagentramen0.2.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

agentRamen

agentRamen のロゴ

CI Python 3.10+ PyPI Apache-2.0 GitHub stars HOL Guard M8ven Score

Apache-2.0 ライセンスです。セキュリティポリシーとコミュニティ行動規範をご覧ください。

OSSDrop の agentRamen

agentRamen はソース構造と Git 履歴をインデックス化し、タスクに関連するファイルや抜粋を取得します。デフォルトではローカル優先です。各開発者がプライベートな SQLite インデックスを保持します。チームは、サニタイズされコミットに固定されたスナップショットを、OIDC で保護された読み取り専用の集中型 MCP サービスに任意で公開できます。

クイックスタート

agentRamen をインストールし、調査したいリポジトリから実行します。

agentramen-demo
python -m pip install agentramen
cd /path/to/your/repository
agentramen init
agentramen context "Add authentication" --budget 2000
agentramen impact src/auth.py

agentramen init は設定を作成してリポジトリをインデックス化し、任意で GitHub Actions の呼び出し側ワークフローを設定します。インデックスはローカルの .agentramen/graph.db に保存されます。

examples/demo.sh で30秒で試せます。ロードマップとコントリビューションガイドをご覧ください。

最小限の VS Code 拡張機能も利用できます。

できること

  • タスクに必要なコンテキストを見つける: パス、シンボル、インポート、Git 履歴、任意のローカル意味的類似性を使ってファイルを順位付けします。
  • 変更の影響を説明する: 依存関係、依存先、同時変更、ホットスポット、ファイル履歴を調べます。
  • リポジトリ構造を把握する: アーキテクチャを調べ、グラフをエクスポートし、キャッシュされたコミットのスナップショットをクエリします。
  • コーディングエージェントに接続する: ローカル MCP stdio、ブラウザー UI、または任意の認証済み集中型 MCP サービスを利用します。
  • ローカルインデックスのプライバシーを保つ: ローカルモードでは、データベースと任意の埋め込みデータは各チェックアウト内に保持されます。集中モードでは、明示的にサニタイズされたスナップショットのみを、運用するインフラストラクチャに転送します。

仕組み

flowchart LR
  repo[Working tree and Git history] --> indexer[Indexer and language analyzers]
  indexer --> db[(Local SQLite graph)]
  optional[Optional local embeddings] --> db
  task[Task or query] --> clients[CLI, MCP, or local HTTP]
  clients --> retrieve[Retrieval and graph queries]
  retrieve <--> db
  retrieve --> excerpts[Ranked files and source excerpts]

デフォルトのインストールでは Python 標準ライブラリを使用し、その他の言語は保守的な解析を行います。任意の追加機能によって、Tree-sitter による解析、ローカル意味検索、モデルを考慮したトークンカウントが利用できます。

比較

プロジェクトスター数アプローチagentRamen との比較
Serenagithub~30.1kLSP ベースのセマンティック検索+編集ツールキット、MCPはるかに幅広く、より広く採用されているエージェントツールキットです
Aider's RepoMapgithub~49.4kTree-sitter+PageRank によるトークン予算制約付きリポジトリマップグラフランキングとトークン予算制約に基づくリポジトリコンテキストの確立された例です(隣接分野:コーディングアプリ内の機能)
Repomixgithub~28.7kリポジトリ全体を AI に適した単一のファイルにまとめる隣接するワークフローです。リポジトリ全体のパッキングと選択的なコンテキストを比較します
code-index-mcpgithub~1k10 言語対応の Tree-sitter AST、永続インデックス、MCP stdio構造的に最も近い単独のインデックスサーバーです。セマンティック検索や CI 統合については記載がありません
agentRamen1SQLite グラフ、Git 履歴によるランキング、MCP+CLI+HTTP+VS Code初日から動作するアルファ版

オプションの追加機能

python -m pip install 'agentramen[treesitter]'
python -m pip install 'agentramen[semantic]'
python -m pip install 'agentramen[tokenizer]'
python -m pip install 'agentramen[central]'

デフォルトのインストールには、ランタイム依存関係がありません。Tree-sitter、セマンティック埋め込み、トークナイザー、リモート MCP サービスはオプトイン方式です。セマンティックモデルのセットアップでは、初回使用時に重みがダウンロードされる場合があります。推論はローカルで実行されます。

agentramen init は、存在しない場合に .agentramen.yml と GitHub Actions の呼び出しワークフローを作成し、その後 .agentramen/graph.db を作成または更新します。agentramen update と agentramen index は、変更されたファイルを増分更新します。データベースは Git の無視対象です。

ローカルモードでは、ソースの抜粋とオプションの埋め込みデータは .agentramen/graph.db に保持されます。中央スナップショットモードでは、認証情報のヒューリスティクスを通過したインデックス済みソースが、プライベートな中央サービスに転送されます。有効にする前に、組織のデータ取り扱い要件を確認してください。

リリースの公開

palrajjp/agentRamen に対して、.github/workflows/publish.yml ワークフローと pypi 環境を使用する PyPI の信頼されたパブリッシャーを設定します。リリースを公開するには、pyproject.toml と agentramen/__init__.py のバージョンを更新し、対応する v プレフィックス付きの Git タグを作成して、そのタグの GitHub リリースを公開します。ワークフローはディストリビューションをビルドし、OIDC を使用して PyPI に公開します。

設定

agentRamen は .agentramen.yml から次のフィールドを読み込みます。

version: 1
indexing:
  incremental: true
git:
  history: true
  co_changes: true
history:
  commits: 100
semantic:
  enabled: false
  model: BAAI/bge-small-en-v1.5
context:
  default_budget: 2000
  tokenizer_model: ""
ignore:
  - .env
  - "*.pem"
  - private/

indexing.incremental: false にすると、インデックス作成のたびに対象となるすべてのファイルを再解析します。git.history: false にすると、保存済みのコミット、名前変更、同時変更の履歴が削除されます。後で有効にすると、設定された直近の履歴が再構築されます。history.commits は保持するコミット数(1~100,000)を制御し、git.co_changes は同時変更のエッジの有効・無効を切り替えます。context.default_budget は、予算が指定されていない場合に CLI、MCP、HTTP API で使用されます。設定ファイルでは依存関係のない YAML サブセットを使用します。サポートされていない値や不正な値は、設定項目固有のエラーとともに拒否されます。.agentramenignore のパターンは、組み込みの除外ルールと YAML の除外ルールを置き換えるのではなく、追加します。

semantic.enabled: true にすると、ローカルでの埋め込み生成とセマンティックなコンテキストのランキングが有効になります。事前に agentramen[semantic] をインストールしてください。semantic.model では FastEmbed モデルを選択します。agentramen[treesitter] を使用すると、対応する Python 以外の言語で Tree-sitter ベースの解析が有効になります。これをインストールしていない場合や、文法が利用できない場合、agentRamen は正規表現による解析にフォールバックします。

context.tokenizer_model では、トークナイザーによるコンテキスト予算の計算に、tiktoken がサポートするモデルを任意で選択できます。使用するには agentramen[tokenizer] をインストールしてください。トークナイザーの語彙は初回使用時にダウンロードされ、キャッシュされる場合があります。その後のカウント処理はローカルで実行されます。依存関係のない、文字数に基づく近似的な代替方式を使用するには、空のままにしてください。コンテキストのレスポンスには token_count_method(tiktoken または approximate)と、設定されている場合はトークナイザーモデルが含まれます。報告される合計予算には、選択したファイル、チームのメモ、パス/ダイジェスト/コミットのエビデンスがまとめて含まれます。ファイルごとのカウントは estimated_tokens として提供されます。

コマンド

agentramen init
agentramen index [--json]
agentramen update [--json]
agentramen status [--json]
agentramen context "Add OAuth login" [--budget 2000] [--json]
agentramen impact src/auth/AuthService.ts [--json]
agentramen explain src/auth/AuthService.ts [--json]
agentramen history src/auth/AuthService.ts [--json]
agentramen search "auth login" [--limit 20] [--json]
agentramen architecture [--at <commit>] [--json]
agentramen hotspots [--limit 20] [--json]
agentramen changes [--limit 20] [--json]
agentramen diff <commit1> <commit2> [--json]
agentramen pr [--base origin/main] [--json]
agentramen export [--at <commit>] [--json]
agentramen benchmark --files 10 1000
agentramen serve [--host 127.0.0.1] [--port 8765]
agentramen mcp

コンテキストレスポンスの例:

{
  "task": "Add authentication",
  "files": [
    {
      "path": "src/auth_service.py",
      "language": "python",
      "symbols": ["AuthService"],
      "imports": [],
      "recent_change": "add authentication",
      "estimated_tokens": 18
    }
  ],
  "token_budget": 2000,
  "files_avoided": 12,
  "confidence": "medium"
}

コンテキストにソースの抜粋が含まれるのは、ファイルがインデックス作成時のハッシュと一致し、検出された認証情報のパターンを含まない場合のみです。トークン数には、利用可能な場合は設定されたモデルのトークナイザーを使用します。それ以外の場合は文字数に基づく近似値であり、トークナイザーによる測定値や性能に関する主張ではありません。

GitHub Actions

agentramen init で作成されるワークフローは、このリポジトリの再利用可能なワークフローを呼び出します。

name: agentRamen
on:
  push:
    branches: ["**"]
  pull_request:
  workflow_dispatch:
  schedule:
    - cron: "17 4 * * 1"
jobs:
  agentramen:
    uses: palrajjp/agentRamen/.github/workflows/index.yml@main

再利用可能なワークフローは、Git 履歴を取得し、キャッシュを復元して、インストール済みパッケージをテストし、チェックアウトしたリビジョンのインデックスを作成し、プルリクエストを要約して、ローカルの SQLite アーティファクトを公開します。この再利用可能なワークフロー以外で CLI を実行する場合は、履歴を保持できるよう、全履歴を取得するチェックアウトを使用してください。

gha-cd または別のワークフローから使用する

デプロイまたはエージェントのジョブの前に、再利用可能なワークフローを呼び出します。task を指定すると、サイズが制限された JSON コンテキストアーティファクトも作成されます。このワークフローがリポジトリのコンテンツを AI プロバイダーに送信することはありません。

jobs:
  agentramen:
    uses: palrajjp/agentRamen/.github/workflows/index.yml@main
    with:
      task: "Trace the deployment workflow and identify rollback dependencies"
      token_budget: 1200

アーティファクトの名前は agentramen-context-${{ github.sha }} です。後続のジョブではこれを取得し、.agentramen-context/agentramen-context.json をエージェントのステップに渡せます。

- uses: actions/download-artifact@v4
  with:
    name: agentramen-context-${{ github.sha }}
    path: .agentramen-context

コンテキスト予算を省略した場合、既定値は 2000 です。このアーティファクトはソースコードと同様に扱ってください。抜粋が含まれる場合があり、リポジトリの GitHub Actions に対するアクセス権と保持ポリシーに従います。

エージェントとの連携

agentRamen の MCP サーバーは、stdio を介してローカルで実行されます。各開発者のマシンに agentRamen を一度インストールし、リポジトリのルートにポータブルな .mcp.json を追加すれば、VS Code Copilot と Claude Code で同じ設定を使用できます。

python -m pip install git+https://github.com/palrajjp/agentRamen.git
{
  "mcpServers": {
    "agentramen": {
      "type": "stdio",
      "command": "agentramen",
      "args": ["mcp"]
    }
  }
}

Claude Code では、プロジェクトスコープのコマンドを実行すると .mcp.json が作成または更新されます。

claude mcp add --transport stdio --scope project agentramen -- agentramen mcp

GitHub Copilot CLI では、同じ mcpServers オブジェクトを $COPILOT_HOME/mcp-config.json に保存します。COPILOT_HOME が設定されていない場合は、~/.copilot/mcp-config.json に保存します。クライアント固有の設定や信頼確認のプロンプトについては、VS Code MCP configuration guide と Claude Code MCP guide を参照してください。

VS Code では、ワークスペースを信頼し、「MCP Servers」ビューから agentramen MCP サーバーを起動します。各開発者は独立した .agentramen/graph.db を保持します。共有設定には .agentramen.yml と .mcp.json をコミットしますが、稼働中の SQLite データベースをネットワーク共有に置かないでください。

エージェントのコンテキストを絞り込む

プロジェクトの AGENTS.md、CLAUDE.md、または Copilot の指示に、次のような指示を追加します。

リポジトリを分析するときは、ファイルを広範囲に読み込む前に、現在のタスクを指定して repo_context を呼び出してください。まずトークン予算を 1200 に設定し、返されたパスを調査範囲として、その後、対象を絞った追加調査のために repo_explain または repo_impact を呼び出してください。インデックス化されたコンテキストだけでは不十分な場合にのみ、検索範囲を広げてください。インデックスが古いようであれば、agentramen update を実行するよう依頼してください。

予算が制限するのは取得されるコンテキストであり、モデルの会話全体ではありません。デフォルトでは文字数に基づく概算でカウントします。モデル固有のカウントが重要な場合は、agentramen[tokenizer] をインストールして context.tokenizer_model を設定してください。変更後に agentramen update を実行すると、開発者のローカルインデックスを段階的に更新できます。

ChatGPT と GPT Store

カスタム GPT から開発者のローカル stdio プロセスを起動することはできません。GPT Action またはホスト型 ChatGPT アプリには、認証を備えた到達可能な HTTPS サービスが必要です。agentramen serve は localhost にバインドされ、認証機能もないため、インターネットに直接公開しないでください。安全なリモート連携には、認証付きゲートウェイまたは別途ホストされた MCP サービスが必要です。GPT の作成と公開が可能かどうかは、現在の ChatGPT プランとワークスペースポリシーによって異なります。OpenAI の GPT creation guide を参照してください。

MCP

リポジトリ内で agentramen mcp を実行し、MCP 対応エージェントがリポジトリの作業ディレクトリでそのコマンドを起動するように設定します。ツールには、repo_context、repo_status、repo_history、repo_search、repo_explain、repo_impact、repo_dependencies、repo_tests、repo_changes、repo_architecture、repo_hotspots、repo_graph、repo_stage_memory、repo_review_queue、repo_approve_memory、repo_reject_memory、repo_publish_memory、repo_team_memory_search、repo_memory_audit があります。stdio サーバーに API キーは不要で、ネットワークサービスにもアクセスしません。

ローカル HTTP API

agentramen serve は、デフォルトで 127.0.0.1 のみをリッスンします。ブラウザー UI は / と /ui で利用できます。API では、GET /health、GET /api/v1/repository、/architecture、/graph、/files/{path}、/impact?path=...、/history?path=...、/hotspots、および POST /api/v1/context または POST /api/v1/search を利用できます。キャッシュされたコミット指定可能なグラフスナップショットを照会するには、/api/v1/graph または /api/v1/architecture に ?at=<commit> を付加します。POST リクエストでは、{"task":"Add OAuth","token_budget":2000} のような JSON オブジェクトを受け付けます。認証機能はありません。認証付きのアクセス制御レイヤーを前段に設けずに、パブリックインターフェイスへバインドしないでください。

ベンチマーク

agentramen benchmark --files 10 1000 を実行すると、合成データでの初回インデックス作成、1 ファイルの増分更新、コンテキスト取得を計測できます。--repository /path/to/repo を追加すると、実際のリポジトリで追跡されている作業ツリーファイルの一時コピーも計測できます。--semantic-mode both を使用すると、セマンティック検索の無効時と有効時を比較できます。有効時の実行には agentramen[semantic] が必要で、設定されたモデルがまだダウンロードされていない場合はダウンロードされます。モデルをセットアップできない場合、そのモードはエラーとして報告されますが、成功したモードの計測結果は引き続き返されます。出力には、語彙検索の候補数、データベースサイズ、検索とインデックス作成にかかった時間が含まれます。

--quality を追加すると、決定論的なラベル付き合成フィクスチャで、タスクからファイルへの対応と影響を受けるテストの適合率・再現率が報告されます。test_evidence には、提案された各テストの確認に使用されたインポートチェーンが表示されます。

agentramen benchmark --quality --json

現在のフィクスチャでは、ファイルとテストの両方で、平均適合率と再現率が 1.0 です。これはフィクスチャの正確性を確認するものであり、実際のリポジトリでの精度を示すものではありません。導入を判断する際は、ご自身のリポジトリからラベルを用意し、そのタスクを計測してください。すべての計測時間とスコアは、リポジトリ、タスクラベル、環境によって異なります。

プライバシーと除外対象

インデックスは、ローカルマシンまたは設定済みの CI アーティファクト内の .agentramen/graph.db に保存されます。セマンティック検索が無効の場合、データベースにはソースのメタデータとハッシュが保存されます。有効の場合は、ローカルで生成された埋め込みも追加で保存されます。agentRamen は、一般的な生成ディレクトリ、環境ファイル、秘密鍵ファイル、サイズの大きいファイル、バイナリファイル、および秘密鍵や認証情報を代入するパターンが認識できる形式で含まれるファイルをスキップします。.agentramenignore にパスパターンを追加できます(1 行につき 1 パターン)。生成されたアーティファクトを公開する前に、除外ルールを確認してください。

検索とメモリ

コンテキスト検索では、増分更新される SQLite の転置インデックスを使って語彙検索の候補を取得し、その後、相互ランク融合によって語彙検索、任意のセマンティック検索、グラフ/履歴のランキングを統合してから、トークン予算を適用します。レビュー対象のメモリは、保留、承認、または却下できます。新しい事実を承認すると、同じ主語を持つ競合する有効な事実は置き換えられます。

チームで承認済みのメモリを共有する

AgentRamen では、各チェックアウトのライブ SQLite データベースを非公開にしています。レビュー済みの事実を共有するには、ステージングして承認した後、.agentramen-shared/memories/<id>.json に公開します。そのファイルをプルリクエストでコミットすると、チームメイトが変更をレビューして履歴を確認でき、Git 経由で更新を受け取れます。メモリごとにファイルを分けることで、無関係な追加内容が競合しないようにしています。

MCP ツール:repo_context は、選択したファイルのソースパス、ダイジェスト、コミットの証拠を返します。続いて repo_stage_memory を呼び出すと、最新のコンテキスト呼び出しの証拠が非公開の保留中の提案に添付されます。レビューでは、その証拠とソースのバイト列が現在も有効かどうかが表示されます。承認時には Git の user.name がレビュアーとして記録されます(設定されていない場合はローカルアカウント名を使用します)。公開時には、レビュアー、ソースコミット、ダイジェスト、有効期間が保持されます。証拠が変更されている場合、承認と公開は拒否されます。古くなった承認済みメモリは repo_review_queue の先頭に restage_with_fresh_context アクションとともに表示され、最新の情報として再承認することはできません。repo_team_memory_search は、証拠が古いか欠落している共有メモリを除外します。repo_memory_audit は、共有 Git ファイルを編集せずに、重複のない古いメモリの件数、不一致のパス、ソースコミット、未検証のローカル/共有レコードを報告します。同じ subject を持つ新しい承認済みの事実が公開されると、置き換えられた事実は既存のファイル内で置き換え済みとしてマークされます。認証情報に類似する内容は公開できません。コミットする前に、メモリの内容に機密情報や個人情報が含まれていないか、必ず確認してください。エージェントは、明示的な人間の指示なしにメモリを承認または公開してはいけません。

CLI による検索と公開:

agentramen memory search "authentication provider"
agentramen memory publish <approved-memory-id>
agentramen memory audit --json

共有メモリはオプトイン方式でバージョン管理されます。却下されたメモや、単にステージングされたメモはローカルに留まります。ソースの証拠が記録される前に作成された既存のメモリは未検証として報告され、証拠を添えて再ステージングされるまでタスクのコンテキストには含まれません。ソースファイルが変更または欠落すると、agentramen update を実行する前でも、関連付けられたメモリは古くなります。古い事実を暗黙に最新のものとして扱わず、コンテキストを更新して新しいメモリを提案してください。SQLite をネットワーク共有上で同期しないでください。100 人規模のチームでは、保護されたブランチを使用し、共有メモリの変更には通常のプルリクエストレビューを適用してください。

共有グラフ向けの一元化された MCP

ローカルの stdio が引き続きデフォルトです。リモートエージェント向けに不変のグラフスナップショットを公開するには、オプションの中央管理用依存関係と再利用可能なワークフロー入力を有効にします。

jobs:
  index:
    uses: palrajjp/agentRamen/.github/workflows/index.yml@main
    with:
      central_snapshot: true
      repository_id: acme/payments-monorepo

ワークフローはアップロード前に agentramen snapshot verify でアーカイブを検証し、agentramen-snapshot-${{ github.sha }} をアップロードします。アーカイブには、固定されたグラフ、認証情報フィルタリングを通過したハッシュ検証済みのインデックス化ソース、コミット済みのチームメモリーが含まれます。開発者個人用の SQLite メモリーとローカルの除外ルールは取り除かれます。アーティファクトは 14 日後に有効期限が切れるため、受け入れたスナップショットは期限前に、社内のプライベートな永続ストレージにコピーしてください。agentramen init によって .github/workflows/agentramen.yml が生成された場合は、エクスポートする前にそのファイルをコミットしてください。スナップショットのエクスポートには、ソースのチェックアウトがクリーンである必要があります。

リポジトリのスナップショットごとに、読み取り専用の MCP サービスを 1 つデプロイします。サービスは、JWKS、発行者、オーディエンス、有効期限、スコープ、および必要に応じてグループクレームに対して、社内の OIDC JWT を検証します。DNS リバインディング対策には、明示的な Host 許可リストが必要です。信頼できるイングレスで TLS を終端し、アーカイブとマウントされたスナップショットは社内管理のインフラストラクチャ内に保持してください。

python -m pip install 'agentramen[central]'
export AGENTRAMEN_OIDC_ISSUER="https://login.example.com/tenant/v2.0"
export AGENTRAMEN_OIDC_JWKS_URL="https://login.example.com/tenant/discovery/v2.0/keys"
export AGENTRAMEN_OIDC_AUDIENCE="agentramen-api"
export AGENTRAMEN_OIDC_RESOURCE_URL="https://agentramen.example.com/mcp"
export AGENTRAMEN_OIDC_REQUIRED_SCOPE="agentramen:read"
export AGENTRAMEN_OIDC_ALLOWED_GROUP="engineering"
export AGENTRAMEN_MCP_ALLOWED_HOSTS="agentramen.example.com"
agentramen mcp-http \
  --snapshot-archive /srv/agentramen/current-snapshot.zip \
  --repository-id acme/payments-monorepo \
  --host 0.0.0.0 --port 8000

MCP クライアントが HTTPS の /mcp エンドポイントを使用し、社内の OAuth/OIDC フローを完了するように設定します。たとえば、Claude Code では claude mcp add --transport http agentramen-central https://agentramen.example.com/mcp で追加できます。VS Code はリモート HTTP MCP サーバーに対応しています。IdP で異なるグループクレームを使用している場合は、AGENTRAMEN_OIDC_GROUP_CLAIM を設定します(デフォルトは groups です)。

リモートツールは読み取り専用です。ステータス、コンテキスト、検索、アーキテクチャ、グラフ、承認済みのチームメモリー検索を利用できます。エージェントが古い情報だと識別できるよう、すべてのレスポンスには repository_id と snapshot_commit が含まれます。

デプロイの鮮度とロールバックを確保するため、受け入れた各アーカイブを不変のままコミット SHA をキーとして保持してください。アーカイブを検証し、そのアーカイブを使って候補サービスを起動したら、認証済みクライアントで repo_status を呼び出し、想定したコミットであることを確認します。イングレス/サービスのポインターを候補にアトミックに切り替えて昇格し、以前のサービス/アーカイブを保持してください。ロールバックするには、ポインターを元に戻します。実行中のサービスが参照するアーカイブを上書きしないでください。agentramen mcp-http は単一のプロセスを実行します。レプリカには、プラットフォームのプロセスマネージャー/ロードバランサーと、共有の読み取り専用スナップショットマウントを使用してください。クラウド固有のストレージへのアップロードやポインターの切り替えは、デプロイパイプラインの責任であり、このパッケージには組み込まれていません。

スナップショットには、サニタイズ済みではありますが実際のソースコードが含まれます。認証情報のヒューリスティクスは、リポジトリの ACL やデータ損失のレビューの代わりにはなりません。ソースリポジトリに適合する保持期間とアクセス制御を備えた、社内管理のプライベートストレージを使用してください。

既知の制限事項

  • インポートの解決では一般的なファイルおよびモジュールのレイアウトに対応していますが、すべてのワークスペースエイリアスや言語固有のビルドシステムに対応しているわけではありません。
  • アーキテクチャとプルリクエストの要約では、インデックス化された依存関係のエッジを使用します。セマンティックな境界ルールは適用されません。
  • セマンティック検索では、近似最近傍インデックスを使わず、正確な類似度を計算します。
  • context.tokenizer_model にオプションのトークナイザー追加機能を設定しない限り、トークン数は文字数に基づく概算です。
  • 履歴にはデフォルトで 100 件のコミットが保持されます。1~100,000 の範囲で設定できます。

開発

python -m unittest discover -s tests -v
python -m agentramen.cli status --json

agentRamen がワークフローに役立つ場合は、GitHub でスターを付けると、ほかの開発者が見つけやすくなります。CONTRIBUTING.md、SECURITY.md、CODE_OF_CONDUCT.mdもご覧ください。言語アナライザーを追加するコントリビューションでは、パーサー固有の動作をインデックス作成およびコンテキストのインターフェースから分離してください。

コメント

MCP は初めてですか?

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

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