MCP Server が話題なので色々さわってみている。 まずは信頼できる MCP 実装を使って、エラーを調査できるようにしてみた。 最近 GitHub Copilot Agent で MCP が使えるようになったので、まずはそれを試してみる。 自分で実装するのも試しているがそれはまた別途書きたい。

.vscode/settings.json は今のところ下記のようにしている。 mcp.json を作る方法もあるようだ。

{
  "mcp": {
    "servers": {
      "brave-search": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-brave-search"],
        "env": {
          "BRAVE_API_KEY": "BSAxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        }
      },
      "fetch": {
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      }
    }
  },
  "chat.agent.enabled": true
}

OpenAIのSDK使ってアプリを作っていたらちょうど良いケースが見つかったので、MCPを使ってエラーの原因を探させてみた。

とりあえず今回は自分でGoogle検索で解決策が見つかったことは確認している。そしてこういうエラーは、手元のソースコードを見ているだけではなかなか解決策にたどり着けない。実際、MCPを使わずにClaude 3.7 Sonnetに聞いた限りではへんてこな解決策を提示してきてしまった。

MCPを使って回答を生成させたのが下記。

GitHub Copilot Agent

今回の問題は、httpxのバージョンを固定していないことにより、httpxのバージョンによってエラーになってしまうということだった。

背後でhttpxを使っているということ自体知らなかった。

このように、MCPを使うと、適切に答えにたどり着けた。

現段階ではエラーメッセージを人がみてそれをコピペしてAgentに聞いて、というステップを踏んでいるが、DevinとかのAI Agentに適切に権限を付与したら、クラウド上のLambdaのエラーログを見て、そのエラーの解決策を調査してPull Requestする、というところまで自動化できたら、開発生産性にはかなり寄与すると思う。