最終更新:2026-11-12。Windows 版は別のページに、全部の AI に共通のルールの作り方は共通 AGENTS.md の作り方にまとめています。
はじめに
Mac に5つの AI のコマンド(CLI)と作業アプリ Orca を入れ、共通ルールと MCP をそろえる手順です。上から順に実行すれば、同じ環境を作れます。
- 対象:macOS(Apple シリコン)。管理者権限のあるユーザーで行う
- 用語:CLI = ターミナルで動かすコマンド版のアプリ。MCP = AI から外のサービス(Gmail・Obsidian など)を使うためのつなぎ口
- 入力例の
$は入力待ちの記号なので、$の後ろだけを入力する <…>の部分は、下の表に従って自分の値に置き換える
自分の値に置き換える項目
| このマニュアルの表記 | 意味 | 例 |
|---|---|---|
you@example.com | Google アカウントのメールアドレス | — |
$DRIVE | Google ドライブの「マイドライブ」の場所 | ~/Library/CloudStorage/GoogleDrive-you@example.com/マイドライブ |
$VAULT | Obsidian の Vault(共用のノート置き場) | $DRIVE/AIVault |
~/.keys/keys.txt | キー・パスワードの置き場所(その Mac の中だけ。同期しない) | — |
mac2・server1・ai-vm | SSH の接続名(他の Mac・サーバー・AI 用のサーバー) | — |
<ポート> | Obsidian の Local REST API のポート番号 | プラグインの設定画面に出る番号 |
ABC | Linear のチームのキー | — |
最初にターミナルで次を実行しておくと、この後の入力例をそのまま使えます。~/.zshrc.local に書いておくと、次回から自動で設定されます。
$ export DRIVE="$HOME/Library/CloudStorage/GoogleDrive-you@example.com/マイドライブ"
$ export VAULT="$DRIVE/AIVault"
$ mkdir -p ~/.keys && chmod 700 ~/.keys
$ touch ~/.keys/keys.txt && chmod 600 ~/.keys/keys.txt
~/.keysは Google ドライブや Vault の中に作らない。キーが同期されてしまうため
動作を確かめた版(2026-11 時点)
| 種類 | 名前 | 版 | 入れ方 |
|---|---|---|---|
| 下準備 | Homebrew | 7.0.12 | 公式のスクリプトか .pkg |
| 下準備 | Node.js | 26.13.0 | brew install node |
| 下準備 | uv | 0.13.6 | brew install uv |
| 下準備 | WezTerm | 20240203-110809 | brew install --cask wezterm |
| AI の CLI | Claude Code | 2.1.322 | 公式のスクリプト |
| AI の CLI | Codex | 0.166.0 | brew install --cask codex |
| AI の CLI | Antigravity CLI(agy) | 1.5.5 | brew install --cask antigravity-cli |
| AI の CLI | Grok | 1.0.77 | 公式のスクリプト |
| AI の CLI | cursor-agent | 2026.10.22 | 公式のスクリプト |
| 道具 | GitHub CLI(gh) | 2.103.3 | brew install gh |
| アプリ | Orca | 1.4.255 | 公式サイト |
| アプリ | Obsidian | 1.14.5 | 公式サイト |
- これより新しい版でも、手順は基本的に同じです。画面やコマンドが変わっていたら、公式の説明を優先してください
- 各アプリの公式サイトは、末尾の「公式サイト一覧」にまとめています
作業の順番
- 下準備(Homebrew・Node・uv・WezTerm・SSH の鍵)
- AI の CLI を入れてログイン
- アプリを入れる
- 共通ルール(AGENTS.md)を各 AI につなぐ
- MCP を各 AI に登録
- 動作確認
全体の構成

5つの AI は、共通ルールを Vault の AGENTS.md から読み、外のサービスには MCP でつながります。キーは ~/.keys にだけ置きます。
手順の流れ

手順1 下準備(約30分)
AI の CLI を入れる土台として、Homebrew・Node.js・uv・WezTerm を入れ、SSH の鍵を用意します。
- Homebrew = Mac 用のアプリの入れ物管理ツール。この後のほとんどを
brew installで入れる - この手順は、すべて
sudoを付けずに実行する(理由は手順6 の「つまずきやすい点」)
1-1 Homebrew
brew.sh の .pkg を開いて入れるか、ターミナルで次を実行する。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ eval "$(/opt/homebrew/bin/brew shellenv)"
$ brew --version
1-2 土台のツール
$ brew install node uv gh
$ brew install zsh-autosuggestions zsh-syntax-highlighting fzf zoxide eza
$ brew install --cask wezterm
- node = Codex や MCP(
npxで動くもの)に必要 - uv = Python 製の MCP(Google Workspace MCP など)を
uvxで動かすのに必要 - 2行目は zsh を使いやすくする道具(入力の補完・色付け・履歴の検索など)。無くても動く
1-3 zsh と WezTerm の設定(複数の Mac でそろえる場合)
設定の本体を Google ドライブの $DRIVE/dotfiles/ に置き、各 Mac にはそれを読み込むだけの短いファイルを置きます。元のファイルがあれば、先に .bak_日付 で控えを取る。
~/.zshrc:
_shared_zshrc="$HOME/Library/CloudStorage/GoogleDrive-you@example.com/マイドライブ/dotfiles/zshrc"
if [[ -r $_shared_zshrc ]]; then
source "$_shared_zshrc"
else
[[ -r ~/.zshrc.local ]] && source ~/.zshrc.local
fi
unset _shared_zshrc
~/.wezterm.lua:
local wezterm = require 'wezterm'
local path = wezterm.home_dir .. '/Library/CloudStorage/GoogleDrive-you@example.com/マイドライブ/dotfiles/wezterm.lua'
wezterm.add_to_config_reload_watch_list(path)
return dofile(path)
- 共通の zshrc には、少なくとも次の1行を入れる。Claude Code・cursor-agent は
~/.local/binに入るので、これが無いとコマンドが見つからない
path=(~/.local/bin ~/bin $path)
- その Mac だけの設定(nvm・
$DRIVE・$VAULTなど)は~/.zshrc.localに書く - 1台だけで使うなら、
~/.zshrcに直接書いてもよい
1-4 SSH の鍵
他の Mac やサーバーに入るための鍵。無ければ作り、相手に登録する。
$ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_server1
$ ssh-copy-id -i ~/.ssh/id_ed25519_server1.pub server1
$ ssh server1
~/.ssh/config の例:
Host server1
HostName <サーバーのアドレス>
User <ユーザー名>
IdentityFile ~/.ssh/id_ed25519_server1
- 接続名(
Hostの後ろ)は、手順3 の Orca でもそのまま使われる - 秘密鍵(
.pubが付かない方)は画面に表示しない。相手に渡すのは.pubだけ
手順2 AI の CLI を入れる(約30分)
5つの AI の CLI と GitHub CLI を入れ、それぞれに一度ログインします。ログインはブラウザーが開くので、その Mac の画面の前で行います。使わない AI は飛ばして構いません。
| CLI | 入れるコマンド | ログイン | 使うアカウント |
|---|---|---|---|
| Claude Code | curl -fsSL https://claude.ai/install.sh \| bash | claude を起動 → /login | claude.ai |
| Codex | brew install --cask codex | codex login | ChatGPT |
| Antigravity CLI | brew install --cask antigravity-cli | agy を起動 | |
| Grok | curl -fsSL https://x.ai/cli/install.sh \| bash | grok login | X(xAI) |
| cursor-agent | curl https://cursor.com/install -fsS \| bash | cursor-agent login | Cursor |
| GitHub CLI | brew install gh(手順1 で済み) | gh auth login | GitHub |
2-1 入れる
$ curl -fsSL https://claude.ai/install.sh | bash
$ brew install --cask codex
$ brew install --cask antigravity-cli
$ curl https://cursor.com/install -fsS | bash
$ curl -fsSL https://x.ai/cli/install.sh | bash
- Claude Code と cursor-agent は
~/.local/binに、Grok は~/.grok/binに入る - Grok のインストーラーは
~/.zshrcの末尾に PATH の行を足す(# >>> grok installer >>>の範囲)。消さない - Gemini CLI(
gemini-cli)ではなく Antigravity CLI を使う。個人の無料枠では Gemini CLI がUNSUPPORTED_CLIENTで使えなかった(2026-10 時点) - 入れたらターミナルを開き直す
2-2 ログイン
$ claude # 初回は配色などを聞かれる → /login → ブラウザーで許可
$ codex login # 「Sign in with ChatGPT」を選ぶ
$ agy # 初回起動で Google のログイン画面が開く
$ grok login
$ cursor-agent login
$ gh auth login # GitHub.com → HTTPS → ブラウザーで認証
$ gh auth setup-git # git の https に gh のログインを使う
- 定期実行などで Claude Code を画面なしで動かすときは、
claude setup-tokenで長期用のトークンを作る。トークンは~/.keys/keys.txtに置き、Vault には書かない - gh のログイン情報は macOS のキーチェーンに保存される。SSH で入った画面からはキーチェーンを開けないので、その Mac の画面で行う
2-3 確認
$ claude --version && codex --version && agy --version && grok --version && cursor-agent --version
$ claude auth status
$ codex login status # Logged in using ChatGPT
$ cursor-agent status
$ gh auth status
手順3 アプリを入れる(約1時間)
画面で使うアプリを入れます。中心は Orca(AI の作業画面)と Obsidian(共用のノート)で、他は必要なものだけで構いません。
| アプリ | 役割 | 必要度 |
|---|---|---|
| Orca | 複数の AI と複数のパソコンを1つの画面で扱う。携帯からも依頼できる | 推奨 |
| Obsidian | 共用 Vault(記録と共通ルール) | 推奨 |
| VS Code | コードの編集 | 任意 |
| Cursor | AI 付きのコードエディター | 任意 |
| Slack・Linear | 依頼・通知と、作業の管理 | 任意 |
| Claude・ChatGPT・Gemini・Grok | 各 AI のチャット用アプリ | 参照 |
3-1 Orca
入れ方
- Orca の公式サイトから .dmg を入れ、
/Applicationsに置く - アプリに付いてくる CLI(
orca)が使えるか確かめる
$ orca --version
$ orca status # appRunning: true、runtimeState: ready なら正常
アカウント(AI のログイン)
設定のアカウントで、Claude・Codex・Antigravity にそれぞれログインします。
$ orca account list # 登録済みのアカウントと使用中(active)を表示
$ orca account add # アカウントを足す(画面の設定からでもよい)
$ orca account select # 新しいチャットで使うアカウントを選ぶ
- 「System default」= 手順2 で CLI にログインしたものを使う。管理アカウント = Orca 専用に保存したログイン
- Codex の管理アカウントを使うと、設定のフォルダー(
CODEX_HOME)が~/.codexではなく次になる。手順4・5 で、こちらにも同じ設定を入れる
~/Library/Application Support/orca/codex-accounts/<アカウントID>/home/
接続先
- SSH:
~/.ssh/configの接続名(mac2・server1など)がそのまま接続先になる - 別のマシンの Orca(例:AI 用のサーバー
ai-vm)は、「環境」としてペアリングする。相手側で出したペアリングコードを使う。コードはノートに書かない
$ orca host list # 接続先の一覧
$ orca environment add # ペアリングコードで別のマシンの Orca を登録
$ orca environment list
定期実行(オートメーション)
AI に決まった作業を定期的にさせられます(例:毎月のメールの整理、1時間ごとに Linear の課題を処理)。
$ orca automations list # この Mac の定期実行
$ orca automations list --environment ai-vm # 別のマシンの定期実行
$ orca automations create --help # 作り方
$ orca automations runs <ID> # 実行の履歴
$ orca automations run <ID> # 今すぐ1回実行
- 確認なしで動かす AI には、作業フォルダーの
.claude/settings.jsonで禁止する操作(削除・rm・sudo・curlなど)を決めておく
iPhone から使う
- iPhone に Orca を入れる
- Mac の Orca に出る QR コードを iPhone で読んでペアリングする
- iPhone からチャットを開いて依頼できる。Mac は起動したままにしておく
- Orca は LAN の他の機器から届く形で待ち受ける。共用のネットワークで使うときは設定を確かめる
よく使う orca コマンド
| コマンド | 内容 |
|---|---|
orca status | Orca が動いているか |
orca repo list / orca repo add <パス> | 作業フォルダーの一覧/追加 |
orca worktree list | Orca が管理する作業場所の一覧 |
orca terminal list / orca terminal read | 動いている端末の一覧/出力を読む |
orca search <言葉> | 過去のチャットを全文検索 |
orca linear … | Linear の課題の読み書き(3-5) |
3-2 Obsidian
入れ方と Vault の開き方
- Google ドライブのデスクトップ版でサインインし、
$VAULTにするフォルダーを作る(または同期を待つ) - obsidian.md から公式の .dmg を入れる
- 「フォルダーを Vault として開く」→
$VAULTのフォルダーを選ぶ
$ codesign -dv /Applications/Obsidian.app 2>&1 | grep Authority # 署名(Dynalist Inc.)を確認
- 設定(
.obsidianフォルダー)も Vault と一緒に同期されるので、プラグインは全端末でそろう - フォルダー構成の例:
01_DailyNotes/(日次)・02_Meetings/(議事録)・03_Projects/(プロジェクト)・04_Reference/(参照)
コミュニティプラグイン
| プラグイン | 役割 | 必要度 |
|---|---|---|
| Local REST API | AI の MCP がノートを読み書きする窓口 | 必須 |
| Omnisearch | 全文検索 | 任意 |
| Recent Files | 最近開いたノートの一覧 | 任意 |
| 2Hop Links Plus | リンクのリンク先まで表示 | 任意 |
| Reveal Active File Button | 開いているノートをファイル一覧で示す | 任意 |
| Custom Frames | Web ページを Obsidian の中に表示 | 任意 |
- 追加の仕方:設定 → コミュニティプラグイン →「閲覧」で名前を検索 → インストール → 有効化
- 標準の機能では、デイリーノート(保存先を
01_DailyNotesに)と Bases(ノートの一覧表)を使う
Local REST API の設定
- プラグインの設定で「暗号化なし(HTTP)のサーバー」を有効にし、ポート番号を控える(このマニュアルの
<ポート>) - API キーをコピーし、
~/.keys/keys.txtに控える(書き方は手順5-2) - 待ち受けているか確かめる
$ curl -s http://127.0.0.1:<ポート>/ # 応答が返れば正常
- Obsidian が起動していないと、AI からノートを読み書きできない。Mac のログイン項目に入れておく
- プラグインの設定ファイル(
.obsidian/plugins/obsidian-local-rest-api/data.json)には API キーと証明書の鍵が入っている。中身を画面に表示しない、人に渡さない - 見出しを指定して書き込むとき(PATCH)は
Markdown-Patch-Version: 2が要る。書いた後、見出しの段が下がっていないか確かめる
同期の注意
- Obsidian Sync と Google ドライブを併用しない。併用すると衝突のコピーが大量にできる
- 1つのノートを同時に2か所(2台・2つの AI)で書き換えない。書き込む前後に、「 (1)」「 2」付きのコピーや 0 バイトのファイルが無いか確かめる
3-3 開発用アプリ(VS Code・Cursor・GitHub)
VS Code
- code.visualstudio.com から入れ、
/Applicationsに置く - コマンドパレット(
Cmd+Shift+P)→「Shell Command: Install ‘code’ command in PATH」 - 拡張機能を入れる
$ code --install-extension anthropic.claude-code
$ code --install-extension MS-CEINTL.vscode-language-pack-ja
$ code --install-extension eamodio.gitlens
$ code --install-extension yzhang.markdown-all-in-one
$ code --install-extension DavidAnson.vscode-markdownlint
設定(~/Library/Application Support/Code/User/settings.json)の例:
{
"claudeCode.preferredLocation": "panel",
"terminal.external.osxExec": "WezTerm.app"
}
- Claude Code を下のパネルに出し、外部のターミナルを WezTerm にする設定
Cursor
- cursor.com から入れ、Cursor のアカウントでログインする。VS Code と同じ作りなので、初回起動で VS Code の設定と拡張機能を取り込める
- 料金は Hobby(無料)から。最新の料金は公式サイトで確認する
- ターミナル版は手順2 の
cursor-agent。Grok もagentというコマンドを作るので、cursor-agentの名前で起動する
GitHub
GitHub CLI(gh)と Web で使います。
$ gh auth login # GitHub.com → HTTPS → ブラウザーで認証
$ gh auth setup-git # git の push・clone に gh のログインを使う
$ gh auth status
$ gh repo clone <ユーザー名>/<リポジトリ名>
3-4 Slack
Slack は、AI への依頼と結果の通知を受ける入口として使います。
- 公式サイトのデスクトップ版を入れてワークスペースにログインする
- 依頼用のチャンネル(例:
#ai-requests)を作る - Claude Code から Slack を読み書きするときは、claude.ai の設定で Slack コネクターをつなぐ。送信前に内容を確認するルールにしておく
3-5 Linear
Linear は作業(課題)の管理です。Slack で頼んだ作業が Linear の課題になり、AI が処理して Slack に結果が届く形にできます。Free プランでも動きます。
初期設定
- 公式サイトのデスクトップ版を入れ、チームを作る(このマニュアルではキー
ABC。課題は ABC-1 からの番号になる) - 設定 → Integrations → Slack でワークスペースとつなぐ。あわせて個人の Slack アカウントもつなぐ
- チームの通知先を
#ai-requestsにし、「An issue is added to the team」をオンにする - ラベル「AI作業」を作る(このラベルの課題を AI が処理する約束にする)
- 個人 API キーを作る(設定 → アカウントのセキュリティ → Personal API keys。画面の名前は版で変わることがある)。キーは作ったときしか表示されないので
~/.keys/keys.txtに控える - Orca の設定 → 連携 →「Linear アクセスを追加」に貼る。
orca linear team listでチームが出れば接続できている
状態(ワークフロー)
| 状態 | 使い方 |
|---|---|
| Backlog・Todo | 未着手。AI の処理対象にする |
| In Progress・In Review | 作業中・確認待ち |
| Done | 完了。AI が処理し終えたらここにする |
| Canceled・Duplicate | 取り消し。不要な課題は削除せずここにする |
課題が処理される流れ(例)
- Slack で
@Linearに頼む → 課題が Backlog にでき、Slack に作成の通知が届く - Orca の定期実行が1時間ごとに起動。ラベル「AI作業」の課題が無ければ AI を起動せずに終わる
- あれば AI が課題を読み、Obsidian の MCP でノートに記録する
- 課題を Done にする → Slack に完了の通知が届く
Slack での頼み方:
@Linear create project プロジェクト名
@Linear 「〇〇を調べてノートにまとめる」という課題を、Project「〇〇」・ラベル「AI作業」で作って
orca linear のコマンド
# 見る
$ orca linear team list
$ orca linear team states --team ABC
$ orca linear team labels --team ABC
$ orca linear project list
$ orca linear list-issues --limit 10
$ orca linear list-issues --label AI作業 --state Backlog
$ orca linear issue ABC-12 --comments
# 作る・変える
$ orca linear create --title "〇〇を調べる" --team ABC --project "プロジェクト名" --label AI作業
$ orca linear status set ABC-12 --to "In Progress"
$ orca linear label add ABC-12 --label AI作業
$ orca linear comment add ABC-12 --body "結果はノートに記録"
- 別のマシンの Orca に対して実行するときは
--environment ai-vmを付ける orca linearには Project・ラベルを作るコマンドと、課題を消すコマンドが無い。Linear の画面か Slack の@Linearで行う- zsh でコマンドを変数で渡すと(
orca linear $c)「team list」が1つの語のまま渡ってUnknown commandになる。直接書く
3-6 AI のデスクトップアプリ(参照)
チャットでの相談や文章作りに使うアプリです。開発の作業は CLI(手順2)で行うので、入れてログインするだけで構いません。
| アプリ | アカウント | CLI との関係 |
|---|---|---|
| Claude | claude.ai | Claude Code と同じアカウントで、利用枠も共通 |
| ChatGPT | ChatGPT | Codex と同じアカウント。Codex のブラウザー操作は、このアプリの部品を使う |
| Gemini | Antigravity CLI(agy)とは別のアプリ | |
| Grok | X(xAI) | Web・X のアプリ・iPhone で使える(Mac 用アプリの有無は公式サイトで確認) |
- 各社の公式サイトか App Store から入れ、CLI と同じアカウントでログインする
- アプリや Web 版は
AGENTS.mdを読まない。共通ルールのうち大事なものを、各アプリの「個人設定」「カスタム指示」に貼る
手順4 共通ルール(AGENTS.md)を各 AI につなぐ(約20分)
Vault に共通ルール AGENTS.md を1つ置き、各 AI の「全体の指示ファイル」をそこへのシンボリックリンク(別の場所のファイルを指すショートカット)にします。ルールを1か所直せば、全端末・全 AI に反映されます。
| AI | 全体の指示ファイル |
|---|---|
| Claude Code | ~/.claude/CLAUDE.md |
| Codex | ~/.codex/AGENTS.md |
| Codex(Orca 経由) | ~/Library/Application Support/orca/codex-accounts/<ID>/home/AGENTS.md |
| Antigravity CLI | ~/.gemini/GEMINI.md |
| Grok | ~/.grok/AGENTS.md |
4-1 AGENTS.md を書く
$VAULT/AGENTS.md に、全 AI に守らせたいことを書きます。見出しの例:
# 共用 Vault の共通ルール
## 1. 利用者について(何に AI を使うか)
## 2. 記録のしかた(作業結果をどのノートにどう追記するか)
## 3. フォルダー構成とファイル名
## 4. 秘密情報(キーは ~/.keys だけ。Vault に書かない)
## 5. 回答のスタイル(日本語、結論から、断定できないことは「要確認」)
## 6. 破壊的操作(削除・force push などは事前に確認)
## 7. ツールごとの読み書きの方法(Obsidian の MCP を優先)
- Vault の直下に
CLAUDE.md(中身は@AGENTS.mdの1行+ Claude だけの補足)を置くと、Vault の中で起動した Claude Code も同じルールを読む - ルールに「新しいチャットの最初の返答に、読み込んだ印の1行を出す」と書いておくと、読まれたかが毎回分かる
4-2 リンクを作る
既にファイルがあるときは、先に控えを取る(mv ファイル ファイル.bak_日付)。
$ V="$VAULT/AGENTS.md"
$ mkdir -p ~/.claude ~/.codex ~/.gemini ~/.grok
$ ln -s "$V" ~/.claude/CLAUDE.md
$ ln -s "$V" ~/.codex/AGENTS.md
$ ln -s "$V" ~/.gemini/GEMINI.md
$ ln -s "$V" ~/.grok/AGENTS.md
$ ln -s "$V" ~/Library/Application\ Support/orca/codex-accounts/*/home/AGENTS.md
$ ls -l ~/.claude/CLAUDE.md ~/.codex/AGENTS.md ~/.gemini/GEMINI.md ~/.grok/AGENTS.md
- 最後の
ls -lで、すべて-> …/AGENTS.mdと出れば完了 - Orca の行は、Orca で Codex のアカウントを追加した後に実行する。Orca がフォルダーを作り直すとリンクが消えることがある
- Google ドライブがつながっていないときはリンク先が見えず、ルールは読まれない
- Grok は
~/.claude/CLAUDE.mdも読むので、同じルールが2回入る。中身は同じなので実害は小さい
4-3 読まれたか確かめる
ファイルを開かせずに、ルールにしか書いていないことを聞きます。Vault の外(例:~)で実行する。
$ cd ~
$ claude -p "秘密情報はどこに置くルール?ファイルは開かずに答えて"
$ codex exec "秘密情報はどこに置くルール?ファイルは開かずに答えて"
$ agy -p "秘密情報はどこに置くルール?ファイルは開かずに答えて"
~/.keysと答えれば読まれている- Grok は対話の画面(
grok)で同じことを聞く
手順5 MCP を各 AI に登録(約1時間)
MCP ごとに「起動用のスクリプト」を ~/bin に1つ作り、それを各 AI に同じ名前で登録します。キーはスクリプトが起動のたびに ~/.keys/keys.txt から読むので、AI の設定ファイルにキーが平文で残りません。
5-1 登録する MCP
| MCP | 登録名 | 起動 | 事前の準備 |
|---|---|---|---|
| Obsidian | obsidian | ~/bin/obsidian-mcp.sh | Local REST API のキー(手順3-2) |
| Google Workspace | google | ~/bin/google-mcp.sh | Google Cloud で OAuth のクライアントを作る |
| X | xapi | ~/bin/x-mcp.sh | X の開発者向けアプリを作る(有料のクレジットが要る) |
| LINE | line | ~/bin/line-mcp.sh | LINE 公式アカウントと Messaging API のトークン |
| Chrome | chrome-devtools | npx -y chrome-devtools-mcp@1.12.0 | なし |
- 使わない MCP は飛ばして構いません。まず Obsidian だけ入れるのがおすすめ
- X は、同じ X アプリを複数の Mac で使うと、認可の画面が何度も出ることがある。1台の Mac だけに入れる
- Claude Code の Chrome は、Chrome 拡張機能「Claude in Chrome」を入れ、Claude Code で
/chromeを実行してつなぐ(MCP の登録は不要)
5-2 キーのファイルと起動用のスクリプト
~/.keys/keys.txt(chmod 600)に、1行1つで 名前=値 の形で書きます。
OBSIDIAN_API_KEY=<Local REST API のキー>
LINE_CHANNEL_ACCESS_TOKEN=<LINE のトークン>
~/bin/obsidian-mcp.sh(chmod 700):
#!/bin/zsh
# キーを MCP の設定ファイルに平文で写さないよう、起動のたびに ~/.keys から読む。
KEYS=~/.keys/keys.txt
key() { grep "^$1=" "$KEYS" | head -1 | cut -d= -f2-; }
export OBSIDIAN_API_KEY=$(key OBSIDIAN_API_KEY)
export OBSIDIAN_BASE_URL=http://127.0.0.1:<ポート>
exec /opt/homebrew/bin/npx -y obsidian-mcp-server@3.7.2 "$@"
- 他の MCP のスクリプトも同じ形。
exportの行と最後のexecの行を、その MCP の説明書に合わせて差し替える - Google Workspace MCP(
workspace-mcp)は Python 3.10 以上が要る。Mac の python3 は 3.9 なので、exec uvx workspace-mcp …のようにuvxで動かす - X は公式の MCP(
https://api.x.com/mcp)に@xdevplatform/xurlのxurl mcpでつなぐ
5-3 各 AI に登録する
Obsidian を例にした入力。他の MCP は名前とスクリプトを差し替える。
# Claude Code(-s user = どのフォルダーで起動しても使える)
$ claude mcp add -s user obsidian -- ~/bin/obsidian-mcp.sh
# Codex(通常の設定と Orca の専用フォルダーの両方に)
$ CODEX_HOME=~/.codex codex mcp add obsidian -- ~/bin/obsidian-mcp.sh
$ CODEX_HOME=~/Library/Application\ Support/orca/codex-accounts/<ID>/home codex mcp add obsidian -- ~/bin/obsidian-mcp.sh
# Grok
$ grok mcp add obsidian ~/bin/obsidian-mcp.sh
# Antigravity CLI(設定は ~/.gemini/config/mcp_config.json)
$ agy mcp add obsidian ~/bin/obsidian-mcp.sh
Chrome(Codex・Grok・agy)はスクリプトを使わず、直接登録する。利用統計の送信は切る。
$ CODEX_HOME=~/.codex codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp@1.12.0 --usageStatistics=false --performanceCrux=false
5-4 初回のログイン(必要なものだけ)
- Google:最初に道具を使ったときにブラウザーが開く。許可は1回で、全 AI が同じログインを使う
- X:
xurlのログインをブラウザーで許可する(認証は~/.xurlに保存) - Claude Code は、登録した後に起動し直すと有効になる
手順6 動作確認
次のコマンドがすべて通れば、構築は完了です。
$ claude mcp list # 各 MCP が ✓ Connected
$ codex mcp list
$ grok mcp doctor # すべて正常
$ agy mcp list
- □ 5つの CLI の
--versionが出る - □ 使う AI と gh がログイン済み
- □ 指示ファイルが
AGENTS.mdへのリンクになっている - □ 各 AI がルールにしか書いていないことを答えられる
- □ 各 AI から Obsidian のノート一覧が取れる
- □ Orca から Claude と Codex のチャットを開ける
- □ AI の設定ファイル(
~/.claude.json・~/.codex/config.toml・Orca の専用フォルダー・~/.grok/config.toml・~/.gemini/config/mcp_config.json)にキーが平文で入っていない
つまずきやすい点
| 起きること | 原因 | 対処 |
|---|---|---|
| インストールで権限のエラーが出る、後で動かない | sudo curl … \| bash・sudo npm install -g・sudo brew のように sudo を付けた | sudo は付けない。Homebrew は sudo を拒否する。Codex は npm ではなく brew install --cask codex で入れる |
Gemini CLI が UNSUPPORTED_CLIENT で使えない | 個人の無料枠では Gemini CLI が使えない | Antigravity CLI(agy)を使う。~/.gemini/ は agy が使うので消さない |
| Codex に登録したはずの MCP やルールが無い | Orca から起動すると CODEX_HOME が Orca の専用フォルダーを指す | CODEX_HOME を明示して、両方に登録する |
agy -p で MCP が拒否される | 画面なしだと道具の許可を出せない | agy --dangerously-skip-permissions -p "…"(オプションは -p より前)。信頼できる作業だけに使う |
agent コマンドが Grok になる | Grok と cursor-agent の両方が agent を作る | cursor-agent は cursor-agent の名前で起動する |
| AI が処理の終わりを待ち続けて止まる | pgrep -f が確かめるコマンド自身に一致する | ルールに「pgrep -f・pkill -f を使わない」と書いておく |
| ノートの衝突のコピーが大量にできる | Obsidian Sync と Google ドライブの併用、同じノートの同時編集 | 同期は1つにする。書き込みは Obsidian の MCP 経由にそろえる |
秘密情報の扱い
- キー・パスワードは
~/.keysだけに置き、Vault・Google ドライブ・AI の設定ファイルには書かない claude mcp add -e KEY=…のようにキーを直接渡すと~/.claude.jsonに平文で残る。必ず起動用のスクリプトを通す- このマニュアルを人に渡すときや画面を共有するときは、
~/.keys/keys.txtと Obsidian のプラグインの設定ファイルを開かない
公式サイト一覧
この手順書に出てくるアプリ・ツールの公式ページです。版が変わっても使えるよう、公式サイトのトップやダウンロードのページにリンクしています(2026-11-12 に開けることを確認)。
| 種類 | 名前 | 公式ページ | この手順書での役割 |
|---|---|---|---|
| 下準備 | Homebrew | brew.sh | アプリの入れ物管理 |
| 下準備 | Node.js | nodejs.org | npx で動く MCP |
| 下準備 | uv | docs.astral.sh/uv | Python 製の MCP |
| 下準備 | WezTerm | wezterm.org | ターミナル |
| 下準備 | GitHub CLI | cli.github.com | GitHub の操作 |
| AI の CLI | Claude Code | code.claude.com/docs | AI(Anthropic) |
| AI の CLI | Codex | developers.openai.com/codex | AI(OpenAI) |
| AI の CLI | Antigravity | antigravity.google | AI(Google) |
| AI の CLI | Grok Build | docs.x.ai/build/overview | AI(xAI) |
| AI の CLI | Cursor CLI | cursor.com/cli | AI(Cursor) |
| アプリ | Orca | onorca.dev(GitHub) | AI の作業画面 |
| アプリ | Obsidian | obsidian.md | 共用のノート |
| アプリ | VS Code | code.visualstudio.com | コードの編集 |
| アプリ | Cursor | cursor.com | AI 付きのエディター |
| アプリ | Slack | slack.com/downloads | 依頼と通知 |
| アプリ | Linear | linear.app/download | 作業の管理 |
| アプリ | Claude | claude.com/download | チャット |
| アプリ | ChatGPT | chatgpt.com/download | チャット |
| アプリ | Gemini | gemini.google/mac | チャット |
| アプリ | Grok | grok.com | チャット(Web) |
| 拡張機能 | Claude in Chrome | claude.com/chrome | Claude Code から Chrome を操作 |
| Obsidian プラグイン | Local REST API | GitHub | MCP からノートを読み書き |
| MCP | obsidian-mcp-server | GitHub | Obsidian |
| MCP | Google Workspace MCP | GitHub | Gmail・ドライブ・カレンダー |
| MCP | X の MCP(xurl) | 説明・GitHub | X |
| MCP | LINE Bot MCP Server | GitHub | LINE |
| MCP | Chrome DevTools MCP | GitHub | Chrome |
