詰まったところの共有

問題解決に役立てれば幸いです。

Roo CodeでContext7を使う

Roo CodeでContext7を使う

Dockerを立てる

  • wsl2からDockerfileを読み取り、ビルドする
  • Dockerfileを好きなところに置く
FROM node:18-alpine
WORKDIR /app
RUN npm install -g @upstash/context7-mcp@latest
CMD ["context7-mcp"]
  • dockerをビルド
    • cd /mnt/c/[Dockerfileの親ディレクトリまでのパス]
    • docker build -t context7-mcp .

Rooの設定

  • rooでcontext7を使う
    • roo側でwsl内のdockerを読んでcontext7を実行してくれる
    • 3点リーダーを押す→mcpサーバーを押す→グローバルmcpを編集を押すと下記のファイルを編集できる
    • C:\Users\[Username]\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json
    • alwaysAllowは自由で
{
  "mcpServers": {
    "context7": {
      "command": "wsl",
      "args": [
        "bash",
        "-c",
        "docker run -i --rm context7-mcp"
      ],
      "transportType": "stdio",
      "alwaysAllow": [
        "resolve-library-id",
        "get-library-docs"
      ],
      "disabledTools": []
    }
  }
}

Rooで使ってみる

uvの使い方 use context7
  • をプロンプトとして入力
  • context7が使用できていそうな場合は導入完了

もしかしたら、WSLのDNS変えないとだめかも

  • context7の外部との通信がDNSによって阻害されるかも
  • nameserver 10.255.255.254 だと阻害されるかも
  • sudo nano /etc/wsl.conf
[network]
generateResolvConf = false
  • sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1
  • wslの再起動
  • exit
  • wsl --shutdown
  • wsl

    未確認

  • Roo MarketplaceのMCPからもcontext7を導入できるが、どうやって導入しているのか分からないので触っていない。こちらのほうが簡単そう

参考