severally-mcp 2.3.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md CHANGED
@@ -83,8 +83,6 @@ flowchart TB
83
83
  - Node.js 22 以降
84
84
  - インストールしてログインした CLI(4 つのうち少なくとも 1 つ)。1 つで足り、Claude Code だけでも、新しい
85
85
  Claude Code のセッションに相談できます。
86
- - macOS と Linux では、npm のグローバルの実行ディレクトリが `PATH` にあること。既定のインストールは、Codex が
87
- 起動する `severally-mcp` コマンドをそこに置きます。`--manual` なら要りません。
88
86
 
89
87
  インストーラとサーバは Linux・macOS・Windows でテストしています。Claude Code と Codex のマーケットプレイスからの
90
88
  導入と、実際の CLI での動作を試したのは Linux だけです。
@@ -92,20 +90,29 @@ flowchart TB
92
90
  macOS、Linux、Windows(PowerShell またはコマンドプロンプト)のどれでも、次の 1 行で入れられます。
93
91
 
94
92
  ```bash
95
- npx -y severally-mcp@2.3.1 install
93
+ npx -y severally-mcp@2.4.0 install
96
94
  ```
97
95
 
98
96
  インストーラは、`PATH` で見つかった CLI のそれぞれに severally を登録します。末尾に `--dry-run` を付けると、何も
99
97
  変えずに変更内容だけを表示します。終わったら、クライアントを再起動してください。動いているセッションは、新しい
100
98
  登録を読み直しません。
101
99
 
100
+ Claude Code だけで使うなら、プラグインマーケットプレイスから入れることもできます。Claude Code で
101
+ `/plugin marketplace add coz-a/severally`、続けて `/plugin install severally@severally` を実行し、Claude Code を
102
+ 再起動します。見つかった CLI すべてに登録できる上の 1 行が基本の方法です。詳しくは
103
+ [docs/install.ja.md](docs/install.ja.md#claude-code-のプラグインマーケットプレイスから入れる) にあります。
104
+
105
+ macOS と Linux の既定のインストールは、`npm install -g` で `severally-mcp` コマンドを `PATH` に置きます。要るのは
106
+ Codex のプラグインだけです。npm がグローバルに入れられないとき(たとえば sudo が要る、npm のグローバルのフォルダが
107
+ `PATH` に無い)は、インストーラが代わりに Codex を直接登録し、そう表示します。ほかに必要なことはありません。
108
+
102
109
  Claude Code のプラグインマーケットプレイスから入れる方法、クローンから入れる方法、登録の確かめ方、インストーラが
103
110
  変えるものは、[docs/install.ja.md](docs/install.ja.md) にあります。
104
111
 
105
112
  ### コマンドライン
106
113
 
107
114
  ```bash
108
- npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-global]
115
+ npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-global] [--allow-local-tools]
109
116
  ```
110
117
 
111
118
  | オプション | すること |
@@ -114,11 +121,14 @@ npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-glo
114
121
  | `--manual` | プラグインを入れる代わりに、MCP サーバを登録して Skill を写す(Windows の既定) |
115
122
  | `--force` | すでに登録してあっても、そのままにせず登録し直す |
116
123
  | `--skip-global` | プラグイン方式で npm のグローバルなインストールを飛ばす。`PATH` 上の `severally-mcp` がすでにこのインストールを指しているときだけ使える |
124
+ | `--allow-local-tools` | severally の手元で完結する 5 つのツールを、確認なしで Claude Code の許可リストに足す。`consult_start` は確認を残す |
117
125
 
118
126
  方式ごとに何が変わるかは [docs/install.ja.md](docs/install.ja.md#2-つのインストール方式) にあります。
119
127
 
120
128
  `npx -y severally-mcp@latest status` を実行すると、相談を始めずに、設定ファイル・この機械から使える相談相手・
121
- 入っている写しの版・どのクライアントに登録されているかを表示します。
129
+ 入っている写しの版・どのクライアントに登録されているか・各 CLI にログインしているかを表示します。ログインの確認は
130
+ CLI 自身の状態確認コマンドを読むだけで、プロンプトは送りません。使用枠を使い切っていないかは確かめません。それは
131
+ 最初の相談で分かります。
122
132
 
123
133
  ### 更新
124
134
 
@@ -129,8 +139,8 @@ npx -y severally-mcp@latest install
129
139
  ```
130
140
 
131
141
  `@latest` を付けると、npx は毎回 npm に最新版を問い合わせます。手元に古い写しがあっても、それは使いません。
132
- 終わったら、クライアントを再起動してください。Claude Code のプラグインマーケットプレイスから入れた場合は、
133
- [docs/install.ja.md](docs/install.ja.md#更新) を見てください。版ごとの変更点は
142
+ Claude Code にマーケットプレイス版の severally が入っていれば、同じ 1 行でその写しも更新されます(詳しくは
143
+ [docs/install.ja.md](docs/install.ja.md#更新))。終わったら、クライアントを再起動してください。版ごとの変更点は
134
144
  [リリース](https://github.com/coz-a/severally/releases)にあります。
135
145
 
136
146
  ### アンインストール
package/README.md CHANGED
@@ -85,8 +85,6 @@ What a consultant can read and do is under [What a consultant can see and do](#w
85
85
  - Node.js 22 or newer
86
86
  - At least one of the four CLIs, installed and logged in. One is enough: with only Claude Code, you can still ask a
87
87
  fresh Claude Code session.
88
- - On macOS and Linux, npm's global executable directory on `PATH`: the default install puts a `severally-mcp`
89
- command there for Codex to launch. `--manual` does without it.
90
88
 
91
89
  The installer and the server are tested on Linux, macOS and Windows; the Claude Code and Codex marketplace
92
90
  routes and the real CLIs have been tried on Linux only.
@@ -94,20 +92,29 @@ routes and the real CLIs have been tried on Linux only.
94
92
  One line, on macOS, Linux and Windows (PowerShell or Command Prompt):
95
93
 
96
94
  ```bash
97
- npx -y severally-mcp@2.3.1 install
95
+ npx -y severally-mcp@2.4.0 install
98
96
  ```
99
97
 
100
98
  The installer registers severally with each CLI it finds on `PATH`. Add `--dry-run` at the end to print what it
101
99
  would change without changing anything. Then restart the clients: a running session does not reload the new
102
100
  registration.
103
101
 
102
+ If you use only Claude Code, you can install from its plugin marketplace instead: run `/plugin marketplace add coz-a/severally`
103
+ and then `/plugin install severally@severally` in Claude Code, and restart it. The one line above is the main route,
104
+ since it registers every CLI it finds. Details are in
105
+ [docs/install.md](docs/install.md#from-the-claude-code-plugin-marketplace).
106
+
107
+ On macOS and Linux, the default install also runs `npm install -g` to put a `severally-mcp` command on `PATH`, which
108
+ only Codex's plugin needs. If npm cannot install it globally (for example it needs sudo, or npm's global folder is
109
+ not on `PATH`), the installer registers Codex directly instead and says so. Nothing else is needed.
110
+
104
111
  Installing from the Claude Code plugin marketplace or from a clone, checking the registration, and what the
105
112
  installer changes are in [docs/install.md](docs/install.md).
106
113
 
107
114
  ### Command line
108
115
 
109
116
  ```bash
110
- npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-global]
117
+ npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-global] [--allow-local-tools]
111
118
  ```
112
119
 
113
120
  | Option | What it does |
@@ -116,11 +123,14 @@ npx -y severally-mcp@latest install [--dry-run] [--manual] [--force] [--skip-glo
116
123
  | `--manual` | registers the MCP server and copies the Skill instead of installing the plugin (the default on Windows) |
117
124
  | `--force` | registers again where severally is already registered, instead of leaving it as it is |
118
125
  | `--skip-global` | skips the global npm install in plugin mode, when `severally-mcp` on `PATH` is already this install |
126
+ | `--allow-local-tools` | adds severally's five local tools to Claude Code's allow list without asking; `consult_start` still asks |
119
127
 
120
128
  What each mode changes is in [docs/install.md](docs/install.md#two-install-modes).
121
129
 
122
130
  `npx -y severally-mcp@latest status` shows what is set up without starting a consultation: the config file, the
123
- consultants this machine can reach, the installed copies' versions and which clients have severally registered.
131
+ consultants this machine can reach, the installed copies' versions, which clients have severally registered and
132
+ whether each CLI is logged in. The login check reads the CLI's own status command and sends no prompt; running out
133
+ of quota is not checked, and the first consultation shows it.
124
134
 
125
135
  ### Updating
126
136
 
@@ -131,8 +141,8 @@ npx -y severally-mcp@latest install
131
141
  ```
132
142
 
133
143
  With `@latest`, npx asks npm for the newest version every time, so an older copy it already has is not used.
134
- Then restart the clients. Installed from the Claude Code plugin marketplace: see
135
- [docs/install.md](docs/install.md#updating). What changed in each version is in the
144
+ If Claude Code has severally from its plugin marketplace, the same line updates that copy too (details in
145
+ [docs/install.md](docs/install.md#updating)). Then restart the clients. What changed in each version is in the
136
146
  [releases](https://github.com/coz-a/severally/releases).
137
147
 
138
148
  ### Uninstall
@@ -1,6 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
- import { main } from '../src/server.mjs';
3
+
4
+ // Checked before anything else loads, so an older Node says what to do
5
+ // instead of failing somewhere inside the server or the installer.
6
+ const major = Number(process.versions.node.split('.')[0]);
7
+ if (major < 22) {
8
+ process.stderr.write(
9
+ `severally: Node.js 22 or newer is needed (this is ${process.versions.node}); update Node.js and run it again\n`,
10
+ );
11
+ process.exit(1);
12
+ }
4
13
 
5
14
  // `npx -y severally-mcp@latest install` runs the installer, so installing and
6
15
  // updating name the package once. Only the npm package has the installer
@@ -10,7 +19,9 @@ import { main } from '../src/server.mjs';
10
19
  if (process.argv[2] === 'install') {
11
20
  const installer = new URL('../scripts/install.mjs', import.meta.url);
12
21
  if (!fs.existsSync(installer)) {
13
- process.stderr.write('severally: this is the installed server, not the installer; run: npx -y severally-mcp@latest install\n');
22
+ process.stderr.write(
23
+ 'severally: this is the installed server, not the installer; run: npx -y severally-mcp@latest install\n',
24
+ );
14
25
  process.exit(1);
15
26
  }
16
27
  process.argv.splice(2, 1);
@@ -19,6 +30,7 @@ if (process.argv[2] === 'install') {
19
30
  const { status } = await import('../src/status.mjs');
20
31
  process.exitCode = status();
21
32
  } else {
33
+ const { main } = await import('../src/server.mjs');
22
34
  main().catch((err) => {
23
35
  process.stderr.write(`severally: fatal: ${err?.stack ?? err}\n`);
24
36
  process.exit(1);
@@ -12,8 +12,10 @@ npx はパッケージを自分のキャッシュに取ってきて、そこか
12
12
 
13
13
  README に書いた Node.js 22 以降とログイン済みの CLI のほかに、次の条件があります。
14
14
 
15
- - macOS / Linux では、npm のグローバルな実行ファイルのディレクトリが `PATH` に入っていること。既定のプラグイン方式
16
- (下記)は、Codex が起動する `severally-mcp` コマンドをそこに入れます。`--manual` を付ければ不要です。
15
+ - macOS / Linux では、npm のグローバルのフォルダについて必要なことはありません。既定のプラグイン方式(下記)は
16
+ `npm install -g` で、Codex のプラグインが起動する `severally-mcp` コマンドを `PATH` に置きます。npm がグローバルに
17
+ 入れられないとき(たとえば sudo が要る、npm のグローバルのフォルダが `PATH` に無い)は、インストーラが代わりに
18
+ Codex を直接登録します。ほかに必要なことはありません。`--manual` を付ければ、このコマンドは要りません。
17
19
  - Windows では、PowerShell かコマンドプロンプトからネイティブに動きます。WSL は要りません。CLI は `PATH` と
18
20
  `PATHEXT` から探します(`.exe`、`.cmd`、`.bat`、空白を含むパスにも対応します)。
19
21
 
@@ -44,7 +46,11 @@ node scripts/install.mjs
44
46
 
45
47
  `npx -y severally-mcp@latest status` を実行すると、相談を始めずに、まとめて確かめられます。設定ファイルが正しいか、
46
48
  この機械から使える相談相手(使えないものはその理由)、入っている写しの版がそろっているか、どのクライアントに
47
- severally が登録されているかを表示します。CLI にログインしているかは確かめません。それは最初の相談で分かります。
49
+ severally が登録されているか、各 CLI にログインしているかを表示します。ログインの確認は、各 CLI 自身の状態確認
50
+ コマンドを読むだけで、プロンプトは送りません。Claude Code は `claude auth status`、Codex は `codex login status` です。
51
+ OpenCode は `opencode auth list` で保存されている認証情報の数を見ます(環境変数のキーでも動くので、保存が無くても
52
+ 警告にとどめます)。Antigravity にはそうしたコマンドが無いので「not checked」と表示します。使用枠を使い切って
53
+ いないかは確かめません。それは最初の相談で分かります。
48
54
 
49
55
  クライアントごとに自分で確かめるときは、再起動したあとに次を実行します。持っていない CLI の行は飛ばしてください。
50
56
 
@@ -76,7 +82,8 @@ Node.js 22 以降が `PATH` に入っている必要があります。ツール
76
82
  Codex、Antigravity、OpenCode からも使うなら、クローンしてインストーラも実行します([クローンから入れる](#クローンから入れる)を参照)。
77
83
  インストーラはマーケットプレイス版を見つけると、Claude Code はそちらに任せます。マーケットプレイス版より先に
78
84
  インストーラを実行していた場合は、もう一度実行してください。そのままだと Claude Code が severally を二重に読み込みます。
79
- インストーラは、自分が以前に入れた Claude Code 用の写しと登録を、バックアップしてから取り除きます。
85
+ インストーラは、自分が以前に入れた Claude Code 用の写しと登録を、バックアップしてから取り除きます。マーケットプレイス版が
86
+ 入ったあとは、同じインストーラの実行でそれも更新されます([更新](#更新)を参照)。
80
87
 
81
88
  ## 2 つのインストール方式
82
89
 
@@ -95,9 +102,13 @@ Codex、Antigravity、OpenCode からも使うなら、クローンしてイン
95
102
 
96
103
  - サーバを依存パッケージごと `~/.severally/runtime/severally-mcp.mjs` に写します。どの登録も、クローンした
97
104
  フォルダではなく、この写しを指します。
98
- - プラグイン方式では、npm のグローバルなインストールも行います。これで、Codex が起動する `severally-mcp` コマンドが
99
- 入ります。`--skip-global` を付けるとこの手順を飛ばしますが、`PATH` 上の `severally-mcp` がすでに写した runtime を
100
- 指している場合しか受け付けません。手動方式ではグローバルなインストールは要りません。
105
+ - macOS / Linux のプラグイン方式では、runtime を `severally-runtime` というパッケージ名で npm のグローバルにも入れます。
106
+ これで、Codex のプラグインが起動する `severally-mcp` コマンドが入ります。以前のインストールが残した `severally-mcp`
107
+ という名前のグローバルなパッケージは、先に `npm uninstall -g severally-mcp` で取り除きます。npm がコマンドを
108
+ グローバルに入れられないとき、または `PATH` の先頭にないときも、インストーラは止まらず、代わりに Codex を直接
109
+ 登録して、そう表示します。登録は `--manual` と同じ `codex mcp add` で、長い `consult_get` の待ちも同じです。
110
+ `--skip-global` を付けるとグローバルなインストールを飛ばしますが、`PATH` 上の `severally-mcp` がすでに写した
111
+ runtime を指している場合しか受け付けません。手動方式ではグローバルなインストールは要りません。
101
112
  - クライアントの設定は、各 CLI のコマンド(`plugin add` / `mcp add`)だけで変えます。例外は手動で登録する Codex で、
102
113
  `config.toml` の `[mcp_servers.severally]` の表に `tool_timeout_sec = 660` の 1 行も書きます(Codex のプラグインと
103
114
  同じ長い待ちにするためで、`codex mcp add` では設定できません)。表にすでに `tool_timeout_sec` があれば、その値を
@@ -108,20 +119,28 @@ Codex、Antigravity、OpenCode からも使うなら、クローンしてイン
108
119
  - 方式を切り替えると、もう一方の方式で残った重複の登録を、バックアップしてから取り除きます。
109
120
  - Claude Code にマーケットプレイス版の severally がすでに入っていれば、Claude Code には登録しません。以前に
110
121
  インストーラが入れた Claude Code 用の写し(`~/.claude/skills/severally`)とユーザスコープの登録も取り除きます。
122
+ マーケットプレイス版の更新も行います([更新](#更新)を参照)。
123
+ - 最後に、Claude Code があり、`~/.claude/settings.json` が severally の手元で完結する 5 つのツールをまだ許可して
124
+ いなければ、足すかどうかを訊きます(次の節を参照)。このファイルのほかの部分は変えません。
111
125
  - Codex のマーケットプレイスのファイル `.agents/plugins/marketplace.json` は、このリポジトリから写します。
112
126
  公開されているマーケットプレイスは使いません。
113
127
 
114
128
  ## 外に何も送らないツールの許可の確認を省く
115
129
 
116
130
  `consult_start` 以外の 5 つのツールは手元で完結します。`consult_get`(相談が動いている間、繰り返し呼ぶ)、`consult_list`、
117
- `consult_cancel`、`consult_record`、`consult_export` です。どのクライアントにも許可リストに
118
- ツールを足すコマンドが無いので、インストーラは触りません。手で足してください。`consult_start` は確認を残します。
119
- ほかのベンダーに材料を送るのはこの呼び出しだからです。
131
+ `consult_cancel`、`consult_record`、`consult_export` です。`consult_start` は確認を残します。ほかのベンダーに材料を
132
+ 送るのはこの呼び出しなので、インストーラも足しません。
120
133
 
121
134
  - **Claude Code**: Skill が、呼ばれたターンの間はこの 5 つを許可します(`allowed-tools`)。そのため相談のポーリングで
122
- 毎回は確認が出ません。代わりに Skill 自体の承認を 1 度求められます。後のターン(判定の記録や追加質問)でも省くには、
123
- `~/.claude/settings.json` に書きます(プラグイン方式の場合。`--manual` では
124
- `mcp__plugin_severally_severally__` を `mcp__severally__` に読み替えます)。
135
+ 毎回は確認が出ません。代わりに Skill 自体の承認を 1 度求められます。後のターン(判定の記録や追加質問)でも省くために、
136
+ インストーラが足すかどうかを訊きます。インストールの最後に、Claude Code があり、`~/.claude/settings.json` が
137
+ この 5 つをまだ許可していなければ、端末で「Let Claude Code run ... without asking each time? [Y/n]」と訊きます
138
+ (既定は Y)。`--allow-local-tools` を付けると、訊かずに足します(スクリプトからのインストール向け)。端末が無く、
139
+ フラグも無いときは何も変えず、フラグを付けてやり直す方法を表示します。先に `settings.json` をバックアップし、
140
+ ほかの設定は残し、同じ規則を二重には足しません。規則の接頭辞は、プラグイン方式とマーケットプレイス版では
141
+ `mcp__plugin_severally_severally__`、手動方式では `mcp__severally__` です。手で足すときは、
142
+ `~/.claude/settings.json` に次を書きます(`--manual` では `mcp__plugin_severally_severally__` を
143
+ `mcp__severally__` に読み替えます)。
125
144
  ```json
126
145
  { "permissions": { "allow": [
127
146
  "mcp__plugin_severally_severally__consult_get", "mcp__plugin_severally_severally__consult_list",
@@ -139,6 +158,8 @@ Codex、Antigravity、OpenCode からも使うなら、クローンしてイン
139
158
  - **OpenCode** は、自分の `permission` の設定で変えていなければ、MCP ツールを確認なしで使います。
140
159
  - **Antigravity**: MCP ツールを 1 つずつ許可する規則の書き方を確かめていないので、ここでは扱いません。
141
160
 
161
+ インストーラは、Codex・Antigravity・OpenCode の許可には触りません。
162
+
142
163
  ### 相談の開始の確認も省く
143
164
 
144
165
  エージェントは自分から相談します(相談するかどうかを訊かないよう Skill が指示しています)。そのため `consult_start` の
@@ -161,11 +182,15 @@ Claude Code なら許可リストに `mcp__plugin_severally_severally__consult_s
161
182
  クローンしたフォルダそのものを登録していた古いバージョンで入れた場合は、一度だけ `--force` を付けてください。既存の登録が、
162
183
  写した runtime を指すように切り替わります。付けなければ、既存の登録はそのまま残ります。
163
184
 
164
- マーケットプレイスから入れた場合は、Claude Code で `/plugin marketplace update severally` を実行してから再起動します。
185
+ マーケットプレイスから入れた場合は、Claude Code にマーケットプレイス版の severally がすでに入っていれば、インストーラが
186
+ `claude plugin marketplace update severally` と `claude plugin update severally@<マーケットプレイス名>` も実行します。
187
+ そのため `npx -y severally-mcp@latest install` を 1 回実行すれば、すべての写しが同じバージョンになります。失敗したときは、
188
+ Claude Code の中で実行するコマンド `/plugin marketplace update severally` を表示します。そのあと Claude Code を
189
+ 再起動してください。Claude Code だけなら、インストーラの代わりにこのコマンドを自分で実行しても構いません。
165
190
  自動の更新は既定では無効です。有効にするには、`/plugin` の Marketplaces で severally を選び、Enable auto-update を
166
- 選びます。Codex、Antigravity、OpenCode からも使っている場合は、インストーラも実行し直してください。この 3 つは
167
- `~/.severally/runtime` にある別の写しを使い、どちらの写しも同じ `~/.severally/config.json` を読みます。設定の書き方が
168
- 変わるリリースでは、両方を同じバージョンにそろえてください。`~/.severally/runtime` か `~/.claude/skills/severally` の
191
+ 選びます。Codex、Antigravity、OpenCode は `~/.severally/runtime` にある別の写しを使い、どちらの写しも同じ
192
+ `~/.severally/config.json` を読みます。インストーラが両方を同じバージョンにそろえます。設定の書き方が変わる
193
+ リリースでは、これが大事になります。`~/.severally/runtime` か `~/.claude/skills/severally` の
169
194
  写しが、答えているサーバと違うバージョンなら、`consult_start` の応答の `stale_install` がそれを知らせます。中身は、
170
195
  それぞれの写しのバージョンと、そろえるためのコマンドです。
171
196
 
@@ -190,7 +215,8 @@ Remove-Item -LiteralPath "$HOME/.codex/skills/severally" -Recurse -Force
190
215
  Remove-Item -LiteralPath "$HOME/.gemini/config/skills/severally" -Recurse -Force
191
216
  Remove-Item -LiteralPath "$HOME/.config/opencode/skills/severally" -Recurse -Force
192
217
  Remove-Item -LiteralPath "$HOME/.severally/runtime" -Recurse -Force
193
- # 以前にグローバルなコマンドを入れていた場合だけ:
218
+ # 以前にグローバルなコマンドを入れていた場合だけ(古い名前は以前のインストール用):
219
+ npm.cmd uninstall -g severally-runtime
194
220
  npm.cmd uninstall -g severally-mcp
195
221
  ```
196
222
 
@@ -208,7 +234,8 @@ rm -rf ~/.gemini/config/skills/severally
208
234
  # "mcp" オブジェクトから "severally" の項目を手で消す):
209
235
  # ~/.config/opencode/opencode.json(c) を編集する
210
236
  rm -rf ~/.config/opencode/skills/severally
211
- npm uninstall -g severally-mcp
237
+ npm uninstall -g severally-runtime
238
+ npm uninstall -g severally-mcp # 以前のインストールが残していた場合だけ
212
239
  rm -rf ~/.severally/runtime ~/.severally/marketplace
213
240
  ```
214
241
 
@@ -222,7 +249,8 @@ agy mcp remove severally
222
249
  # "severally" の項目を手で消す
223
250
  rm -rf ~/.claude/skills/severally ~/.codex/skills/severally ~/.gemini/config/skills/severally \
224
251
  ~/.config/opencode/skills/severally
225
- # 以前にグローバルなコマンドを入れていた場合だけ:
252
+ # 以前にグローバルなコマンドを入れていた場合だけ(古い名前は以前のインストール用):
253
+ npm uninstall -g severally-runtime
226
254
  npm uninstall -g severally-mcp
227
255
  rm -rf ~/.severally/runtime ~/.severally/marketplace
228
256
  ```
package/docs/install.md CHANGED
@@ -12,8 +12,10 @@ into that cache, so it can be cleared afterwards.
12
12
 
13
13
  Beyond Node.js 22 or newer and a logged-in CLI, as in the README:
14
14
 
15
- - macOS/Linux: npm's global executable directory on `PATH`. The default (plugin mode, below) installs a
16
- `severally-mcp` command there for Codex to launch. `--manual` does without it.
15
+ - macOS/Linux: nothing about npm's global folder is required. The default (plugin mode, below) runs
16
+ `npm install -g` to put a `severally-mcp` command on `PATH` for Codex's plugin to launch. When npm cannot install
17
+ it globally (for example it needs sudo, or npm's global folder is not on `PATH`), the installer registers Codex
18
+ directly instead, and nothing else is needed. `--manual` does without the command.
17
19
  - Windows runs natively from PowerShell or Command Prompt; WSL is not required. CLIs are found through
18
20
  `PATH`/`PATHEXT` (`.exe`, `.cmd`, `.bat`, paths with spaces included).
19
21
 
@@ -44,8 +46,11 @@ run `npm run init-config` (see [Configuration](../README.md#configuration) in th
44
46
 
45
47
  `npx -y severally-mcp@latest status` shows it all at once, without starting a consultation: whether the config
46
48
  file is valid, which consultants this machine can reach (and why the others cannot), whether every installed copy
47
- is the same version, and which clients have severally registered. It does not check that a CLI is logged in; the
48
- first consultation shows that.
49
+ is the same version, which clients have severally registered, and whether each CLI is logged in. The login check
50
+ reads each CLI's own status command and sends no prompt: `claude auth status` for Claude Code, `codex login status`
51
+ for Codex, and for OpenCode the number of credentials saved by `opencode auth list` (keys in the environment also
52
+ work, so none saved is only a warning). Antigravity has no such command, so it shows "not checked". Running out of
53
+ quota is not checked; the first consultation shows that.
49
54
 
50
55
  To check one client yourself, after restarting it. Skip the lines for CLIs you don't have:
51
56
 
@@ -77,7 +82,8 @@ route has been tried on Linux only.
77
82
  To use severally from Codex, Antigravity or OpenCode as well, also run the installer from a clone
78
83
  ([From a clone](#from-a-clone)). It finds the marketplace plugin and leaves Claude Code to it. If you ran the installer before
79
84
  adding the marketplace plugin, run it once more: Claude Code would otherwise load severally twice, and the
80
- installer removes its own Claude Code copy and registration, backing them up first.
85
+ installer removes its own Claude Code copy and registration, backing them up first. Once the marketplace plugin is
86
+ there, the same installer run also updates it (see [Updating](#updating)).
81
87
 
82
88
  ## Two install modes
83
89
 
@@ -96,9 +102,13 @@ Windows. Pass `--manual` to use manual mode on macOS/Linux too.
96
102
 
97
103
  - It copies the server, with its dependencies, to `~/.severally/runtime/severally-mcp.mjs`. Every registration
98
104
  points at that copy, not at the cloned folder.
99
- - In plugin mode it also runs a global npm install, which provides the `severally-mcp` command that Codex
100
- launches. `--skip-global` skips that step and is accepted only when `severally-mcp` on `PATH` already points
101
- at the copied runtime. Manual mode needs no global install.
105
+ - In plugin mode on macOS/Linux it also runs a global npm install of the runtime under the package name
106
+ `severally-runtime`, which provides the `severally-mcp` command that Codex's plugin launches. A global package
107
+ named `severally-mcp` that an earlier install left is removed with `npm uninstall -g severally-mcp` first.
108
+ If npm cannot install the command globally, or it is not first on `PATH`, the installer does not stop: it
109
+ registers Codex directly, with the same `codex mcp add` registration and long `consult_get` wait as `--manual`,
110
+ and says so. `--skip-global` skips the global install and is accepted only when `severally-mcp` on `PATH` already
111
+ points at the copied runtime. Manual mode needs no global install.
102
112
  - It changes client settings only through each CLI's own commands (`plugin add` / `mcp add`), with one
103
113
  exception: for a manually registered Codex it also writes one line, `tool_timeout_sec = 660`, into
104
114
  `config.toml` under `[mcp_servers.severally]` (the same long wait the Codex plugin has; `codex mcp add` cannot
@@ -110,20 +120,29 @@ Windows. Pass `--manual` to use manual mode on macOS/Linux too.
110
120
  naming each backup after its original path.
111
121
  - Switching modes backs up and then removes the duplicate registration left by the other mode.
112
122
  - If Claude Code already has severally from the marketplace, the installer does not register it with Claude Code,
113
- and removes its own earlier Claude Code copy (`~/.claude/skills/severally`) and user-scope registration.
123
+ and removes its own earlier Claude Code copy (`~/.claude/skills/severally`) and user-scope registration. It also
124
+ updates the marketplace copy (see [Updating](#updating)).
125
+ - At the end, if Claude Code is present and `~/.claude/settings.json` does not yet allow severally's five local
126
+ tools, it offers to add them (see the next section). It changes nothing else in that file.
114
127
  - For Codex, the marketplace file `.agents/plugins/marketplace.json` is copied from this repository; no public
115
128
  listing is involved.
116
129
 
117
130
  ## Skipping the permission prompt for tools that send nothing out
118
131
 
119
132
  Every tool except `consult_start` stays on your machine: `consult_get` (called repeatedly while a
120
- consultation runs), `consult_list`, `consult_cancel`, `consult_record` and `consult_export`. None of the clients has a command that adds tools to its allowlist, so the installer
121
- leaves this to you. Keep `consult_start` prompting: it is the point where material leaves for another vendor.
133
+ consultation runs), `consult_list`, `consult_cancel`, `consult_record` and `consult_export`. Keep `consult_start` prompting: it is the point where
134
+ material leaves for another vendor, and the installer never adds it.
122
135
 
123
136
  - **Claude Code**: the Skill already allows these five tools (its `allowed-tools`) for the turn it is invoked in, so
124
137
  polling a consultation does not prompt each time; the Skill itself asks for approval once. For the later turns
125
- (recording verdicts, a follow-up), add them in `~/.claude/settings.json` (plugin installs; for `--manual` write
126
- `mcp__severally__` instead of `mcp__plugin_severally_severally__`):
138
+ (recording verdicts, a follow-up), the installer offers to add them. At the end of the install, if Claude Code is
139
+ present and `~/.claude/settings.json` does not yet allow the five tools, it asks at the terminal "Let Claude Code
140
+ run ... without asking each time? [Y/n]" (the default is yes). With `--allow-local-tools` it adds them without
141
+ asking, for scripted installs. Without a terminal and without the flag it changes nothing and prints how to rerun
142
+ with the flag. It backs up `settings.json` first, keeps every other setting, and never adds a rule twice. The
143
+ rules use the prefix `mcp__plugin_severally_severally__` in plugin mode or for a marketplace install, and
144
+ `mcp__severally__` in manual mode. To do it by hand, add this to `~/.claude/settings.json` (write
145
+ `mcp__severally__` instead of `mcp__plugin_severally_severally__` for `--manual`):
127
146
  ```json
128
147
  { "permissions": { "allow": [
129
148
  "mcp__plugin_severally_severally__consult_get", "mcp__plugin_severally_severally__consult_list",
@@ -141,6 +160,8 @@ leaves this to you. Keep `consult_start` prompting: it is the point where materi
141
160
  - **OpenCode** allows MCP tools without asking unless your own `permission` settings say otherwise.
142
161
  - **Antigravity**: not covered here; the rule syntax for a single MCP tool has not been checked.
143
162
 
163
+ The installer does not touch the permissions of Codex, Antigravity or OpenCode.
164
+
144
165
  ### Letting consultations start without the prompt too
145
166
 
146
167
  The agent consults on its own (the Skill tells it not to ask whether to), so with `consult_start` prompting, every
@@ -164,11 +185,14 @@ and marketplace files under `~/.severally/backups/` before replacing them. Then
164
185
  Installed with an older version that registered the cloned folder itself? Add `--force` once to switch the
165
186
  existing registrations to the copied runtime. Without it, existing registrations are left as they are.
166
187
 
167
- Installed from the marketplace: run `/plugin marketplace update severally` in Claude Code, then restart it.
168
- Automatic updates are off by default; to turn them on, select severally under Marketplaces in `/plugin`, then
169
- Enable auto-update. If Codex, Antigravity or OpenCode use severally too, run the installer again as well: they
170
- run their own copy in `~/.severally/runtime`, and both copies read the same `~/.severally/config.json`, so keep
171
- them on the same version when a release changes the config format. When the copy in `~/.severally/runtime` or
188
+ Installed from the marketplace: when Claude Code already has severally from the marketplace, the installer also
189
+ runs `claude plugin marketplace update severally` and `claude plugin update severally@<marketplace>`, so one
190
+ `npx -y severally-mcp@latest install` brings every copy to the same version. If that fails, it prints the command to
191
+ run inside Claude Code, `/plugin marketplace update severally`. Restart Claude Code afterwards. For Claude Code
192
+ alone you can also run that command yourself instead of the installer. Automatic updates are off by default; to
193
+ turn them on, select severally under Marketplaces in `/plugin`, then Enable auto-update. Codex, Antigravity and
194
+ OpenCode run their own copy in `~/.severally/runtime`, and both copies read the same `~/.severally/config.json`;
195
+ the installer keeps them on the same version, which matters when a release changes the config format. When the copy in `~/.severally/runtime` or
172
196
  `~/.claude/skills/severally` runs a different version from the server answering, `consult_start` says so under
173
197
  `stale_install`, with the copies' versions and the commands that bring them level.
174
198
 
@@ -193,7 +217,8 @@ Remove-Item -LiteralPath "$HOME/.codex/skills/severally" -Recurse -Force
193
217
  Remove-Item -LiteralPath "$HOME/.gemini/config/skills/severally" -Recurse -Force
194
218
  Remove-Item -LiteralPath "$HOME/.config/opencode/skills/severally" -Recurse -Force
195
219
  Remove-Item -LiteralPath "$HOME/.severally/runtime" -Recurse -Force
196
- # Only if you previously installed the global command:
220
+ # Only if you installed the global command earlier (the old name is for an earlier install):
221
+ npm.cmd uninstall -g severally-runtime
197
222
  npm.cmd uninstall -g severally-mcp
198
223
  ```
199
224
 
@@ -213,7 +238,8 @@ rm -rf ~/.gemini/config/skills/severally
213
238
  # so delete the "severally" entry from the "mcp" object by hand):
214
239
  # edit ~/.config/opencode/opencode.json(c)
215
240
  rm -rf ~/.config/opencode/skills/severally
216
- npm uninstall -g severally-mcp
241
+ npm uninstall -g severally-runtime
242
+ npm uninstall -g severally-mcp # only if an earlier install left it
217
243
  rm -rf ~/.severally/runtime ~/.severally/marketplace
218
244
  ```
219
245
 
@@ -227,7 +253,8 @@ agy mcp remove severally
227
253
  # ~/.config/opencode/opencode.json(c) by hand
228
254
  rm -rf ~/.claude/skills/severally ~/.codex/skills/severally ~/.gemini/config/skills/severally \
229
255
  ~/.config/opencode/skills/severally
230
- # Only if a global command was previously installed:
256
+ # Only if a global command was installed earlier (the old name is for an earlier install):
257
+ npm uninstall -g severally-runtime
231
258
  npm uninstall -g severally-mcp
232
259
  rm -rf ~/.severally/runtime ~/.severally/marketplace
233
260
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "severally-mcp",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "A plugin that lets your AI agent ask other coding agents for independent opinions, returned separately.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -42,7 +42,11 @@
42
42
  "live-mcp-check": "node scripts/live-mcp-check.mjs",
43
43
  "build": "node scripts/build.mjs",
44
44
  "init-config": "node scripts/init-config.mjs",
45
- "prepack": "node scripts/build.mjs"
45
+ "prepack": "node scripts/build.mjs",
46
+ "format": "prettier --write \"**/*.mjs\"",
47
+ "format:check": "prettier --check \"**/*.mjs\"",
48
+ "lint": "eslint .",
49
+ "typecheck": "tsc -p tsconfig.json"
46
50
  },
47
51
  "dependencies": {
48
52
  "@modelcontextprotocol/server": "^2.3.1",
@@ -51,7 +55,13 @@
51
55
  "zod": "^4.6.5"
52
56
  },
53
57
  "devDependencies": {
58
+ "@eslint/js": "9.36.0",
54
59
  "@modelcontextprotocol/client": "^2.3.1",
55
- "esbuild": "^0.28.2"
60
+ "@types/node": "22.18.6",
61
+ "esbuild": "^0.28.2",
62
+ "eslint": "9.36.0",
63
+ "globals": "16.4.0",
64
+ "prettier": "3.6.2",
65
+ "typescript": "5.9.2"
56
66
  }
57
67
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "severally",
4
- "version": "2.3.1",
4
+ "version": "2.4.0",
5
5
  "description": "Ask Codex, Claude Code, Antigravity or OpenCode for an independent opinion, review or structured debate, in a sandboxed child session that can read files and search the web but cannot edit files, change the system, or start other agents.",
6
6
  "author": {
7
7
  "name": "coz.a",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "severally",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "Ask Codex, Claude Code, Antigravity or OpenCode for an independent opinion, review or structured debate, in a sandboxed child session that can read files and search the web but cannot edit files, change the system, or start other agents.",
5
5
  "author": {
6
6
  "name": "coz.a",