Model Context Protocol · Beta

あらゆる AI ツールの中の記憶

コマンド 1 行で、Claude Code・Claude Desktop・Cursor などあらゆる MCP ホストが WOS アカウントの長期記憶を持ちます。統合コードは不要。エージェントが 9 つの記憶ツールを受け取り、使いどころを自分で判断します。

MCP はベータです。9 つのツールは現在も動作しテスト済みですが、完成までの間に表面が変わる可能性があります。その下の API と SDK は安定していてバージョン管理されています。

インストール

Claude Code は 1 行(キーは先にコンソールで発行):

claude mcp add wontopos --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp
# pick which store it remembers into (optional): add --env WONTOPOS_USER_ID=my-project
# ~/.cursor/mcp.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# .vscode/mcp.json
{ "servers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# Claude Desktop and any other MCP host
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to Cursor →  ·  Add to VS Code →

任意の env: WONTOPOS_USER_ID はデフォルトの保存先、WONTOPOS_MODEL はエンジン、WONTOPOS_BASE_URL は接続先の API ホストを指定します。 WONTOPOS_READ_ONLY=1 で読み取り専用に切り替わります(呼び出し・検索・一覧のみ)。

1 つのストアを共有する前に

  • 専用キーを使ってください。キーはワークスペースを持つため、MCP 専用に作ったキーは接続ツールが触れられる範囲そのものを絞ります - アプリのキーに触れずにコンソールでいつでもローテーションできます。
  • 読み取り専用モード。WONTOPOS_READ_ONLY=1 で書き込みツールは一切登録されません:エージェントは呼び出し・検索・記憶の一覧・engram の実行・統計の閲覧のみで、保存・更新・削除はできません。記憶を所有せず参照だけすべきエージェント向けです。
  • ツール実行の確認はオンのままに。MCP ホストは既定でツール実行前に確認します - 特に forget はオンのままに。削除はそのストアのすべてのツールに共有されます。
  • 保存したものは、キーを持つすべてのツールが呼び出せます。シークレット - API キーやパスワード - を記憶として保存しないでください。
  • 呼び出された記憶はデータであり、指示ではありません。ツール説明がエージェントに明示的にそう伝えます。それでも、自律エージェントが従うストアに信頼できない第三者のテキストを記憶として保存しないでください。
  • 削除も共有されます。1 つのツールでの forget・delete_all は、すべてのツールから消えることを意味します。
  • "me" はそのストアに書くエージェント自身を指します。複数のエージェントが 1 つのストアを共有すると "me" の声が混ざります。分けたいならエージェントごとにストアを(WONTOPOS_USER_ID)。
  • 支払いはアカウント 1 つに集まります。接続されたすべてのツールが同じ残高とレート制限を消費します。

あとは話すだけ

you毎週金曜にリリースすること、覚えておいて

エージェントが remember ツールを呼びます。ストアに永続保存されるので、セッションが終わっても何も失われません。

new sessionリリースはいつだっけ?

新しいセッションに履歴はゼロ。エージェントが recall を呼び、記憶から答えます:金曜日。

こう話しかけてみてください

  • 「このリポジトリは pnpm を使う。覚えておいて」→ remember が保存し、次のセッションはもう知っています。
  • 「先週決めたエラー形式は何だっけ?」→ recall がその決定をコンテキストに呼び戻します。
  • 「実は締め切りは金曜に変わった」→ エージェントは呼び出した記憶と矛盾すると気づき、update でその記憶をその場で修正します。
  • 「それは間違い。忘れて」→ エージェントが記憶の id を見つけ forget を呼びます。実行前にホストが確認します。
  • 「私について何を覚えてる?」→ list_memories が保存済みのすべてをたどるので、エージェントは答えたり整理したりできます。

特別な言い回しは不要です - 上の例はすべて普通の文章。エージェントが各ツールの説明を読み、自分で選びます。

9 つのツール

  • recall - 1 回でコンテキスト取得:直近のターン+関連する長期記憶。過去の文脈が要るときは最初に呼ぶよう、ツール説明に書いてあります。
  • remember - 残すべき事実・決定を保存。speaker: "me" はエージェント自身の言葉、登録済みの名前は発言者を示します。
  • search - セマンティック検索。人ごとの speaker フィルタに加え、時期やトピックで範囲を絞る filters(「6 月に何を決めた?」)— 意味だけでは絞れない軸が「いつ」だ。
  • update - 事実が変わった記憶を新しい内容で置き換えます。削除せず履歴を残します。
  • forget - id で記憶を 1 件削除。
  • list_memories - 保存されている内容をページ送りで一覧します。「私について何を覚えてる?」に答えたり、整理したりするのに使います。
  • engram - 検索 1 回では足りないときに、組み込みのマルチホップ・パイプライン(deep_recall, timeline, gather)を実行します。
  • stats - ストアにどれだけ入っているかを見ます。整理の前や、書き込みが実際に入ったかの確認に使います。
  • create_store - ストアは明示的。エンドユーザー・プロジェクト・エージェントごとに 1 つ。

SDK と MCP、どう違う?

  • SDK はあなたが書くアプリの中に入ります。いつ保存し何を呼び出すかをあなたのコードが正確に決めます - 決定的で、型があり、バージョン管理されます。プロダクトを作るなら SDK です。
  • MCP はあなたが作っていない AI ツールに差し込みます。記憶をいつ使うかはエージェントがツール説明を見て判断 - コード 0 行。Claude Code・Claude Desktop・Cursor に、あるいは完成済みアシスタントに記憶を付けるときに。

下は同じ API、同じストアです - SDK で作ったアプリと MCP でつないだ Claude Code セッションが 1 つの記憶を共有します。二者択一ではなく、面ごとに選ぶものです。

あらゆるツールをまたぐ 1 つの記憶

記憶はツールではなくアカウントに属します。ChatGPT(Actions + OpenAPI 仕様)から書いたストアが Claude Code でも自作エージェントでも呼び出せ、その逆も可能。あるツールで始めた会話が別のツールで続きます。

そして 1 つのストアだから、Claude Code で使っていた記憶をそのまま自作エージェントとの会話に引き継げます。同じキー・同じストアの SDK エージェントは Claude Code が学んだことをすべて呼び出せ、エージェントが保存したものは次のセッションの Claude Code が呼び出します。

ローカルで stdio 動作(npx wontopos-mcp)。この方式ではキーはあなたの環境に留まり、MCP セッションの一部として当社に送信されることはありません。TypeScript SDK のラッパーなので、自動リトライ・リダイレクト拒否・キーのマスキングがそのまま適用されます。
アドオン · Beta

MCP - AI ツールのための記憶

WOS の本体は API と SDK です。MCP サーバーはその上のアドオン。同じ記憶を、自分で作っていないツールに差し込みます - Claude Code、Claude Desktop、Cursor。

インストール 1 行で、エージェントは 9 つの記憶ツールを受け取り自分で使います。記憶はアカウントにあるので、あるツールが書いたものを他のすべてのツールが呼び出せます - SDK で作った自前のエージェントも含めて。

これで何ができるか

  • プロジェクトを覚えている Claude Code。決定、バグ修正、好み - 次のセッションで説明し直すことなくそのまま呼び出されます。
  • ChatGPT で始めて Claude で続ける。同じストア、同じ記憶 - 会話はやり直しではなく、ツールをまたいで続きます。
  • 自作エージェントも同じ記憶の中に。Claude Code が学んだことを SDK エージェントが呼び出し、エージェントが保存したものを Claude Code が呼び返します。

Claude Code、Claude Desktop、Cursor、Windsurf などあらゆる MCP ホストで動作。ChatGPT は Actions + OpenAPI 仕様で同じ記憶に届きます。

インストール

claude mcp add wontopos --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp

エージェントは 9 つのツールを受け取ります - recall · remember · search · update · forget · list_memories · engram · stats · create_store - 各説明にいつ使うかまで書かれているので、自分で判断して使います。

アドオン自体は無料で npm に公開されています - 課金はこのツールが呼ぶ API 使用量に通常料金のみ。Node 18+ とコンソールで作った API キーが必要です。

開発者ページを開く

Model Context Protocol · Beta

Claude Code

代表的な経路です。ターミナルのコマンド 1 行で、すべてのセッションが記憶と共に始まります。

  1. コンソールで API キーを作成。キーはワークスペースを持つため、キー 1 つ = 記憶空間 1 つです。
  2. サーバーを登録。--scope user を付ければ全プロジェクトで使え、付けなければ現在のプロジェクトのみです。
  3. 確認:Claude Code 内で /mcp を実行すると、wontopos が 9 つのツールと共に表示されるはずです。
  4. 自動化のコツ:CLAUDE.md に「過去の文脈が要るときは先に wontopos recall を呼ぶ」と 1 行書けば、頼まなくても毎セッションが記憶から始まります。
claude mcp add wontopos --scope user \
  --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp
# pick a store (optional): add --env WONTOPOS_USER_ID=my-project
Model Context Protocol · Beta

Claude Desktop

下のブロックを claude_desktop_config.json に追加し(設定 → 開発者 → Edit Config)、アプリを再起動すると 9 つのツールが現れます。注意:ウェブ・モバイルの claude.ai はリモート MCP サーバーが必要で、WOS はまだ提供していません - デスクトップアプリが対応経路です。

# claude_desktop_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
Model Context Protocol · Beta

Cursor

下のブロックを ~/.cursor/mcp.json に追加するか、ワンクリックボタンを押して Cursor を再起動してください。エージェントが 9 つのツールを取り込みます。

# ~/.cursor/mcp.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to Cursor →

Model Context Protocol · Beta

VS Code

VS Code(Copilot エージェントモード)はプロジェクトの .vscode/mcp.json から MCP サーバーを読みます。下のブロックを追加するか、ワンクリックボタンを押してください。

# .vscode/mcp.json
{ "servers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to VS Code →

Model Context Protocol · Beta

Windsurf

Windsurf(Cascade)は ~/.codeium/windsurf/mcp_config.json を読みます。下のブロックを追加してリロードすると、同じ 9 つのツールが現れます。

# ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
Model Context Protocol · Beta

ChatGPT

ChatGPT の MCP コネクタはリモートサーバーのみ対応のため、現在の対応経路はカスタム GPT の Action です:GPT を作り、Action を追加し、下の OpenAPI 仕様 URL を貼り付けて API キーを認証ヘッダーに設定します。その GPT は他のツールと同じ記憶を呼び出します。

# GPT → Configure → Actions → Import from URL
https://api.wontopos.com/openapi.json
# Authentication: API Key · Header name: X-API-Key

同じストア、同じ記憶です。ChatGPT が Action で保存したものを Claude Code が MCP で呼び出し、その逆も可能です。

Model Context Protocol · Beta

Gemini CLI

Gemini CLI は ~/.gemini/settings.json から MCP サーバーを読みます。下のブロックを追加して CLI を再起動すると、同じ 9 つのツールがそこにも現れます。

# ~/.gemini/settings.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }