公開日:

森田 嶺

【Antigravity連載⑤】AntigravityでMCPを構成する方法を解説

【Antigravity連載⑤】AntigravityでMCPを構成する方法を解説サムネイル画像

Antigravityで外部サービスとの連携について調べると、MCP(Model Context Protocol) という言葉が出てきます。GitHubやFigma、データベースなどと接続する仕組みとして紹介されていますが、そもそも何を接続しているのか、接続すると何ができるのかが分かりにくい方もいると思います。

MCPを端的に説明すると、AIが外部の情報や機能を利用するための共通規格です。Antigravityでは、MCPを通じて作業中のプロジェクトの外にある情報を取得したり、接続先が提供する操作を実行したりできます。

ただし、サービスに接続すれば、あらゆる作業を自動で任せられるというわけではありません。利用できる機能には範囲があり、企業で使う場合には権限の設定も重要です。今回は、MCPの基本から連携の仕組み、具体的な活用例、導入時に確認したいポイントまで、順番に解説します。

そもそもMCPとは何か?

MCPはAIと外部サービスがやり取りするための共通規格

AIに仕事を依頼する際、その仕事に必要な情報をどのように渡すかは重要です。例えば、Antigravityにプログラムの修正を依頼する場合、修正対象のコードに加えて、GitHubに登録された不具合の報告や、Figmaで作成された画面のデザインも判断材料になります。

こうした情報を人が探し、コピーしてAIに渡す代わりに、AIアプリケーション側から必要な情報を取得できるようにする。そのための仕組みの一つがMCPです。

MCPは、Model Context Protocolの略称です。ここでいうContextは、AIが作業を進めるための背景情報や判断材料、Protocolは、システム同士が情報をやり取りする際の決まりを意味します。MCPでは、外部からどのような情報や機能を利用できるかを確認し、それらを取得・呼び出すための共通の形式が定められています。

また、MCPで扱えるのは、参照するための情報だけではありません。接続先が提供するツールを通じて、外部サービスに情報を登録したり、更新したりすることもできます。例えばGitHub公式MCPサーバーには、Issueの読み取りやプルリクエストの作成といった機能があります。

つまり、MCPを理解する際は、AIに渡せる判断材料と、AIが利用できる操作の範囲を広げるための共通規格と考えると分かりやすいと思います。ただし、MCP自体が作業内容を判断するわけではありません。取得した情報をどう使うか、どの操作が必要かを判断する役割は、AntigravityなどのAIアプリケーション側にあります。

MCPはどのように構成されるのか

MCPは、情報や機能を利用する側と、それらを提供する側が通信する、クライアント・サーバーアーキテクチャを採用しています。その構造を理解するために押さえたいのが、ホスト・クライアント・サーバーという三つの役割です。

ここでは、AntigravityからGitHubの情報を取得する場面に当てはめて考えてみます。利用者が指示を出すAntigravityがホスト、その内部で接続先との通信を担当する部品がクライアント、GitHub等外部サービスの情報や機能を提供するプログラムがサーバーです。この関係を押さえると、設定画面でMCPサーバーを追加する操作が、何を意味しているのかも理解しやすくなります。

MCPホストの役割

MCPホストに当たるのが、利用者が操作するAntigravityです。 ホストは、一つまたは複数のMCPクライアントを管理し、それらを通じて外部のMCPサーバーと接続します。例えば、利用者がGitHubに登録された不具合の内容を調べるよう依頼した場合、Antigravity側のAIが依頼を理解し、利用可能なツールを使って情報を取得する流れになります。

取得した内容を読み、利用者に説明したり、その後の調査に利用したりするのもAntigravity側の役割です。MCPは、その過程で必要になる外部とのやり取りを支えます。そのため、ホストは単に接続先へ情報を送るだけの窓口ではなく、外部から得た情報や機能を、利用者が依頼した作業に結び付けるアプリケーションと捉えるとよいと思います。

MCPクライアントの役割

MCPクライアントは、ホストの内部で、MCPサーバーとの通信を担当する部品です。利用者自身を指す言葉ではなく、通常は利用者が別のアプリとして開いて操作するものでもありません。Antigravityを通じて外部サービスを利用する際に、その内部で接続を担当しています。

ここで重要なのが、ホストは接続するMCPサーバーごとに、一つのMCPクライアントを作るという点です。例えば、AntigravityからGitHubとFigmaの二つのMCPサーバーに接続する場合、GitHub側との通信を担当するクライアントと、Figma側との通信を担当するクライアントが、それぞれ用意されます。

利用者から見ると、一つのAntigravityで複数のサービスを使っているように見えますが、内部では接続先ごとに通信の担当が分かれているということです。ホストが接続全体を管理し、各クライアントが対応するサーバーとやり取りする。この役割分担が、MCPの基本的な接続構造です。

MCPサーバーの役割

サーバーと聞くと、データセンターに置かれた大きな機械を想像するかもしれませんが、ここでは情報や機能を提供するプログラムを指します。自分のパソコンで動かす場合も、外部サービス側で動いているものに接続する場合もあります。例えばGitHubのMCPサーバーであれば、GitHub上の情報を取得したり、Issueやプルリクエストを扱ったりする機能を提供します。

AntigravityはMCPホストとして接続全体を管理する

ここまでの話をまとめると、Antigravityが接続全体を管理し、その内部のクライアントが通信を担当し、接続先のサーバーが情報や機能を提供します。この役割分担が、MCPにおけるクライアント・サーバーアーキテクチャの基本になります。AntigravityとGitHubのMCPサーバーを接続する場合、以下のような関係性になります。

GitHubとMCPで接続する場合のイメージ

MCPはAntigravity専用の技術ではない

MCPは、Antigravityだけで使うために作られた技術ではありません。AIアプリケーションと外部の情報や機能をつなぐ共通規格であり、Antigravityは、その規格に対応したアプリケーションの一つです。

共通規格であることの意味は、同じサービスが提供するMCPサーバーを、複数の対応アプリケーションから利用できる点にあります。例えば、GitHub公式MCPサーバーは、さまざまなAIツールからGitHubの情報や機能を利用するための接続先として提供されています。サービス側はMCPという共通の形式で機能を公開し、AIアプリケーション側は、その形式に従って機能を呼び出します。

ただし、共通規格に対応していれば、どのアプリでも設定方法や使い勝手が同じになるわけではありません。例えばNotionの公式ドキュメントでは、同じMCPサーバーに接続する場合でも、AntigravityやCursorなど、利用するアプリごとに異なる設定手順が案内されています。接続先を共通化できることと、設定をそのまま流用できることは区別する必要があります。

このように考えると、AntigravityでMCPを学ぶことは、一つの製品の操作方法を覚える以上の意味があると思います。どのサーバーが情報や機能を提供し、AIアプリケーションがそれをどう利用するのか。この基本構造を理解しておけば、別のMCP対応ツールを検討する際にも、接続先や設定内容を整理するための土台になります。

MCPで外部サービスと連携すると何ができるのか?

MCPによる連携では、外部サービスの情報をAntigravityの作業に利用したり、接続先が提供する機能を呼び出したりできます。ここでは、GitHubとFigmaを例に、どのような場面で活用できるのかを説明します。

GitHubの不具合報告を取得し、対応内容を整理する

GitHubでは、Issueという単位で不具合の報告や対応事項を管理できます。GitHub公式MCPサーバーには、このIssueを読み取る機能が用意されています。例えば、ログイン画面の不具合がIssueに登録されている場合、対象のIssueを指定して、報告内容と対応が必要な点を整理するようAntigravityに依頼する使い方が考えられます。MCPサーバーがIssueの情報を取得し、その結果をAntigravityが説明や作業の判断材料に利用するという流れです。

ここで区別したいのは、情報を取得する役割と、内容を考えて整理する役割です。MCPサーバーが不具合の原因を判断するのではなく、取得した情報をもとにAntigravityが調査や検討を進めます。また、GitHub公式MCPサーバーには、プルリクエストを作成する機能もあります。必要なツールと権限が利用できる場合は、情報の確認に加えて、コードの変更を提案する操作にも活用できます。

Figmaのデザイン情報を、画面の実装に利用する

FigmaのMCPサーバーでは、画面のレイアウトやコンポーネント、変数などのデザイン情報をAIに渡せます。コンポーネントはボタンなどの再利用する部品、変数は色や余白などの値を管理するためのものです。例えば、Figmaで作成した画面をWebページとして実装する際に、そのデザイン情報をAntigravityのコード生成に利用する使い方が考えられます。

ただし、FigmaのMCPサーバーが完成済みのコードを提供するわけではありません。サーバーがデザイン情報を提供し、それを対象の言語や開発環境に合わせてコードにする役割はAIエージェントが担います。

このように、MCPを活用すると、外部サービスにある情報を取得するところから、その情報を使って作業を進めるところまでをつなげられます。導入を検討する際は、普段どのサービスから情報を集め、何の作業に使っているかを整理すると、具体的な活用場面を考えやすくなると思います。

AntigravityでMCPを使い始めるには?

AntigravityにMCPサーバーを追加する方法は、大きく二つあります。一つは、画面上の一覧から選ぶMCPストアを使う方法。もう一つは、接続先の情報を設定ファイルに手動で登録する方法です。Antigravity IDEでも設定することは可能ですが、今回はAntigravityから設定する手順を説明します。

方法① MCPストアから追加する

MCPストアは、利用できるMCPサーバーを探して追加するための一覧画面です。初めて設定する場合は、まずストアに目的のサーバーがあるか確認すると進めやすいと思います。

1.設定画面を開く

Antigravity 2.0の画面左下にあるSettingsをクリックし、Customizationsを選択します。その中にあるInstalled MCP Serversが、追加したMCPサーバーを管理する場所です。

2.MCPストアを開く

Installed MCP Servers内のAdd MCPをクリックすると、MCPストアが開きます。検索するか、一覧をスクロールして、利用したいサーバーを探します。

3.目的のサーバーを追加する

利用したいサーバーのAddをクリックします。追加後は、Installed MCP Serversで管理できます。この画面では、有効・無効の切り替え、削除、更新も行えます。認証が必要なサーバーについては、後述する認証手続きも完了させてください。

方法② 設定ファイルに手動で登録する

ストアに掲載されていないサーバーを使う場合は、mcp_config.jsonという設定ファイルに接続情報を登録します。このファイルは、接続先の住所や起動方法をAntigravityに伝えるための設定表のようなものです。

1.設定ファイルを開く

以下の場所にあるファイルをテキストエディタで開き、接続情報を編集します。既存の設定がある場合は、それを残したうえで新しいサーバーの情報を追加します。ちなみに、以下ファイルはAntigravity 2.0、IDE、CLIで共通のMCP設定です。

~/.gemini/config/mcp_config.json

2.提供元の手順に従って接続情報を追加する

利用したいMCPサーバーの提供元が公開している設定例を確認します。これらの接続設定は、ファイル内のmcpServersという項目の中に記載します。手動登録はMCPサーバーを自作するという意味ではなく、既存のサーバーへの接続情報を自分で記載する方法です。

MCPサーバーの提供元が、動的クライアント登録(Dynamic Client Registration)に対応している場合は、以下のように設定を行います。

{

"mcpServers": {

"oauth-server": {

"serverUrl": "https://api.example.com/mcp/"

}

}

}

動的クライアント登録をサポートしていない場合は、クライアント認証情報を直接指定することも可能です。

{

"mcpServers": {

"oauth-server": {

"serverUrl": "https://api.example.com/mcp/",

"oauth": {

"clientId": "your-client-id",

"clientSecret": "your-client-secret"

}

}

}

}

3.設定を保存し、管理画面で確認する

編集内容を保存したら、SettingsからCustomizationsを開き、Installed MCP Serversを確認します。必要に応じて更新ボタンを使い、追加したサーバーが認識されているかを確認します。

追加後は、必要な認証と動作確認を行う

どちらの方法でも、接続先が認証を必要とする場合は、その手続きを完了させます。認証とは、どのアカウントとして外部サービスに接続するかを確認する手続きです。

OAuthを利用するサーバーでは、Customizations内にある対象サーバーのAuthenticateをクリックし、ブラウザで認証を進めます。

公式手順では、認証後に表示されたコードを設定画面へ貼り付け、Submitをクリックする流れになっています。APIキーなど別の方式を使う場合は、提供元の案内に従って設定してください。

設定後は、まず情報を取得する小さな依頼で動作を確認するとよいでしょう。例えばGitHubであれば、公式MCPサーバーにIssueの読み取り機能が用意されているため、対象のIssueを指定して内容の確認を依頼することができます。まずストアを確認し、目的のサーバーが見つからない場合は手動登録を検討する。そのうえで認証と動作確認を行う、という順番で進めると分かりやすいと思います。

MCPはAntigravity活用の可能性を広げる

MCPを活用することで、Antigravityが作業に使える情報と、実行できる操作の範囲が大きく広がります。私がMCPに可能性を感じるのは、普段使っているサービスと、Antigravityでの作業をつなげられる点です。例えば、GitHubの報告内容とFigmaのデザインを参照しながら修正案を検討し、変更をプルリクエストとして提案できます。必要なツールと権限を整えることで、このように複数のサービスをまたぐ作業を組み立てることができます。

もちろん、一連の作業をどこまで任せられるかは、接続先の機能や設定によって変わります。それでも、これまで人が情報を集めてAIに渡していた部分まで、依頼する作業の範囲に含められることは、大きな変化だと思います。

まずは、日々の業務で別のサービスを開き、情報を探してコピーしている場面を思い浮かべてみてください。その情報をAntigravityが取得できたら、続けて何を任せたいでしょうか。MCPの活用を考える面白さは、接続そのものよりも、その先の仕事の進め方を具体的に描けるところにあると考えています。

森田 嶺
森田 嶺
大学卒業後、 AWS や Google Cloud 等、主にクラウドを基盤とした新規サービス開発の経験を経て、YOSHIDUMIに入社。Google ドライブ拡張サービス「Cmosy Pocket」「共有ドライブマネージャー」等、 Google Cloud を活用した自社サービスの開発に従事。現在、 Google 等が提供する生成AIを活用したサービスを開発中。https://x.com/r__morita
Gemini・Notebookで変革! Google Workspaceで始めるAIファーストの働き方 〜「うちの会社でもできる」成長企業のための効果的な導入移行へのアプローチ〜

14:00-15:00 オンライン

Gemini・Notebookで変革! Google Workspaceで始めるAIファーストの働き方 〜「うちの会社でもできる」成長企業のための効果的な導入移行へのアプローチ〜

詳細はこちら

「閉じた」共有ドライブの利便性を最大化する! Cmosy Pocketで実現する、安全・快適な外部コラボレーション術セミナー

14:00-15:00 オンライン

「閉じた」共有ドライブの利便性を最大化する! Cmosy Pocketで実現する、安全・快適な外部コラボレーション術セミナー

詳細はこちら

Geminiの各機能、どう活かす?日常業務を加速する活用術と全社展開へのステップセミナー

14:00-15:00 オンライン

Geminiの各機能、どう活かす?日常業務を加速する活用術と全社展開へのステップセミナー

詳細はこちら

オンラインセミナー開催中

お申込みはこちらをCheck!