diff --git a/python/mcp-servers/eq_mcp/README.md b/python/mcp-servers/eq_mcp/README.md
index 258fbd0c..232156ef 100644
--- a/python/mcp-servers/eq_mcp/README.md
+++ b/python/mcp-servers/eq_mcp/README.md
@@ -46,6 +46,20 @@ Register in `claude_desktop_config.json` (or `claude mcp add task-eq …`):
}
```
+## Logs
+
+The server's stderr is what the client shows (Claude Desktop's log viewer,
+or the terminal under Claude Code). The library's `WRITE(6,...)` (unit 6,
+fd 1) goes there too: fd 1 is the JSON-RPC pipe of a stdio server, so
+`main()` hands fd 1 to stderr through the shared `python/_fd_isolation.py`
+right before the server is built (#227 / #257 / #263). When stdout and
+stderr are the same file (a server started by hand in a terminal, or
+`2>&1`), unit 6 output is discarded and one warning line says so on
+stderr; give the server a stderr of its own to keep it
+(`python -m eq_mcp.server 2>server.log`). The same-file test uses the
+`fstat` inode, so on Windows, where a pipe or console has none, a merged
+stream is not recognised and fd 1 goes to stderr as usual.
+
## Tools
| Tool | Purpose |
diff --git a/python/mcp-servers/ti_mcp/README.md b/python/mcp-servers/ti_mcp/README.md
index c58c7bd8..6198a262 100644
--- a/python/mcp-servers/ti_mcp/README.md
+++ b/python/mcp-servers/ti_mcp/README.md
@@ -298,6 +298,8 @@ TI の Fortran 側は COMMON-block 単一状態なので、1 プロセス = 1
MCP サーバの標準エラー出力が LLM クライアントに渡ります。Claude Desktop なら「開発者ツール」相当のログビューア、Claude Code なら実行ターミナルで確認できます。
+Fortran 側の `WRITE(6,...)`(unit 6 = fd 1)も同じ標準エラー出力に流れます。stdio サーバでは fd 1 が JSON-RPC の送信パイプなので、`main()` がサーバ構築の直前に共有モジュール `python/_fd_isolation.py` で fd 1 を stderr に付け替えています(#227 / #257 / #263)。端末で手動起動したときや `2>&1` で stdout と stderr が同じファイルになっているときは、unit 6 の出力は捨てられ、その旨の警告が stderr に 1 行出ます(同一ファイルの判定は `fstat` の inode によるので、パイプやコンソールに inode が無い Windows では判定されず、fd 1 は通常どおり stderr に向きます)。ライブラリの出力を残したい場合は stderr を別に渡してください(例: `python -m ti_mcp.server 2>server.log`)。
+
## 9. 参考資料
- MCP spec:
diff --git a/python/mcp-servers/tot_mcp/README.md b/python/mcp-servers/tot_mcp/README.md
index 28982361..83919fba 100644
--- a/python/mcp-servers/tot_mcp/README.md
+++ b/python/mcp-servers/tot_mcp/README.md
@@ -394,6 +394,8 @@ TOT のバックエンドは Fortran COMMON-block を使った単一状態なの
MCP サーバの標準エラー出力が LLM クライアントに渡ります。Claude Desktop なら「開発者ツール」相当のログビューア、Claude Code なら実行ターミナルで確認できます。
+Fortran 側の `WRITE(6,...)`(unit 6 = fd 1)も同じ標準エラー出力に流れます。stdio サーバでは fd 1 が JSON-RPC の送信パイプなので、`main()` がサーバ構築の直前に共有モジュール `python/_fd_isolation.py` で fd 1 を stderr に付け替えています(#227 / #257 / #263)。端末で手動起動したときや `2>&1` で stdout と stderr が同じファイルになっているときは、unit 6 の出力は捨てられ、その旨の警告が stderr に 1 行出ます(同一ファイルの判定は `fstat` の inode によるので、パイプやコンソールに inode が無い Windows では判定されず、fd 1 は通常どおり stderr に向きます)。ライブラリの出力を残したい場合は stderr を別に渡してください(例: `python -m tot_mcp.server 2>server.log`)。
+
## 10. 参考資料
- MCP spec:
diff --git a/python/mcp-servers/tr_mcp/README.md b/python/mcp-servers/tr_mcp/README.md
index d264a366..8f97bd5f 100644
--- a/python/mcp-servers/tr_mcp/README.md
+++ b/python/mcp-servers/tr_mcp/README.md
@@ -291,6 +291,8 @@ TR の Fortran 側は COMMON-block 単一状態なので、1 プロセス = 1
MCP サーバの標準エラー出力が LLM クライアントに渡ります。Claude Desktop なら「開発者ツール」相当のログビューア、Claude Code なら実行ターミナルで確認できます。
+Fortran 側の `WRITE(6,...)`(unit 6 = fd 1)も同じ標準エラー出力に流れます。stdio サーバでは fd 1 が JSON-RPC の送信パイプなので、`main()` がサーバ構築の直前に共有モジュール `python/_fd_isolation.py` で fd 1 を stderr に付け替えています(#227 / #257 / #263)。端末で手動起動したときや `2>&1` で stdout と stderr が同じファイルになっているときは、unit 6 の出力は捨てられ、その旨の警告が stderr に 1 行出ます(同一ファイルの判定は `fstat` の inode によるので、パイプやコンソールに inode が無い Windows では判定されず、fd 1 は通常どおり stderr に向きます)。ライブラリの出力を残したい場合は stderr を別に渡してください(例: `python -m tr_mcp.server 2>server.log`)。
+
## 9. 参考資料
- MCP spec:
diff --git a/python/mcp-servers/wr_mcp/README.md b/python/mcp-servers/wr_mcp/README.md
index d9bbb0f4..5e7a4b20 100644
--- a/python/mcp-servers/wr_mcp/README.md
+++ b/python/mcp-servers/wr_mcp/README.md
@@ -303,6 +303,8 @@ WR の Fortran 側は COMMON-block 単一状態なので、1 プロセス = 1
MCP サーバの標準エラー出力が LLM クライアントに渡ります。Claude Desktop なら「開発者ツール」相当のログビューア、Claude Code なら実行ターミナルで確認できます。
+Fortran 側の `WRITE(6,...)`(unit 6 = fd 1)も同じ標準エラー出力に流れます。stdio サーバでは fd 1 が JSON-RPC の送信パイプなので、`main()` がサーバ構築の直前に共有モジュール `python/_fd_isolation.py` で fd 1 を stderr に付け替えています(#227 / #257 / #263)。端末で手動起動したときや `2>&1` で stdout と stderr が同じファイルになっているときは、unit 6 の出力は捨てられ、その旨の警告が stderr に 1 行出ます(同一ファイルの判定は `fstat` の inode によるので、パイプやコンソールに inode が無い Windows では判定されず、fd 1 は通常どおり stderr に向きます)。ライブラリの出力を残したい場合は stderr を別に渡してください(例: `python -m wr_mcp.server 2>server.log`)。
+
## 9. 参考資料
- MCP spec:
diff --git a/python/mcp-servers/wrx_mcp/README.md b/python/mcp-servers/wrx_mcp/README.md
index 03b09ec4..8ef6bffe 100644
--- a/python/mcp-servers/wrx_mcp/README.md
+++ b/python/mcp-servers/wrx_mcp/README.md
@@ -354,6 +354,8 @@ WRX の Fortran 側は COMMON-block 単一状態なので、1 プロセス = 1
MCP サーバの標準エラー出力が LLM クライアントに渡ります。Claude Desktop なら「開発者ツール」相当のログビューア、Claude Code なら実行ターミナルで確認できます。
+Fortran 側の `WRITE(6,...)`(unit 6 = fd 1)も同じ標準エラー出力に流れます。stdio サーバでは fd 1 が JSON-RPC の送信パイプなので、`main()` がサーバ構築の直前に共有モジュール `python/_fd_isolation.py` で fd 1 を stderr に付け替えています(#227 / #257 / #263)。端末で手動起動したときや `2>&1` で stdout と stderr が同じファイルになっているときは、unit 6 の出力は捨てられ、その旨の警告が stderr に 1 行出ます(同一ファイルの判定は `fstat` の inode によるので、パイプやコンソールに inode が無い Windows では判定されず、fd 1 は通常どおり stderr に向きます)。ライブラリの出力を残したい場合は stderr を別に渡してください(例: `python -m wrx_mcp.server 2>server.log`)。
+
## 10. 参考資料
- MCP spec: