2026-05-22、ローカルMac・shadow・cure の全3ホストにMCPサーバーを完全展開し、E2Eテストで全9項目PASSを確認した。
## 最終MCP構成(全ホスト共通)
| MCP | 役割 |
|-----|------|
| `wiki`/`llm-wiki` | shadow LLM Wiki (8200) へのアクセス |
| `glm5` | GLM-5 (ZhipuAI) チャット |
| `postgres` | shadow PostgreSQL (vvv_prod) |
| `postgres-vvv` | claude_readonly ユーザーで vvv_prod へ読み取り専用接続 |
| `context7` | Context7 ドキュメント検索 |
| `fetch` | Web コンテンツ取得 |
| `playwright` | ヘッドレス Chrome 自動操作 |
| `github` | GitHub MCP (github_mcp_wrapper.sh 経由) |
| `agent-cooperation` | エージェント間通信 |
## ホスト別接続方式
- **ローカルMac**: 全て `ssh shadow
- **shadow**: venv python3 直接実行 / npx 直接実行
- **cure**: venv python3 直接実行 / npx 直接実行 / github・agent-coop は ssh shadow 経由
## 修正した問題と解決策
### 1. venv 不完全問題(shadow・cure)
- **症状**: `pip`・`psycopg2`・`zhipuai` が venv に入っていない
- **解決**: `python3 -m venv ~/.claude/mcp-servers/venv --clear` で再作成 → `mcp mcp-server-fetch psycopg2-binary zhipuai pyjwt[crypto]` を一括インストール
### 2. github MCP stdin EOF 問題
- **症状**: `npx -y @modelcontextprotocol/server-github` が stdin EOF を受け取ると即終了(poll=0)
- **原因**: npx が stdin を読もうとするが Popen/SSH 経由では EOF になる
- **解決**: `github_mcp_wrapper.sh` を作成して `exec npx ...` で起動
```bash
#!/usr/bin/env bash
export GITHUB_PERSONAL_ACCESS_TOKEN=$(gh auth token)
exec npx -y @modelcontextprotocol/server-github
```
### 3. wiki コマンドが venv 外 python3 を使用(shadow)
- **症状**: `/usr/bin/python3` を使っており依存関係が不安定
- **解決**: venv python3 に統一
### 4. zhipuai バージョン不一致(cure)
- **症状**: `zhipuai==1.0.7` では `ZhipuAI` クラスが import できない
- **解決**: `zhipuai>=2.1` にアップグレード
### 5. cure の GitHub push 問題
- **症状**: SSH鍵未登録で `git push` 失敗
- **解決**: `git config credential.helper '!gh auth git-credential'` で gh token 経由に設定
## E2Eテスト結果
全3ホスト × 全9MCP = 27項目すべて PASS
テストスクリプト: `/tmp/mcp_e2e_full.py`(MCP initialize レスポンスを検証)
## git 同期状態
- リポジトリ: `yoshida-jun/claude-base`
- 最終commit: `35863ba feat(mcp): add github_mcp_wrapper.sh`
- 全ホスト同期確認済み
## 関連ファイル
- `~/.claude/mcp-servers/github_mcp_wrapper.sh`
- `~/.claude/mcp-servers/venv/` (.gitignore 済み)
- `~/.claude.json` (ホスト固有・git管理外)