ブログ一覧へ戻る

Contextberg MCP serverをnpxで接続する: Claude Code memoryをローカル作業文脈に広げる

Contextberg MCP serverをnpxで接続し、Claude Code / Codex / Cursorへlocal work memoryを渡す具体例をまとめます。MCP memory server、Skills、ローカルAPIの役割も整理します。

MCP memory serverClaude Code memorylocal work memorynpxSkills

ContextbergはMCP memory serverとしてつなぐ

Contextbergは、AIアプリに組み込むmemory SDKではありません。既存のClaude Code、Codex、Cursor、Claude Desktopへ、PC上の作業文脈を後付けで渡すためのlocal work memoryです。

SEO上の言葉で言えば、Claude Code memory、MCP memory server、persistent memory for AI coding agents、cross-agent memoryの間にあるカテゴリです。会話履歴だけではなく、画面、ブラウザ履歴、アプリ利用、キーボード入力、エージェント履歴をまとめて、MCP経由で読ませます。

重要なのは、接続作業をユーザーにJSON編集だけで背負わせないことです。Contextberg側ではMCP接続やSkills導入をコマンドとして提示し、必要なブロックをコピーできる形に寄せています。

接続は設定ブロックかコマンドで渡す

Claude DesktopなどのMCPクライアントには、Contextberg用のMCP server設定を追加します。Contextbergアプリ側ではConnect Claude Desktopのような導線で、この設定を自動追記できるようにします。

手動で書く場合の基本形は、commandにnpx、argsに-yと@contextberg/mcp-serverを指定する構成です。ここで起動するのは記憶本体ではなく、MCP JSON-RPCとローカルAPIをつなぐbridgeです。

Claude DesktopのMCP設定例
{
  "mcpServers": {
    "contextberg": {
      "command": "npx",
      "args": ["-y", "@contextberg/mcp-server"]
    }
  }
}

この設定で重要なのは、メモリ本体をnpm packageに置いているわけではないことです。@contextberg/mcp-serverは、ローカルで起動しているContextbergアプリへつなぐbridgeです。作業データはデスクトップアプリ側にあり、MCP serverはそれをエージェントが読める形にします。

Skillsもコマンドとして渡す

MCPはライブの作業メモリを読む入口です。一方で、agentにContextbergの使い方や呼び出しタイミングを覚えさせるにはSkillsを使います。Contextbergアプリ側では、MCP接続コマンドとSkill導入コマンドをコピーできる形にしています。

MCPとSkillsの使い分け
接続使う場面ユーザーに見せる具体例
MCP server直近のActivity、Daily Report、LTM、agent historyをその場で読むClaude Desktop設定に @contextberg/mcp-server を追加
SkillContextbergのMCPをいつ使うべきかをagentに覚えさせるnpx skills add contextberg/skills
CLI commandMCP clientごとに接続を追加するcodex mcp add / claude mcp add / openclaw mcp set
Manual configGUIやCLIが使えない環境で設定するmcpServersにcmd /c npx -y @contextberg/mcp-serverを追加
Skill導入コマンド
npx skills add contextberg/skills
MCP接続CLIの例
codex mcp add contextberg -- cmd /c npx -y @contextberg/mcp-server

claude mcp add --transport stdio contextberg -- cmd /c npx -y @contextberg/mcp-server

openclaw mcp set contextberg '{"command":"cmd","args":["/c","npx","-y","@contextberg/mcp-server"]}'

MCPで何が読めるか

Contextberg MCP serverが返すのは、生ログの丸投げではなく、用途に合わせて整えた作業文脈です。local-first AI memoryとして、必要な粒度だけをClaude Code、Codex、Cursorから読めるようにします。

MCP toolsの使い分け
Tool読むもの質問例
get_activity直近N時間のActivity。アプリ、ウィンドウ、スクリーンショット、ブラウザ履歴直近2時間で何をしていた?
get_daily_memory指定日のDaily Report昨日の午後に進めた作業を要約して
get_weekly_memory指定週のWeekly Report今週の実装テーマを3つにまとめて
get_agent_historyClaude Code / Codex / Cursorなどの会話turn認証リファクタについて話した履歴を探して
read_ltmLong-Term Memory全体このプロジェクトの前提を読んでから回答して
update_ltmLTMへの差分追記今後も使う制約を記憶に追加して

接続後にどう見えるか

具体例がないと、MCP接続はただの設定作業に見えます。実際には、agentがローカル作業メモリを読めることで、回答の出発点が変わります。

ユーザーの質問
昨日の午後、ContextbergのMCP接続まわりで何をしていた?
読んでいたページ、触っていたファイル、残っている確認事項を分けてまとめて。
agentが返せる回答イメージ
昨日の午後は、ContextbergのMCP bridgeとSkill導入導線を整理していました。

読んでいたもの:
- Claude Desktop / Claude Code / Codex / OpenClawのMCP設定
- @contextberg/mcp-serverの起動方式
- npx skills add contextberg/skills の導入導線

触っていたもの:
- ExportViewModel.cs の McpCliCommand
- SkillInstallCommand
- ローカルAPI http://localhost:18080 への接続前提

残っている確認:
- Codexでは codex mcp add のコマンドで接続できるか
- Claude Codeでは claude mcp add のコマンドで接続できるか
- MCP serverがstdoutにprotocol以外を出していないか
- Record pauseや除外設定の状態がActivityに反映されるか

ローカルAPIとMCP bridgeの安全モデル

ContextbergのMCP serverは、記憶データを持つ本体ではありません。npmから起動される薄いprotocol adapterで、MCPのtool requestをデスクトップアプリ内のローカルHTTP APIへ橋渡しします。

Contextberg MCP接続の境界
役割設計上のポイント
Contextberg desktop app画面・ブラウザ・アプリ利用・キーボード入力・agent履歴をローカルに保存するデータ本体はデスクトップアプリ側にあり、MCP package自体が記憶を保持するわけではない
Local APIhttp://localhost:18080 でActivity、Daily Report、LTM、agent historyを返すlocalhost/loopback前提。外部ネットワークから直接読む用途ではない
API tokenローカルAPIへのリクエストを認証するtoken fileや環境変数から読み、Authorization headerで渡す設計
@contextberg/mcp-serverMCP JSON-RPCとLocal APIの変換を行うnpxで起動できるbridge。stdoutはMCP protocol、ログはstderr側に分ける
MCP clientClaude Desktop、Cursor、Codexなどがtoolを呼ぶユーザーの質問に応じて必要なmemoryだけ読む

この構造にしている理由は、MCP packageをクラウド同期サービスやanalytics collectorにしないためです。bridgeが行う通信は、基本的に親プロセスとのstdioとlocalhostのContextberg APIへのHTTPです。

うまく動かないとき

まずContextbergアプリが起動しているか、ローカルサーバーが動いているか、MCPクライアント側にcontextbergサーバーが表示されているかを確認します。

Record pauseや除外設定が有効だとActivityが生成されない場合があります。Recordタブで記録が増えているかを確認するのが一番早いです。