mcpField
C
codeagent-memory

codeagent-memory

ローカル
github.comメモリ・ナレッジ15 日前に更新

codeagent-memory について

codeagent-memory(cam)は、コーディングエージェント向けのローカルなコードグラフと会話メモリのシステムです。Rust 製の単一バイナリでシンボル単位のコード参照と検索可能なプロジェクト知識を扱い、メインエージェントは MCP、サブエージェントは CLI を使います。

主な機能

  1. 01Tree-sitter によるコードグラフとシンボル参照
  2. 02増分インデックス作成とファイル監視
  3. 03ベクトル検索と BM25 によるハイブリッド検索
  4. 04分岐するメモリ階層と改訂履歴の関連付け
  5. 05ローカル SQLite ストレージと埋め込み

活用シーン

  1. 01関数を探し、呼び出し元を追跡
  2. 02セッションをまたいでプロジェクトの決定事項を想起
  3. 03CLI でサブエージェントにコード参照機能を提供

MCP 対応

`cam mcp` でメインエージェント向けの stdio MCP サーバーを起動し、コードグラフとメモリ操作を提供します。サブエージェントは対応する CLI を利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"hanochzhu-codeagent-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/hanochzhu/codeagent-memory:0.1.5"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/hanochzhu/codeagent-memory:0.1.5

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

パッケージ
ocighcr.io/hanochzhu/codeagent-memory:0.1.5

ツール

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

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

詳細

cam のロゴ

cam

English · 中文 · 日本語 · 한국어 · العربية · 🌐 Web サイト

コーディングエージェント向けに構築された、ローカルのマルチターン会話メモリーシステム

コードグラフ+メモリー · 必要な箇所だけを読み取り · 100%ローカル · MCP+CLI

Rust で記述されたカーネル

Website License: MIT Rust Install

Windows macOS Linux

Claude Code Cursor Codex Windsurf GitHub Copilot Continue Cline JetBrains

目次

ガイド:インタラクティブショーケース(Web サイト) · メインエージェントとサブエージェント · IDE 別の MCP 設定 · 中文说明


cam を選ぶ理由

AI コーディングエージェントがリポジトリを調べる際、通常はファイルを 1 つずつ grep、glob、全文の Read を実行するという遠回りな方法で構造を再発見し、次のセッションではそれをすべて忘れてしまいます。

cam は、単一のバイナリで 2 つのローカル検索基盤をエージェントに提供します。

基盤保存する内容エージェントによる使用方法
コードグラフTree-sitter のシンボル(関数、型、メソッド)を仮想ファイルシステムとして保存し、1 ホップ先の呼び出し元/呼び出し先も保持ls、find、read src/file.rs/symbol、ref symbol --dir in|out を使い、ファイル全体をダンプする代わりに必要なシンボルだけを読み取ります
メモリーツリープロジェクトの事実、アーキテクチャ上の決定、デバッグ記録、ユーザーの習慣recall(Vector と BM25 を RRF で融合)と add(分岐に対応した --parent と改訂用の --supersedes を指定)

1 つのバイナリに 2 つのインターフェース: メインエージェントは MCP(cam mcp)経由で cam を呼び出します。サブエージェント(MCP ツールを引き継ぐことがほとんどありません)は、まったく同じ CLI(cam --json …)を使います。どちらもディスク上の .cam/cam.db を共有し、100%ローカルで、API コストはゼロです。


はじめに

オプション 1:一文でエージェントにインストール(推奨)

このプロンプトをコーディングエージェント(Cursor、Claude Code、Codex、Windsurf、GitHub Copilot、Cline など)に直接貼り付けると、インストール、インデックス作成、cam の接続までエージェントが行います。

Install cam from https://github.com/HanochZhu/codeagent_memory: require a working Rust toolchain (rustup), run `cargo install --git https://github.com/HanochZhu/codeagent_memory --locked`, ensure ~/.cargo/bin (or %USERPROFILE%\.cargo\bin on Windows) is on PATH, then verify with `cam --help`. In this repo run `cam index`. For the main agent, register MCP stdio: command `cam`, args `["mcp"]` (Cursor: .cursor/mcp.json; Claude Code: .mcp.json). Subagents call `cam --json` in the shell. Do not add extra docs.
各 IDE/エージェントでのこのプロンプトの使い方
環境操作
Cursor / Windsurf / Claude Code / Codexエージェント/チャットに貼り付けます。エージェントがターミナルでインストールを実行し、.cam/cam.db を作成して、MCP 設定を書き込みます
VS Code(Copilot / Continue / Cline)ターミナルへのアクセスを有効にした状態で、エージェント/チャットモードに貼り付けます
JetBrains(IntelliJ / RustRover / GoLand)AI Assistant に貼り付けるか、内蔵ターミナルで cargo install を実行します

注:cargo install により、cam は ~/.cargo/bin(Windows:%USERPROFILE%\.cargo\bin)に配置されます。cam が PATH からすぐに見つからない場合は、ターミナルまたは IDE を再起動してください。


オプション 2:手動でセットアップ
1. CLI をインストールする

Rust ツールチェーンが必要です。

cargo install --git https://github.com/HanochZhu/codeagent_memory --locked
cam --help
別の方法:ローカルのクローンからビルドする、または Docker で実行する

ローカルのクローンから:

git clone https://github.com/HanochZhu/codeagent_memory.git
cd codeagent_memory
cargo install --path . --locked

Docker(Rust ツールチェーンは不要):

docker pull ghcr.io/hanochzhu/codeagent-memory:0.1.5
docker run -i --rm -v "$PWD:/work" -w /work ghcr.io/hanochzhu/codeagent-memory:0.1.5

または、ローカルでビルドします:docker build -t cam https://github.com/HanochZhu/codeagent_memory.git

2. プロジェクトのインデックスを作成してクエリする
cd your-project
cam index                                              # parse repo into .cam/cam.db

# Query the code graph
cam ls src/                                            # list files or symbols in a file
cam read src/main.rs/main                              # read a single symbol body
cam ref main --dir in                                  # 1-hop callers (in) or callees (out)

# Query & write to the memory tree
cam recall "how does hybrid recall fuse BM25 and vectors"
cam add --summary "..." < notes.md

cam は初回使用時に .cam/ を自動で初期化します。ファイルの変更時にグラフをライブで増分更新するには、バックグラウンドで cam watch を実行してください。

3. メインエージェント用に MCP を接続する

ホストの MCP 設定(例:.cursor/mcp.json または .mcp.json)に cam mcp を追加します。

{
  "mcpServers": {
    "cam": {
      "command": "cam",
      "args": ["mcp"]
    }
  }
}

ホストごとの設定ファイルパスについては docs/mcp.md を、メインエージェント/サブエージェントのプロンプトルールについては docs/agents.md を参照してください。

初回の recall または add の実行時に、デフォルトの埋め込みモデル(potion-multilingual-128M)が ~/.cam/models/ にダウンロードされます。オフラインの場合は、字句ハッシュ埋め込み器にフォールバックします。


主な機能

機能詳細
SQLite コードグラフTree-sitter が関数、型、呼び出しエッジを解析し、.cam/cam.db に格納することで、シンボル単位のナビゲーションを即座に行えます
仮想パスsrc/main.rs はファイルのアウトラインを指定し、src/main.rs/main はシンボル本体を直接指定します
ライブ増分同期cam sync はファイルの内容をハッシュ化し、cam watch は保存時にグラフを更新します
ハイブリッド想起(RRF)ローカルの高密度埋め込み(model2vec)と、識別子を考慮した BM25 を Reciprocal Rank Fusion($k=60$)で組み合わせます
リビジョンチェーンとツリー--parent は分岐するトピック階層を作成し、--supersedes は直線的なリビジョンをリンクして、古いエントリーを自動的に折りたたみます
エビングハウス保持率保持率 $R = e^{-t / S}$ はランキングに穏やかに重み付け($\le 10%$)し、履歴を削除せずに stale/needs_update のメモリをフラグ付けします
二重インターフェース(MCP + CLI)メインエージェントは cam_* MCP ツールを使用し、サブエージェントはシェルで cam --json … を実行します
100% ローカル&プライベート外部 API キーは不要です。ローカルの SQLite とディスク上の埋め込みのみで動作します
9 言語Rust、Python、TypeScript、JavaScript、Go、Java、C、C++、C#

動作の仕組み

camの仕組み

  1. 抽出 — tree-sitter がワークスペースを走査し、シンボル定義と呼び出し関係を .cam/cam.db に保存します。
  2. ピンポイントな読み取り — エージェントは仮想パス(ls → find → read → ref)を使って移動します。ファイルを読み取るとシンボルの概要が返され、file/symbol を読み取ると、そのシンボルのソース部分のみが返されます。
  3. ハイブリッド検索 — recall は英語のクエリを受け取り、ローカルで埋め込みを生成し、識別子を考慮した BM25(snake_case、kebab-case、camelCase の分割と英語の語幹処理)を実行して、信頼度の低い候補を除外し、両方のリストを RRF($k=60$)で統合します。スコアは $0.9 + 0.1 \times R$ で調整されます。置き換えられた過去のリビジョンは、最新の置き換え先まで自動的に展開されます。
  4. 書き戻し — エージェントが簡単ではないタスクを解決したときは、事実を原子的な単位に分け、各 add に1つの事実だけを保存します(英語の要約。本文では非ラテン文字にも対応します)。関連する事実は --link / links で結び付けてナレッジグラフを作成します(mem show で確認できます。現時点では recall はグラフのリンクをたどりません)。--parent はメモリーを構造上のトピックに関連付け、--supersedes は系譜を保持したまま古いメモリーを置き換えます。

アーキテクチャの詳細(中国語):DESIGN.md。


エージェントのワークフロー

すべてのコーディングタスクで、次の4段階のループに従います。

  1. まず検索する — grep を実行する前に、英語で cam_recall / cam recall を検索します。検索結果が latest で needs_update ではない場合は、再利用します。
  2. インデックスを確認する — グラフツールが not_indexed を返した場合は、プロジェクトに対して一度 cam_index / cam index を実行します。
  3. グラフをたどる — メモリーが見つからない場合は、find または ls でシンボルを特定し、read <file>/<symbol> でシンボルの本文を読み、ref <symbol> --dir in|out で呼び出し元/呼び出し先を追跡します。
  4. 書き戻す — 新たに判明したアーキテクチャ上の事実や修正を、cam_add / cam add で原子的な事実として保存します(1つのメモリーにつき1つの事実、英語の要約。本文では非ラテン文字にも対応します)。links / --link で関連する事実を結び付けます。
役割インターフェース一般的な使い方
メインエージェント(チャット/IDE セッション)MCP(cam mcp)cam_recall、cam_find、cam_ls、cam_read、cam_ref、cam_add、cam_mem_tree、cam_mem_show を直接呼び出します
サブエージェント(タスク/調査/CLI)CLI(cam --json)シェルで cam --json --project <dir> <cmd> を実行します(サブエージェントは通常、MCP ツールを引き継ぎません)

エージェントのルールとコピーして使えるシステムプロンプトの全文:docs/agents.md。


CLI リファレンス

コードグラフのコマンド
コマンド説明
cam indextree-sitter でプロジェクトを解析し、.cam/cam.db に保存します(必要に応じて .cam/ を作成します)
cam syncコンテンツハッシュを使って、変更されたファイルのグラフを増分更新します
cam watch [--debounce-ms N]ソースファイルを監視して自動同期します(--json は同期ごとに1つの JSON レポートをストリーム出力します)
cam ls [virt_path]ディレクトリ、ファイル、またはファイル内のシンボルを一覧表示します
cam read <virt_path> [--full]ファイルのシンボル概要、特定のシンボル本文(path/symbol)、または --full ファイル全体を読み取ります
cam find <query> [--kind K] [--file S] [--scope D] [--limit N]シンボル名を大文字と小文字を区別せず部分一致検索します(完全一致を先に表示し、次に前方一致を表示します)
cam ref <symbol> --dir in|out [--file S] [--kind K] [--scope D]1ホップ先の呼び出し元(in / --callers)または呼び出し先(out / --callees)を返します。名前が曖昧な場合は、順位付けされた candidates を返します
メモリーコマンド
コマンド説明
cam recall "<query>" [--limit N] [--no-expand] [--include-superseded] [--snippets]ハイブリッド RRF 検索(英語のクエリ)。--no-expand は最新リビジョンへの展開をスキップします。--include-superseded は古いリビジョンを含めます。--snippets はランク 1 より下にある長い本文を切り詰めます
cam add --summary "..." [--parent ID] [--supersedes ID] [--link ID]... [--body TEXT | --file PATH]1 件のアトミックな事実をメモリーとして保存します(英語の要約が必須です。本文は非ラテン文字に対応し、--body、--file、または stdin から指定できます)。--link は関連する事実をナレッジグラフで接続します。--parent はトピック階層に使用し、--supersedes は古いメモリーの置き換えに使用します
cam mem treeメモリー階層とリビジョンチェーンを表示します
cam mem show <id>単一のメモリーエントリの全内容を確認します
サーバーと設定のコマンド
コマンド説明
cam mcpメインエージェント用の stdio MCP サーバーを起動します(docs/mcp.md を参照)
cam status解決済みのプロジェクトルート、データベースパス、ノード/エッジ/メモリーの数、アクティブな設定を表示します
cam config get現在の ~/.cam/config.toml 設定を出力します
cam config set stale_days <N>メモリーを stale とマークする経過日数のしきい値を設定します
cam config set embedding_model <model>Hugging Face model2vec のリポジトリ、ローカルモデルディレクトリ、hash、または default を設定します

グローバルフラグと規則:

  • --project <dir>(または CAM_PROJECT 環境変数)を指定すると、自動的な上位ディレクトリへの .cam / .git ルート検出が上書きされます。
  • --json はコンパクトな JSON を出力します(整形された JSON を出力するには --pretty を指定します)。--json 使用時のエラーは stdout に {"error":{"code":…,"message":…}} を出力し、ゼロ以外の終了コードで終了します。
  • 曖昧なシンボル: read または ref が複数の定義に一致する場合、cam は候補となるノード ID(例:src/main.rs:function:main:12)とともに status: "ambiguous" を返します。候補のノード ID はそのまま read または ref に渡せます。
  • 無視ルールと複数リポジトリのディレクトリ: 任意の階層にある .gitignore と .camignore を尊重します。Git サブモジュールとリンクされたワークツリーはスキップし、ネストされた独立クローンは kind: "project" としてインデックス化します(--scope に渡せます)。

メモリーのルール

  • アトミックな事実とナレッジグラフのリンク: 1 つのエントリに情報を詰め込みすぎないよう、各メモリーにはアトミックな事実を 1 つだけ保存します。複数の事実に関連がある場合は、--link / links で接続し、ナレッジグラフを形成します(グラフ検索はまだ有効になっていません)。
  • 英語のクエリと要約: 検索クエリとメモリーの要約は英語で記述する必要があります。メモリーの本文は非ラテン文字に対応しています。
  • 保持と強化: エビングハウスの保持率 $R = e^{-t / S}$ によって、検索スコアは $\text{relevance} \times (0.9 + 0.1 \times R)$ に調整されます。$R < 0.3$ のエントリは needs_update とマークされ、stale_days(デフォルトは 30)より古いエントリは stale とマークされます。有効な検索ヒット(needs_update = false)があるたびに最終アクセス時刻が更新され、安定性 $S$ に 1.7 が乗算されます。
  • 非破壊的な系譜: メモリーは削除されません。--parent は分岐ツリーを形成し、--supersedes は直線的なリビジョンチェーンを形成します。latest とマークされるのは末尾のリビジョンのみで、古いリビジョンはデフォルトの検索結果から除外されます。

設定

グローバル設定は ~/.cam/config.toml に保存されます。

stale_days = 30
# embedding_model = "minishlab/potion-multilingual-128M" # default (cached under ~/.cam/models/)
# embedding_model = "minishlab/potion-base-8M"           # lighter Hugging Face model2vec repo
# embedding_model = "/path/to/local/model2vec"           # dir with tokenizer.json, config.json, model.safetensors
# embedding_model = "hash"                               # zero-download lexical hash embedder

CAM_EMBED_MODEL を使用すると、単一プロセスでモデルを上書きできます。または cam config set embedding_model default を実行してリセットします。埋め込みモデルを変更すると、次回の recall でスコアリングの前に既存のメモリーが自動的に再埋め込みされます。


ベンチマーク

cam は、同一のコーパスを使い、最も近いオープンソースシステムと比較して、コードグラフとメモリプレーンを個別に評価します。

プレーンベースライン/類似システムベンチマークコーパス主な結果
メモリagentmemory のハイブリッド検索+トークン化 grepcoding-agent-life-v11.000 R@5 / 0.240 P@5(ハイブリッド検索の上限と一致し、リビジョンチェーンでは 1.000 newest R@5)
長期メモリBM25/密ベクトル検索LongMemEval-Spotion-multilingual-128M で 0.909 R@5 / 0.980 Hit@5 / 0.840 MRR
コードグラフcodegraph v0.9.6LongMemCode(clap)サポート対象の1ホップタスクで 0.769(比較対象は0.768)、P95 ≈ 5.2 ms、$0
ワークフロー検索字句検索/BM25 ファイル検索Agent Retrieval Bench V2 edit2ripple0.297 MRR(初回ヒット順位で最高、P95 7.3 ms)
マルチターンのトークン数コンテキスト全体のダンプDeepSeek マルチターンメモリトラックで トークン数を57%削減、コードトラックで トークン数を98%削減

一般的なチャットメモリフレームワーク(Mem0、Zep、Letta)は、これらのコーディングエージェント用コーパスではなく会話ログを対象とするため、以下の表から除外しています。

システム比較
camagentmemorycodegraph
保存する内容コードグラフ+メモリツリーセッション/チャットのメモリコードグラフ
クエリの基本操作recall / ls / find / read / refsmart-search / rememberexplore / callers / callees
インターフェースMCP+CLIMCP+REST+フックMCP+CLI
ランキング/統合ベクトル+BM25+RRF+保持BM25+埋め込み+再ランキングFTS5+グラフ探索
コストすべてローカル($0)ローカルサーバーローカル
1. メモリ — coding-agent-life-v1

15セッション、15クエリ、$k=5$(agentmemory の score.ts と同じスコアリング方式。P@5 の上限は 0.240 です)。

システムヒット率R@5P@5出典
grep(トークン化部分文字列検索)15 / 150.9670.227本リポジトリ、2026-09-23
cam min-max sum(レガシー)15 / 150.9330.213過去のデータ、ハッシュ埋め込み
cam RRF15 / 151.0000.240本リポジトリ、ハッシュ埋め込み
agentmemory ハイブリッド検索15 / 151.0000.240公開済み v0.9.26

coding-agent-life の主な R@5 と P@5/上限

質問タイプ別の coding-agent-life R@5

リビジョンチェーン(--lineage): 各ターンを --supersedes リビジョンとして再取り込みし、top-$k$ が各正解チェーンの最新ノードを返すか(newest R@k)、また置き換えられたノードが誤って latest を名乗っていないか(stale latest)を検証します。

kR@kP@knewest R@kstale latest
51.0000.2401.0000
101.0000.1201.0000
2. 長期メモリ — LongMemEval-S

クリーニング済みの LongMemEval-S からシード42で抽出した、回答を棄権しない質問100件です。検索では埋め込みと BM25 を $k=10$ の RRF で統合し、LLM リーダーは使用しません。

埋め込みモデルR@1R@5R@10Hit@1Hit@5Hit@10MRR検索 P50 / P95
hash(オフラインテスト)0.3820.8030.9220.5800.9100.9700.71824.1 / 35.5 ms
potion-multilingual-128M0.4740.9090.9520.7400.9800.9900.8401.12 / 1.34 s
3. ワークフロー検索 — Agent Retrieval Bench V2(edit2ripple)

44 件の固定されたリポジトリスナップショットに対する、58 件の変更箇所指定クエリ(LLM 不使用。BCY は、標準の 8K トークンファイルパッキングプロトコルにおける予算内コンテキスト利得です)。

システムRecall@5Recall@10Recall@20MRRBCY@8k
cam graph0.3000.3350.3780.2970.300
語彙検索0.4120.5360.5880.2430.447
BM250.2070.2870.4990.1540.243

cam graph は最初にヒットする順位が最も高く(MRR 0.297、クエリ P95 7.3 ms)、一方で語彙検索は複数ファイルをより広くカバーするため、グラフと語彙検索の順位融合が有効です。

4. コードグラフ — LongMemCode(clap)

SCIP のゴールドデータに対する clap v4.6.1 の 536 シナリオ(LLM 不使用、P95 ≈ 5.2 ms、$/1k = 0)。

分類ncamcodegraph 0.9.6
対応済み(1 ホップ)4780.7690.768
lookup / file_symbols293 / 550.808 / 0.9150.808 / 0.915
callers / callees67 / 180.397 / 0.8110.355 / 0.867
implementors400.1190.094
生値 / 加重値(全 536 件)5360.709 / 0.7040.704 / 0.700

LongMemCode clap の精度棒グラフ

LongMemCode clap の操作別精度

5. マルチターンでのトークン削減 — DeepSeek

完全なコンテキストのダンプと、ターンごとの cam 検索の比較(deepseek-flash、ハッシュ埋め込み、2026-10-13):

トラックn完全版の精度cam の精度完全版のトークン数cam のトークン数トークン削減率
メモリ(coding-agent-life)151.000.8722,7969,90457%(1 ターンあたり 1,471 → 616)
コード(このリポジトリをインデックス化)60.830.33379,0666,34298%(1 ターンあたり 63,076 → 1,000)

DeepSeek のマルチターンプロンプトのトークン数の棒グラフ

DeepSeek のマルチターンプロンプトのトークン数

すべてのベンチマークを再現する

データセットのパスは eval/datasets.toml で設定します(coding-agent-life-v1 のデフォルトは ../agentmemory または CAM_EVAL_CODING_LIFE です)。

python3 eval/coding_life/run.py --adapter grep
python3 eval/coding_life/run.py                                             # potion; errors if the model fails
python3 eval/coding_life/run.py --hash-embed                                # hash embedder
python3 eval/longmemeval/run.py --sample 100 --seed 42 --workers 8          # potion
python3 eval/longmemeval/run.py --sample 100 --seed 42 --workers 8 --hash-embed
python3 eval/locomo/run.py --workers 4                                      # potion, evidence recall

git clone --depth 1 https://github.com/eyuansu62/agent-retrieval-bench \
  eval/agent_retrieval/vendor/agent-retrieval-bench
python3 -m pip install -e eval/agent_retrieval/vendor/agent-retrieval-bench
arb download-benchmark --version v2_edit2ripple --local-dir eval/agent_retrieval/data --force
python3 eval/agent_retrieval/run.py --workers 8

python3 eval/llm_multiturn/run.py --track both   # potion; requires DEEPSEEK_API_KEY
python3 eval/longmemcode/run.py --corpus clap
python3 eval/charts/generate.py

対応エージェント

メインエージェントには cam mcp(stdio)を登録します。サブエージェントは追加設定なしで cam --json CLI を直接使用します。

ホストMCP 設定サブエージェント/備考
Cursor.cursor/mcp.json、~/.cursor/mcp.json、または .cursor-plugin/plugin.jsonTask/explore サブエージェントは CLI を使用
Claude Code.mcp.json、~/.claude.json、または claude mcp add cam -- cam mcpツールが制限されたサブエージェントは CLI を使用
Codex~/.codex/config.toml → [mcp_servers.cam]codex exec は CLI を使用
Windsurf~/.codeium/windsurf/mcp_config.jsonCascade は MCP を使用
GitHub Copilot.vscode/mcp.json または ~/.copilot/mcp-config.jsonチャットは MCP を使用。CLI スクリプトは CLI を使用
Continue / Cline~/.continue/config.yaml / ~/.cline/mcp.json
JetBrainsAI Assistant → MCP(cam / mcp)IDE の PATH が空の場合は、cam の絶対パスを使用
Gemini CLI / Antigravity / OpenCode / Zed / Droiddocs/mcp.md を参照

コピーして使える設定例:docs/mcp.md · システムプロンプト:docs/agents.md。


対応言語

言語拡張子インデックス対象のノードとエッジ
Rust.rs関数、構造体、列挙型、トレイト、呼び出し
Python.py関数、クラス、呼び出し
TypeScript.ts、.tsx関数、メソッド、クラス、呼び出し
JavaScript.js、.jsx関数、メソッド、クラス、呼び出し
Go.go関数、メソッド、構造体、呼び出し
Java.java関数、メソッド、クラス、インターフェース、呼び出し
C.c関数、構造体、呼び出し
C++.cc、.cpp、.cxx、.h、.hpp関数、メソッド、クラス、構造体、呼び出し
C#.cs関数、メソッド、クラス、インターフェース、呼び出し

対応プラットフォーム

cam は、cargo install --git https://github.com/HanochZhu/codeagent_memory --locked を使って macOS、Linux、Windows 上でネイティブにコンパイルするか、Docker(ghcr.io/hanochzhu/codeagent-memory:0.1.5)を使ってどこでも実行できます。使い始めるをご覧ください。


ライセンス

MIT


Claude Code、Cursor、Codex、Windsurf、Copilot、JetBrains などの AI コーディングエージェント向けに開発

バグを報告 · 機能をリクエスト

コメント

MCP は初めてですか?

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

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