Skip to content

Commit 44e4867

Browse files
docs(pages): sync restructured MCP guide to en and ja (#293)
Sync the reorganized zh/mcp.md into the English and Japanese versions: remove the MCP client-side paragraph and the How it works section, split Configuration into Adding/Removing subsections, drop the manual JSON edit example, move env to the end of the code block and table, and align dash spacing. Also fix a double-space typo in the zh version.
1 parent 4596e2c commit 44e4867

3 files changed

Lines changed: 68 additions & 178 deletions

File tree

pages/src/content/docs/en/mcp.md

Lines changed: 15 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ one or more external MCP servers, and the tools those servers expose
99
become available to the review agent — right alongside the
1010
[built-in tools](../tools/) like `file_read` and `code_search`.
1111

12-
This is the *client* side of MCP. OCR does **not** run as an MCP server
13-
that other agents call — see the note in
14-
[Integrations](../integrations/#what-about-mcp) for that direction. This
15-
page is about the opposite: giving OCR's own reviewer extra capabilities.
16-
1712
## When to use it
1813

1914
Reach for an MCP server when the reviewer would benefit from context that
@@ -27,40 +22,11 @@ lives outside the diff:
2722
dependency checker as a tool the reviewer can invoke on demand.
2823

2924
If all you need is a plain read of the repo, the built-in tools already
30-
cover it — MCP is for reaching *beyond* the checkout.
31-
32-
## How it works
33-
34-
- OCR connects to each configured server over the **stdio transport**: it
35-
launches the server as a subprocess and speaks MCP over its
36-
stdin/stdout.
37-
- The subprocess runs with its **working directory set to the repository
38-
root**, and inherits OCR's environment plus any `env` you configure.
39-
- On startup OCR lists the server's tools and registers them into the same
40-
tool registry the built-in tools use. Registered MCP tools are available
41-
in **both the plan phase and the main task**.
42-
- Servers stay alive for the duration of the review and are shut down when
43-
it finishes.
44-
45-
If a server fails to start (or its `setup` command fails), OCR prints a
46-
warning and **continues the review without it** — a broken MCP server
47-
never blocks a review.
25+
cover it — MCP is for reaching beyond the checkout.
4826

4927
## Configuration
5028

51-
MCP servers live under the `mcp_servers` key in your user config file
52-
(`~/.opencodereview/config.json`). Each entry is keyed by a name you
53-
choose and accepts these fields:
54-
55-
| Field | Type | Required | Description |
56-
|---|---|---|---|
57-
| `command` | string || Executable that starts the MCP server (e.g. `npx`, `uvx`, an absolute path). |
58-
| `args` | string array | | Arguments passed to `command`. |
59-
| `env` | string array | | Extra environment variables in `KEY=VALUE` form. |
60-
| `tools` | string array | | Allowlist of tool names to register. Empty = register every tool the server offers. |
61-
| `setup` | string | | Shell command run once before the server starts (e.g. install deps). Runs in the repo root with a 5-minute timeout. |
62-
63-
### With the CLI
29+
#### Adding an MCP server
6430

6531
The `ocr config set` command writes these fields non-interactively. Array
6632
fields (`args`, `env`, `tools`) take a JSON array string:
@@ -72,39 +38,33 @@ ocr config set mcp_servers.docs.command npx
7238
# Arguments
7339
ocr config set mcp_servers.docs.args '["-y", "@acme/docs-mcp-server"]'
7440

75-
# Environment variables (KEY=VALUE entries)
76-
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
77-
7841
# Restrict which tools are exposed to the reviewer
7942
ocr config set mcp_servers.docs.tools '["search_docs", "get_page"]'
8043

8144
# A setup command to run before the server starts
8245
ocr config set mcp_servers.docs.setup "npm install -g @acme/docs-mcp-server"
46+
47+
# Environment variables (KEY=VALUE entries)
48+
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
8349
```
8450

51+
#### Removing an MCP server
52+
8553
Remove a server with `unset`:
8654

8755
```bash
8856
ocr config unset mcp_servers.docs
8957
```
9058

91-
### By hand
92-
93-
The same configuration as JSON:
59+
MCP servers live under the `mcp_servers` key in your user config file (`~/.opencodereview/config.json`).
9460

95-
```json
96-
{
97-
"mcp_servers": {
98-
"docs": {
99-
"command": "npx",
100-
"args": ["-y", "@acme/docs-mcp-server"],
101-
"env": ["DOCS_TOKEN=secret", "DOCS_REGION=eu"],
102-
"tools": ["search_docs", "get_page"],
103-
"setup": "npm install -g @acme/docs-mcp-server"
104-
}
105-
}
106-
}
107-
```
61+
| Field | Type | Required | Description |
62+
|---|---|---|---|
63+
| `command` | string || Executable that starts the MCP server (e.g. `npx`, `uvx`, an absolute path). |
64+
| `args` | string array | | Arguments passed to `command`. |
65+
| `tools` | string array | | Allowlist of tool names to register. Empty = register every tool the server offers. |
66+
| `setup` | string | | Shell command run once before the server starts (e.g. install deps). Runs in the repo root with a 5-minute timeout. |
67+
| `env` | string array | | Extra environment variables in `KEY=VALUE` form. |
10868

10969
## Filtering tools
11070

pages/src/content/docs/ja/mcp.md

Lines changed: 26 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -9,54 +9,23 @@ OCR は **Model Context Protocol(MCP)クライアント**として動作で
99
エージェントから利用できるようになり、`file_read``code_search` などの
1010
[組み込みツール](../tools/)と並んで使えます。
1111

12-
これは MCP の**クライアント**側です。OCR は他のエージェントが呼び出す MCP server
13-
としては動作**しません**——その方向については[統合](../integrations/#mcp)
14-
説明を参照してください。本ページはその逆、OCR 自身のレビュアーに能力を追加する話です。
15-
1612
## いつ使うか
1713

1814
レビュアーが diff の外にあるコンテキストを必要とするときに MCP server を導入します:
1915

20-
- **Issue / チケット参照**——リンクされた Jira / GitHub issue を取得させ、変更が
16+
- **Issue / チケット参照** —— リンクされた Jira / GitHub issue を取得させ、変更が
2117
述べられた要件に合致するか確認する。
22-
- **ドキュメント / ナレッジベース**——社内 API ドキュメントやコーディング規約を
18+
- **ドキュメント / ナレッジベース** —— 社内 API ドキュメントやコーディング規約を
2319
取り込み、コメントが実際のチームルールを引用できるようにする。
24-
- **カスタム解析**——linter、スキーマ検証器、依存関係チェッカーを、レビュアーが
20+
- **カスタム解析** —— linter、スキーマ検証器、依存関係チェッカーを、レビュアーが
2521
必要に応じて呼び出せるツールとして公開する。
2622

27-
リポジトリを読むだけでよいなら組み込みツールで十分です——MCP は checkout ****
23+
リポジトリを読むだけでよいなら組み込みツールで十分です —— MCP は checkout の外に
2824
到達するためのものです。
2925

30-
## 仕組み
31-
32-
- OCR は設定された各 server に **stdio トランスポート**で接続します:server を
33-
サブプロセスとして起動し、その stdin/stdout 経由で MCP を話します。
34-
- サブプロセスは**作業ディレクトリをリポジトリのルート**に設定して実行され、OCR の
35-
環境変数に加えて設定した `env` を継承します。
36-
- 起動時に OCR は server のツールを列挙し、組み込みツールが使うのと同じツール
37-
レジストリに登録します。登録された MCP ツールは **plan フェーズと main task の
38-
両方**で利用できます。
39-
- server はレビューの間ずっと稼働し続け、終了時にシャットダウンされます。
40-
41-
server の起動に失敗した場合(または `setup` コマンドが失敗した場合)、OCR は警告を
42-
表示し、**それを使わずにレビューを続行**します——壊れた MCP server がレビューを
43-
ブロックすることはありません。
44-
4526
## 設定
4627

47-
MCP server はユーザー設定ファイル(`~/.opencodereview/config.json`)の
48-
`mcp_servers` キーの下に置きます。各エントリは任意の名前を key とし、次の
49-
フィールドを受け付けます:
50-
51-
| フィールド || 必須 | 説明 |
52-
|---|---|---|---|
53-
| `command` | string || MCP server を起動する実行ファイル(`npx``uvx`、絶対パスなど)。 |
54-
| `args` | string 配列 | | `command` に渡す引数。 |
55-
| `env` | string 配列 | | 追加の環境変数、`KEY=VALUE` 形式。 |
56-
| `tools` | string 配列 | | 登録するツール名の許可リスト。空 = server が提供する全ツールを登録。 |
57-
| `setup` | string | | server 起動前に一度実行される shell コマンド(依存関係のインストールなど)。リポジトリのルートで実行、タイムアウト 5 分。 |
58-
59-
### CLI を使う
28+
#### MCP server を追加する
6029

6130
`ocr config set` コマンドはこれらのフィールドを非対話的に書き込みます。配列
6231
フィールド(`args``env``tools`)は JSON 配列文字列を受け取ります:
@@ -68,44 +37,38 @@ ocr config set mcp_servers.docs.command npx
6837
# 引数
6938
ocr config set mcp_servers.docs.args '["-y", "@acme/docs-mcp-server"]'
7039

71-
# 環境変数(KEY=VALUE エントリ)
72-
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
73-
7440
# レビュアーに公開するツールを制限
7541
ocr config set mcp_servers.docs.tools '["search_docs", "get_page"]'
7642

7743
# server 起動前に実行する setup コマンド
7844
ocr config set mcp_servers.docs.setup "npm install -g @acme/docs-mcp-server"
45+
46+
# 環境変数(KEY=VALUE エントリ)
47+
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
7948
```
8049

50+
#### MCP server を削除する
51+
8152
`unset` で server を削除します:
8253

8354
```bash
8455
ocr config unset mcp_servers.docs
8556
```
8657

87-
### 手動で編集
88-
89-
同じ設定を JSON で書くと:
58+
MCP server はユーザー設定ファイル(`~/.opencodereview/config.json`)の `mcp_servers` キーの下に置きます。
9059

91-
```json
92-
{
93-
"mcp_servers": {
94-
"docs": {
95-
"command": "npx",
96-
"args": ["-y", "@acme/docs-mcp-server"],
97-
"env": ["DOCS_TOKEN=secret", "DOCS_REGION=eu"],
98-
"tools": ["search_docs", "get_page"],
99-
"setup": "npm install -g @acme/docs-mcp-server"
100-
}
101-
}
102-
}
103-
```
60+
| フィールド || 必須 | 説明 |
61+
|---|---|---|---|
62+
| `command` | string || MCP server を起動する実行ファイル(`npx``uvx`、絶対パスなど)。 |
63+
| `args` | string 配列 | | `command` に渡す引数。 |
64+
| `tools` | string 配列 | | 登録するツール名の許可リスト。空 = server が提供する全ツールを登録。 |
65+
| `setup` | string | | server 起動前に一度実行される shell コマンド(依存関係のインストールなど)。リポジトリのルートで実行、タイムアウト 5 分。 |
66+
| `env` | string 配列 | | 追加の環境変数、`KEY=VALUE` 形式。 |
10467

10568
## ツールのフィルタリング
10669

10770
デフォルトでは server が広告するすべてのツールが登録されます。server が
108-
レビュアーに必要以上のツールを公開する場合は `tools` に許可リストを設定します——
71+
レビュアーに必要以上のツールを公開する場合は `tools` に許可リストを設定します ——
10972
ツールが少なく的確なほどエージェントは集中でき、トークンコストも下がります。
11073
リストに含まれていて server が実際には提供しない名前は警告付きでスキップされる
11174
ため、タイプミスは黙って無視されるのではなく stderr に表示されます。
@@ -135,16 +98,16 @@ server をオンデマンドでインストールまたはビルドするのに
13598
すべての MCP 診断情報は **stderr** に、`[ocr]` プレフィックス付きで出力されるため、
13699
stdout の `--format json` 出力を汚染することはありません:
137100

138-
- `Running setup for MCP server "x": …`——setup コマンドを実行中。
139-
- `failed to start MCP server "x": …`——サブプロセスが 30 秒の初期化タイムアウト内に
101+
- `Running setup for MCP server "x": …` —— setup コマンドを実行中。
102+
- `failed to start MCP server "x": …` —— サブプロセスが 30 秒の初期化タイムアウト内に
140103
接続できなかったか、`command``PATH` にない。
141-
- `tool "y" conflicts with built-in tool, skipping`——server のツールを改名するか、
104+
- `tool "y" conflicts with built-in tool, skipping` —— server のツールを改名するか、
142105
`tools` から外す。
143-
- `allowed tool "y" not found in server's tool list`——`tools` の名前が server の提供
106+
- `allowed tool "y" not found in server's tool list` —— `tools` の名前が server の提供
144107
する何にも一致しない。スペルを確認。
145108

146109
## 関連項目
147110

148-
- [ツール](../tools/)——MCP ツールが並ぶ 6 つの組み込みツール。
149-
- [設定](../configuration/)——設定ファイル全体とすべてのキー。
150-
- [CLI リファレンス](../cli-reference/)——`ocr config` と review のフラグ。
111+
- [ツール](../tools/) —— MCP ツールが並ぶ 6 つの組み込みツール。
112+
- [設定](../configuration/) —— 設定ファイル全体とすべてのキー。
113+
- [CLI リファレンス](../cli-reference/) —— `ocr config` と review のフラグ。

pages/src/content/docs/zh/mcp.md

Lines changed: 27 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,24 @@ sidebar:
55
---
66

77
OCR 可以作为 **Model Context Protocol(MCP)客户端**。你把它指向一个或多个外部
8-
MCP server,这些 server 暴露的工具就会提供给审查 agent——`file_read`
8+
MCP server,这些 server 暴露的工具就会提供给审查 agent —— `file_read`
99
`code_search`[内置工具](../tools/)并列。
1010

11-
这是 MCP 的**客户端**侧。OCR **不会**作为供其他 agent 调用的 MCP server 运行——
12-
那个方向见[集成](../integrations/#mcp-怎么办)中的说明。本页讲的是相反的事:为
13-
OCR 自己的审查器扩展能力。
14-
1511
## 何时使用
1612

1713
当审查器需要 diff 之外的上下文时,就该引入 MCP server:
1814

19-
- **Issue / 工单查询**——让 agent 拉取关联的 Jira / GitHub issue,核对变更是否
15+
- **Issue / 工单查询** —— 让 agent 拉取关联的 Jira / GitHub issue,核对变更是否
2016
符合声明的需求。
21-
- **文档 / 知识库**——拉取内部 API 文档或编码规范,让评论引用真正的团队约定。
22-
- **自定义分析**——把 linter、schema 校验器或依赖检查器暴露为工具,供审查器按需
17+
- **文档 / 知识库** —— 拉取内部 API 文档或编码规范,让评论引用真正的团队约定。
18+
- **自定义分析** —— 把 linter、schema 校验器或依赖检查器暴露为工具,供审查器按需
2319
调用。
2420

25-
如果你只需要读仓库本身,内置工具就够了——MCP 是为了触达 checkout **之外**的东西。
26-
27-
## 工作原理
28-
29-
- OCR 通过 **stdio 传输**连接每个配置的 server:把 server 作为子进程启动,通过其
30-
stdin/stdout 说 MCP 协议。
31-
- 子进程的**工作目录设为仓库根目录**,并继承 OCR 的环境变量,外加你配置的 `env`
32-
- 启动时 OCR 列出该 server 的工具,并注册进内置工具所用的同一个工具注册表。已注册的
33-
MCP 工具在 **plan 阶段和 main task 阶段都可用**
34-
- server 在整个审查期间保持存活,审查结束时关闭。
35-
36-
如果某个 server 启动失败(或其 `setup` 命令失败),OCR 会打印警告并**在不使用它的
37-
情况下继续审查**——损坏的 MCP server 绝不会阻塞审查。
21+
如果你只需要读仓库本身,内置工具就够了 —— MCP 是为了触达 checkout 之外的东西。
3822

3923
## 配置
4024

41-
MCP server 配置在用户配置文件(`~/.opencodereview/config.json`)的 `mcp_servers`
42-
键下。每一项以你自选的名字为 key,接受以下字段:
43-
44-
| 字段 | 类型 | 必填 | 说明 |
45-
|---|---|---|---|
46-
| `command` | string || 启动 MCP server 的可执行文件(如 `npx``uvx`、绝对路径)。 |
47-
| `args` | string 数组 | | 传给 `command` 的参数。 |
48-
| `env` | string 数组 | | 额外环境变量,`KEY=VALUE` 形式。 |
49-
| `tools` | string 数组 | | 要注册的工具名白名单。为空 = 注册该 server 提供的全部工具。 |
50-
| `setup` | string | | server 启动前运行一次的 shell 命令(如安装依赖)。在仓库根目录运行,超时 5 分钟。 |
51-
52-
### 使用 CLI
25+
#### 添加 MCP server
5326

5427
`ocr config set` 命令以非交互方式写入这些字段。数组字段(`args``env``tools`
5528
接受 JSON 数组字符串:
@@ -61,44 +34,38 @@ ocr config set mcp_servers.docs.command npx
6134
# 参数
6235
ocr config set mcp_servers.docs.args '["-y", "@acme/docs-mcp-server"]'
6336

64-
# 环境变量(KEY=VALUE 条目)
65-
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
66-
6737
# 限制暴露给审查器的工具
6838
ocr config set mcp_servers.docs.tools '["search_docs", "get_page"]'
6939

7040
# server 启动前运行的 setup 命令
7141
ocr config set mcp_servers.docs.setup "npm install -g @acme/docs-mcp-server"
42+
43+
# 环境变量(KEY=VALUE 条目)
44+
ocr config set mcp_servers.docs.env '["DOCS_TOKEN=secret", "DOCS_REGION=eu"]'
7245
```
7346

47+
#### 移除 MCP server
48+
7449
`unset` 移除某个 server:
7550

7651
```bash
7752
ocr config unset mcp_servers.docs
7853
```
7954

80-
### 手动编辑
81-
82-
等价的 JSON 配置:
55+
MCP server 配置在用户配置文件(`~/.opencodereview/config.json`)的 `mcp_servers` 键下。
8356

84-
```json
85-
{
86-
"mcp_servers": {
87-
"docs": {
88-
"command": "npx",
89-
"args": ["-y", "@acme/docs-mcp-server"],
90-
"env": ["DOCS_TOKEN=secret", "DOCS_REGION=eu"],
91-
"tools": ["search_docs", "get_page"],
92-
"setup": "npm install -g @acme/docs-mcp-server"
93-
}
94-
}
95-
}
96-
```
57+
| 字段 | 类型 | 必填 | 说明 |
58+
|---|---|---|---|
59+
| `command` | string || 启动 MCP server 的可执行文件(如 `npx``uvx`、绝对路径)。 |
60+
| `args` | string 数组 | | 传给 `command` 的参数。 |
61+
| `tools` | string 数组 | | 要注册的工具名白名单。为空 = 注册该 server 提供的全部工具。 |
62+
| `setup` | string | | server 启动前运行一次的 shell 命令(如安装依赖)。在仓库根目录运行,超时 5 分钟。 |
63+
| `env` | string 数组 | | 额外环境变量,`KEY=VALUE` 形式。 |
9764

9865
## 过滤工具
9966

10067
默认注册 server 声明的每个工具。当 server 暴露的工具超出审查器所需时,用 `tools`
101-
设一个白名单——更少、更精准的工具能让 agent 更专注,也降低 token 成本。白名单里
68+
设一个白名单 —— 更少、更精准的工具能让 agent 更专注,也降低 token 成本。白名单里
10269
server 实际没有提供的名字会被跳过并给出警告,因此拼写错误会显示在 stderr 上,而不是
10370
悄无声息地什么都不做。
10471

@@ -125,16 +92,16 @@ MCP 工具名与内置工具共享同一个命名空间。如果某个 server
12592
所有 MCP 诊断信息都输出到 **stderr**,以 `[ocr]` 前缀标记,因此绝不会污染 stdout 上
12693
`--format json` 输出:
12794

128-
- `Running setup for MCP server "x": …`——正在执行 setup 命令。
129-
- `failed to start MCP server "x": …`——子进程未在 30 秒初始化超时内连接成功,或
95+
- `Running setup for MCP server "x": …` —— 正在执行 setup 命令。
96+
- `failed to start MCP server "x": …` —— 子进程未在 30 秒初始化超时内连接成功,或
13097
`command` 不在 `PATH` 中。
131-
- `tool "y" conflicts with built-in tool, skipping`——重命名该 server 的工具,或将其
98+
- `tool "y" conflicts with built-in tool, skipping` —— 重命名该 server 的工具,或将其
13299
`tools` 中去掉。
133-
- `allowed tool "y" not found in server's tool list`——`tools` 中的名字与 server 提供
100+
- `allowed tool "y" not found in server's tool list` —— `tools` 中的名字与 server 提供
134101
的任何工具都不匹配;检查拼写。
135102

136103
## 另见
137104

138-
- [工具](../tools/)——MCP 工具与之并列的六个内置工具。
139-
- [配置](../configuration/)——完整的配置文件与每个键。
140-
- [CLI 参考](../cli-reference/)——`ocr config` 与 review 参数。
105+
- [工具](../tools/) —— MCP 工具与之并列的六个内置工具。
106+
- [配置](../configuration/) —— 完整的配置文件与每个键。
107+
- [CLI 参考](../cli-reference/) —— `ocr config` 与 review 参数。

0 commit comments

Comments
 (0)