AI時代の静的解析を支えるMCPサーバー

Perforce QAC AI-Assisted Code Remediationの新しい可能性

近年、生成AIを活用した開発支援ツールが急速に普及しています。GitHub Copilotをはじめ、Claude Code、Cursor、Amazon Q Developerなど、多くの開発現場でAIによるコーディング支援が活用されるようになりました。

一方で、AIが提示した修正案が本当に正しいのか、コーディング規約や安全規格に準拠しているのかを判断することは課題となっています。

Perforce QACが提供するAI-Assisted Code Remediationは、この課題を解決するための新しいアプローチです。その中核を担うのがPerforce Static Analysis MCP Serverです。

はじめに

MCPとは何か

MCP(Model Context Protocol)は、AIモデルと外部システムや外部ツールを連携させるための標準プロトコルです。

従来の生成AIは、ユーザーから与えられたプロンプトだけを基に回答を生成していました。MCPを利用すると、AIは外部ツールや外部データから必要なコンテキスト情報を取得し、その内容を踏まえた回答や提案を行えるようになります。

Perforce Static Analysis MCP Serverは、QACが保有する解析結果やコーディングルール、修正ガイドなどをAIへ提供し、より実践的で精度の高いコード修正を支援します。

LLMとは何か

LLM(Large Language Model:大規模言語モデル)とは、大量のテキストデータを学習することで、人間のような自然な文章の生成や対話を実現するAIモデルです。

近年では、GPTシリーズ、Claude、Gemini、Amazon Nova、Qwenなどが代表的なLLMとして知られています。

現在では、コード生成やコードレビュー、ドキュメント作成など、さまざまなソフトウェア開発業務で活用されています。

しかし、一般的なLLMには大きな制約があります。

それは、学習データに含まれない情報や現在のプロジェクト固有の情報を直接参照できないことです。

例えば「このMISRA違反を修正してほしい」と依頼した場合でも、AIは次のような情報を把握していません。

  • 実際のQAC診断内容
  • 解析結果
  • プロジェクト固有のルール設定
  • 関連ソースコードの情報

そのため、一般的なLLMは推測に基づいた修正案しか提示できない場合があります。

この課題を解決するのがMCPです。

MCPを利用することでLLMは外部ツールから必要な情報を取得し、その情報を活用して回答や修正案を生成できるようになります。

Perforce QACでは、Perforce Static Analysis MCP ServerがAIとQACをつなぐ役割を担い、解析結果やコーディングルールをAIへ提供することで、コンテキストを理解した高精度な修正支援を実現しています。

MCPサーバーがもたらす柔軟性

PerforceがAI-Assisted Code Remediationで特に重視しているのは「柔軟性」です。

多くのAIソリューションは、特定のIDE、特定のAIサービス、特定のクラウド環境への依存を前提としています。

しかし実際の開発現場では、Visual Studio Codeを利用する開発者、ターミナルを中心に作業する開発者、AIファーストIDEを利用する開発者など、さまざまな開発スタイルが混在しています。

PerforceのMCPアプローチでは、開発者にツールの変更を強制しません。

既存の開発環境にPerforce Static Analysis MCP Serverを接続するだけで、利用中のAIツールからQACの情報を参照できるようになります。

利用するLLMも自由に選択可能

Perforce Static Analysis MCP Serverのもう一つの大きな特長は、利用するAIモデルを限定しないことです。

MCP ServerはAIモデルそのものを提供するのではなく、QACの解析情報をAIに受け渡すインターフェースです。

そのため、GPT、Claude、Gemini、Amazon Nova、Qwenなど、さまざまなLLMを選択できます。

さらに、これらのLLMはAmazon BedrockやOllamaなど、それぞれの実行環境上で利用できます。

この柔軟性は、高いセキュリティが求められる業界においては大きなメリットとなります。

例えば、防衛、航空宇宙、自動車、医療分野では、ソースコードを外部クラウドへ送信できないケースが少なくありません。

そのような環境でも、ローカル環境で動作するLLMと組み合わせることで、次のような完全オンプレミス構成を実現できます。

  1. QAC
  2. Perforce Static Analysis MCP Server
  3. ローカルLLM

様々なMCP対応ツールと連携可能

現時点でPerforce Static Analysis MCP Serverとの連携に対応しているIDEはVisual Studio Codeのみです。

しかし、Perforceが目指しているのはVisual Studio Code専用の機能を提供することではありません。

MCPはツール間の連携を実現する標準プロトコルであるため、MCPに対応したIDEやAIツールであれば、基本的に同じ仕組みを利用できます。

将来的に利用するツールが変わった場合でも、QACの解析結果や運用資産をそのまま活用できる点は大きなメリットです。

AI-Assisted Remediation構成図

静的解析ツール、MCP Server、MCP Host、AI Agent、LLMが連携することで、柔軟なAI支援環境を構築できます。

各レイヤーの役割

レイヤー 役割
静的解析ツール 診断生成 QAC、Klocwork
MCP Server 診断情報提供 Perforce Static Analysis MCP Server
MCP Host MCP接続基盤 Visual Studio Code、Cursor、Claude Desktop、Claude Code
AI Agent 修正提案を実行 GitHub Copilot、Claude Code、Google Code Assist、Amazon Q Developer
LLM 推論エンジン GPT、Claude、Gemini、Qwen、ローカルLLM

※MCP HostはPerforceブログで紹介されている例です。QAC 2026.2で正式に案内されているIDEはVS Codeです。

QAC AI-Assisted Code Remediationの仕組み

AI-Assisted Code Remediationでは、単にQACのエラーメッセージをAIへ渡しているわけではありません。

Perforce Static Analysis MCP Serverを介して、次のような解析情報をAIへ提供します。

  • 診断情報
  • メッセージヘルプ
  • ルール解説
  • 関数間解析結果
  • 解析コンテキスト

AIはこれらの情報を基に、QACの解析内容を理解した上で修正案を生成します。

そのため、推測ではなく、解析結果に基づいたより適切な修正提案を行えます。

QAC診断結果とAIによる修正提案を開発環境内で確認しながら作業できます。

VS Code連携例

Human-in-the-Loopによる安全性

PerforceはAIによる完全自動修正を目指しているわけではありません。

安全性や品質が重要な開発では、最終判断は必ず人間が行う必要があります。

そのため、以下のHuman-in-the-Loop方式を採用しています。

  1. AIが修正案を作成
  2. QACが再解析
  3. 開発者がレビュー
  4. 承認後に適用

この考え方はMISRACERTへの適合が求められる安全クリティカル開発との親和性が高く、AI活用と品質保証を両立するアプローチとして注目されています。

まとめ

Perforce QACのAI-Assisted Code Remediationは、単なるAI連携機能ではありません。

Perforce Static Analysis MCP Serverを活用することで、以下を実現できます。

  • 開発環境を選ばない
  • AIモデルを選ばない
  • ベンダーロックインを避ける
  • 品質とコンプライアンスを維持する

QACの高精度な静的解析と生成AIを組み合わせることで、「Find → Fix → Verify」のサイクルを効率化し、より安全で高品質なソフトウェア開発を支援します。