ドキュメント
MCPサーバー、設定、履歴の共有
このページは英語から機械翻訳されています。修正を歓迎します。 GitHubでこのページを編集
各アカウントはそれぞれ独自のログインを持ちます。それ以外のものは、項目ごとに共有できます。ccamはアカウントのファイルやフォルダーを共有グループのフォルダーにリンクするので、あるアカウントで行った変更が、そのグループのすべてのアカウントに反映されます。
共有できる項目
| 項目 | オプション | 共有されるもの |
|---|---|---|
| MCPサーバー | --mcp |
グループのmcp.json。起動時にClaude Codeに渡されます |
| 設定 | --settings |
settings.json: 権限、フック、モデル、ステータスライン |
| グローバルメモリー | --memory |
CLAUDE.md |
| 拡張機能 | --extensions |
agents/、commands/、skills/、plugins/、output-styles/、rules/ |
| 会話履歴 | --history |
projects/とhistory.jsonl |
新しいアカウントは、会話履歴以外のすべてを共有します。
ログインファイルである.credentials.jsonと.claude.jsonが共有されることはありません。ccamは決められたリストにあるパスだけをリンクし、この2つはそのリストに含まれていません。
グループ
onはdefaultグループを意味します。名前を指定して、一部のアカウントだけで項目を共有することもできます。
ccam share work --history team
ccam share side --history teamこれでworkとsideは互いに会話を共有しますが、ほかのアカウントとは共有しません。
共有を有効にする
アカウントで項目の共有を開始すると、ccamは次の処理を行います。
- 移動、コピー、リンクするすべてのファイルの計画を表示し、開始する前に確認を求めます。
- グループがまだ空であれば、アカウントのファイルをグループのフォルダーに移動します。空でなければ、グループにまだないファイルを追加します。
- 同じファイルの内容が異なる場合は、グループのバージョンを残すか、自分のバージョンを使うか、JSONをマージするかを尋ねます。
- 元のファイルを、アカウントのフォルダー内の
.ccam-backup/<time>/に保存します。 - 元のファイルを、グループへのリンクに置き換えます。
会話ファイルの名前はセッションIDに基づいているため、複数のアカウントの履歴を競合なく結合できます。
そのアカウントでClaude Codeが実行中の間は、ccamは共有を変更しません。移動するファイルに、セッションが書き込み続けるためです。先にセッションを終了してください。
共有を無効にする
ccam share work --history offリンクが削除され、アカウントにはグループの現在の内容のコピーが作られます。代わりに空の状態から始めたい場合は、--freshを追加します。グループの内容は、ほかのアカウントのためにそのまま残ります。
既存の環境をコピーする
ccamを使う前からClaude Codeを使っていた場合、設定は~/.claudeにあります。ccam migrateはそれをグループにコピーし、その項目を共有するすべてのアカウントで使えるようにします。
ccam migrateターミナルでは、ccamは最初に項目のチェックリストを表示します。会話履歴以外のすべてにチェックが入っています。Spaceキーで項目を切り替え、Enterキーで計画を表示します。フォルダーに該当するものがない項目にはnot foundと表示されます。
コピーされるもの:
settings.jsonとグローバルのCLAUDE.md- 拡張機能の
agents/、commands/、skills/、plugins/、output-styles/、rules/ - ユーザーのMCPサーバー(
~/.claude.jsonのmcpServers項目)。グループのmcp.jsonにコピーされます - コピーするMCPサーバーの保存済みのサインイン情報(OAuth)。各アカウント自身のログインファイルにコピーされます
- 会話履歴(
projects/とhistory.jsonl)。ただし--historyを付けた場合だけです
コピー元のフォルダーは読み取るだけです。中のものを移動、リンク、変更することはなく、通常のclaudeもこれまでどおり動作します。ログインファイルの.credentials.jsonと.claude.jsonがグループにコピーされることはありません。
OAuthでサインインするMCPサーバーは、トークンをサーバーの一覧ではなくログインに保存します。サーバーにもう一度サインインしなくて済むように、ccamはそのサインイン情報を、グループを通じてサーバーを受け取るすべてのアカウントのログインファイルにコピーします。ただし、そのアカウントがすでに独自のサインイン情報を持っている場合はコピーしません。実行中のアカウント、まだログインしていないアカウント、ccam importでその場所のまま登録したアカウント、ログインをmacOSのキーチェーンに保存しているアカウントはスキップし、その名前を表示します。それらのアカウントでは/mcpでサーバーにサインインしてください。あとからMCPサーバーの共有を始めたアカウントには、ccam migrateをもう一度実行するとサインイン情報がコピーされます。
ccamは、何かをコピーする前に計画を表示して確認を求めます。
$ ccam migrate
Copy from /home/me/.claude into group default (/home/me/.local/share/ccam/groups/default):
mcp ~/.claude.json new: context7, fs
settings settings.json new: 80 B
memory CLAUDE.md new: 31 B
extensions agents/ add 1 file the group lacks (17 B)
commands/ add 1 file the group lacks (15 B)
skills/ add 1 file the group lacks (32 B)
not found, skipped: plugins/, output-styles/, rules/
Conversation history (projects/, history.jsonl) is not included; add --history to copy it.
Copy these into group default? [y/N] y
✓ Copied into group default: 2 MCP servers, settings.json, CLAUDE.md, agents/, commands/, skills/
Accounts that share these through group default:
mcp personal
settings personal
memory personal
extensions personal最後に、ccamは各項目をそのグループで共有しているアカウントを一覧表示します。共有していないアカウントがあれば、そのアカウントで共有を有効にするccam shareコマンドを表示します。
グループにすでに内容の異なるファイルがある場合、ccamは共有を有効にするときと同じように、グループのものを残すか、自分のものを使うかを尋ねます。settings.jsonなどのJSONファイルはマージすることもでき、history.jsonlは行単位でマージできます。グループの以前のファイルは、グループのフォルダー内の.ccam-backup/<time>/に保存されます。
| オプション | 効果 |
|---|---|
--settings、--memory、--extensions、--mcp、--history |
指定した項目だけを、チェックリストなしでコピーします。指定せず、ターミナル以外で実行した場合は、会話履歴以外のすべてをコピーします |
-g、--group <group> |
defaultの代わりに、このグループにコピーします |
-y、--yes |
確認なしでコピーします。内容が異なるファイルは、グループのものを残します |
ccam --dry-run migrateのようにコマンドの前に--dry-runを付けると、何もコピーせずに計画だけを確認できます。別のフォルダーからコピーするには、ccam migrate ~/.claude-work --group workのようにフォルダーを指定します。
MCPサーバー
Claude CodeはMCPサーバーをログインと一緒に.claude.jsonに保存するため、このファイルは共有できません。ccamは共有サーバーをグループのmcp.jsonに保存し、--mcp-config=<group>/mcp.jsonを付けてClaude Codeを起動します。自分で指定した--mcp-configオプションも、その上に追加で適用されます。
ccam mcp add fs -- npx -y @modelcontextprotocol/server-filesystem ~/code
ccam mcp listセッション内でclaude mcp addを使って追加したサーバーは、そのアカウントにだけ保存されます。次にそのアカウントを起動したとき、ccamはそのサーバー名と、サーバーをグループに移動するためのコマンドを表示します。
ccam mcp import work ghグループにすでに同じ名前の別のサーバーがある場合、ccamはそれをスキップし、その旨を表示します。--forceを付けるとグループのサーバーを置き換え、以前のmcp.jsonをグループの.ccam-backup/フォルダーに保存します。
OAuthでサインインするMCPサーバーは、トークンをアカウントのログインと一緒に保存します。そのため、各アカウントで一度ずつ認可するか、ccam migrateで~/.claudeからサインイン情報をコピーしてください。
サーバーをclaude mcp listや/mcpに通常のユーザーサーバーとして表示したい場合は、~/.config/ccam/config.tomlでmcp_strategy = "sync"を設定します。するとccamは、起動前にClaude Code自身のファイルロックのもとで、バックアップを取ったうえで、各アカウントの.claude.jsonにサーバーを書き込みます。
同じフォルダーで2つのアカウントを使う場合
会話履歴を共有するアカウントは、同じファイルに書き込みます。同じグループの別のアカウントがすでに実行中のフォルダーで、2つ目のClaude Codeを起動しようとすると、ccamは警告を表示し、続行するかどうかを尋ねます。
問題が起きたとき
ccam doctor
ccam doctor --fixたとえばバックアップを手動で復元した後などに、共有パスが通常のファイルになってしまった場合、ccamはClaude Codeを起動する前に停止し、ccam doctor --fixを案内します。このコマンドは、そのファイルをグループにマージし、バックアップを残します。