Claude Code に企業向け MCP サーバーを作らせてみました。本番運用には届きませんでした。
MCP は、AI エージェントのデータアクセスを一変させました。AI コーディングツールは、ソフトウェアの作り方を一変させました。では、この 2 つを掛け合わせれば、本番環境で安心して使えるコネクタが手に入るのか。確かめてみました。
企業が安心して MCP を使えるかを左右する 8 つの評価軸(OAuth トークンのライフサイクル、大規模データセットでの挙動など)で検証しました。見えてきたのは、「データにつながる」ことと「データを確実に届ける」ことの間にある、無視できない差です。Claude Code は、前者はクリアできても、後者はクリアできませんでした。
調査結果
8 つの評価軸は、いずれも実運用で起きる失敗パターンに対応しています。基準に届かない代償は、クエリがひとつ失敗することではありません。AI エージェントが不完全なデータを黙って返し、古いレコードのまま業務判断が下され、エンジニアリングチームが問題に気づくのは数週間後。代償は、そうした形で表れます。
人の介入なしで正しく実装されている
動作はするが不足がある
実装が誤っているか存在せず、人による原因調査と書き直しが必要
どこで破綻したのか
Claude Code は「動くソフトウェア」を作ることに最適化されています。しかし企業の本番環境が求めるのは、「動き続けるソフトウェア」です。しかも、最初の実装が想定していなかった条件のもとで。ギャップは、この一点から生まれます。
ルックアップカラムを 13 個持つリストにクエリを投げると、サーバーはそのうち 1 つを黙ってレスポンスから落としました。警告もエラーもなし。受け取ったデータが欠けていることを、エージェントは知るすべがありません。
ページネーションのハルシネーション
6,500 行のリストから全件取得するよう指示すると、エージェントは「有効な結果は 500 件」と報告して処理を打ち切りました。取得ループに陥ったと誤って判断したためです。プロキシで確認すると、8 ページすべてが正しく取得できていました。間違っていたのは、エージェントの数え方でした。
使いものにならないフィールドデータ
ハイパーリンクのカラムが返したのは、使えるデータではなく生の Java オブジェクト参照。フィルターとソートのパラメータは、動いているように見えて黙って無視されていました。何を渡しても、返ってくるのは絞り込まれていないデータセット全体です。
共通するパターン:コンパイルが通るコードと、本番で通用するコードの距離は、見た目よりずっと遠いということです。
テスト手法
9 セッション、2 フェーズ フェーズ 1:素の Claude Code に、最小限のプロンプトだけ。フェーズ 2:経験豊富な開発者が、構造化したワークフローと CLAUDE.md、プラン先行の実装で臨みました。
8 つの評価軸 いずれも、本番運用に耐えるコネクタの基準に対応しています。正確性、セマンティックな名前解決、大規模データでの耐障害性、認可の忠実な再現、機能の深さ、変化への適応性といった観点です。
合格 / 一部合格 / 不合格 合格:人の介入なしで正しく動く。
一部合格:実運用の条件では不足が出る。
不合格:人が原因を調べ、書き直す必要がある。
実データ、現実的な規模 検証はすべて本番の SharePoint 環境で。3 件のリストから 40,000 件超のリストまで、規模を変えて試しました。合成テストデータは一切使っていません。
調査レポートを入手する
エグゼクティブサマリー
主な調査結果と、実運用への影響を添えた評価一覧。失敗パターンの分析から結論まで、要点だけを凝縮しました。
調査レポート全文
テスト手法の詳細と、2 フェーズ分の評価軸別の結果。自社開発か製品導入かを検討しているチームへの示唆まで踏み込んでいます。
比較分析レポート
Claude Code が生成したコネクタと CData Connect AI を、同じ 8 つの評価軸で比べたらどうなるのか。スクリーンショット、ログの抜粋、ツール呼び出しのトレースまで添えて、両者を並べて評価しました。