Claude MCPとは?仕組み、活用方法、使い方、料金、特徴を実際の活用事例を含めて徹底解説!
最終更新日:2025年03月28日

- MCP(Model Context Protocol)は、LLMが外部ツールやデータソースと安全かつ柔軟に接続できるようにするオープンな標準プロトコルで、Claudeだけでなく他のAIアプリでも実装可能。
- Claude Desktopでの利用には、MCPサーバーの構築と設定ファイルの編集が必要で、天気予報やGitHub連携などの外部データ活用が可能になる。
- MCPはオープンソースで無料利用が可能で、ローカルファイルへの自動保存やクラウドサービスとの高度な連携など、実用的な活用例が豊富にある。
2024年11月、Anthropic社は、AIアシスタントとデータソース間の接続を標準化する新しいオープンスタンダードとなる「Model Context Protocol(MCP)」を発表しました。 MCPは、AIシステムがコンテンツリポジトリ、ビジネスツール、開発環境などの外部データソースと簡単に連携し、より関連性の高い応答を生成できるように設計されています。
本記事では、Claude MCPの仕組み、活用方法、使い方や料金を実際の活用事例を含めて徹底解説します。
関連記事:「LLMとは?ChatGPTとの違い・企業活用事例・種類・導入方法とコスト・代表モデルを徹底解説!」
AI Marketでは
LLMに強いAI開発会社をご自分で選びたい場合はこちらで特集していますので併せてご覧ください。
目次
MCPとは?
MCP(Model Context Protocol)は、LLM(大規模言語モデル)を用いたAIアプリケーションが、外部のデータソースやツールと安全かつ柔軟に接続・連携するための、Anthropicが開発したオープンプロトコルで、GitHubで公開されています。
このプロトコルは、各システムやサービスごとに個別の連携コードを実装する必要をなくし、統一されたインターフェースを通じて多様なデータやツールにアクセスできる環境を提供します。
例えるなら、MCPはAIアプリケーション向けの「USB-Cポート」のようなものであり、異なるデバイスやサービス間の接続方法を標準化することで、拡張性と互換性の高いエコシステムを実現しています。
MCPとClaude MCPの違い
MCPは、Claudeの提供元であるAnthropicがMCPを開発したため、「Claude用のプロトコル」のように見えるかもしれませんが、MCPはAnthropicが開発した、誰でも実装・利用できるオープンプロトコルです。
MCPはオープンソースとして仕様とSDK(TypeScript・Pythonなど)が公開されており、他のAIアプリケーションやLLMベンダーでも自由に採用・実装可能です。
Claude DesktopやClaude APIが初期のMCPホストとして代表的な存在になっていますが、Claudeに限定された技術ではありません。
▼累計1,000件以上の相談実績!お客様満足度96.8%!▼
MCPの活用イメージ
MCPを利用することで、以下のような高度な連携が可能になります。
- Google Drive上のドキュメントを検索・要約
- Slackのチャット履歴を参照し、文脈に即した応答を生成
- GitHubのリポジトリからコードやコミット履歴を取得し、コードレビューや開発支援を実施
- ローカルPC内のファイルやデータベースにアクセスして、社内業務をサポート
これらはすべて、MCPに対応したLLMアプリケーションから、統一されたプロトコルを通じて実現されます。
MCPの仕組み:構成とアーキテクチャ

MCPは、以下の主要コンポーネントからなるクライアント・サーバ型のアーキテクチャに基づいて設計されています。
コンポーネント | 役割・説明 |
---|---|
MCPホスト(Host) | Claude DesktopやIDEなど、MCPを利用するAIアプリケーション本体。内部にMCPクライアントを搭載し、サーバとの通信を開始する役割を持つ。 |
MCPクライアント(Client) | ホスト内で動作し、MCPサーバと1:1の接続を維持。リクエストの送信やレスポンスの受信、プロトコルの管理を担当。 |
MCPサーバ(Server) | ローカルファイル、データベース、外部APIなど、特定のデータソースやツールをMCP経由で公開する軽量なサービス。 |
ローカルデータソース | PC内のファイルやデータベース、社内システムなど、MCPサーバが安全にアクセスできるローカル環境の情報源。 |
リモートサービス | インターネット越しに接続可能な外部APIやクラウドサービス(例:Google Drive、Slack、GitHubなど)。MCPサーバ経由でアクセス。 |
Claude MCPの特徴とできること
MCPの主な特徴と機能は以下のとおりです。
- オープンソース:誰でも利用・実装が可能で、開発者は共通の標準に基づいてAIとデータソースを連携可能
- 双方向接続:AIモデルと外部システム間の双方向の通信を可能にし、AIが外部データにアクセスするだけでなく、外部システム上でのアクションも実行可能にする
- 安全性:アクセス制御や認証メカニズムを備えており、安全なデータ連携を実現
- 拡張性:開発者が新しいデータソースやツール(PC内のファイル、社内システム、GitHub等)を容易に追加できるように設計されており、AIシステムの機能拡張が容易
▼累計1,000件以上の相談実績!お客様満足度96.8%!▼
Claude MCPの料金
MCP自体はオープンソースのプロトコルであり、無料で利用できます。ただし、MCPを活用するためのツールやサービス、例えばClaudeの各種プランなどは、それぞれの料金体系が適用されます。
2025年3月時点で、Claudeを使用する場合は無料プランでも十分に利用することができますが、Claude 3.7などの高度な最新モデルをたくさん使用したい場合は、利用上限が高くなる月額18ドルのProプランなどの有料プランに加入する必要があります。
詳しくは、以下のレビュー記事をご参照ください。
Claude 3.7 Sonnetとは?使い方・料金・性能を検証レビュー!
Claude MCPの使い方
ここでは、ClaudeでMCPを使う方法について解説していきます。
2025年3月時点で、ClaudeのWeb版ではMCPは使えないので、Claudeのデスクトップ版を使う必要があります。なお、Web版のMCPへの対応は現在開発中のようです。
基本的な流れ
ClaudeでMCPを使う際の一般的な手順は以下の通りになります。
- MCPサーバーの準備
MCPの機能を利用するためには、まずMCPサーバーを構築または利用する必要があります。サーバーは、リソース (ファイルのようなデータ)、ツール (LLMが実行できる関数)、プロンプト (特定のタスクを支援するテンプレート) などの機能を提供できます。天気予報を取得するサーバーやGitHubを操作するサーバーなどが例として挙げられます。 - Claude Desktopの設定
MCPサーバーをClaudeで使用するためには、Claudeの設定ファイル (claude_desktop_config.json) にサーバーの情報を登録する必要があります。 - Claude Desktopでの利用
設定後、Claude Desktop内で指示を入力することで、登録したMCPサーバーの機能を利用できます。Claudeは、利用可能なツールを分析し、どのツールを使用するかを決定します。
具体的な流れ
ここでは、簡単な天気予報サーバーをPythonで構築する手順について解説していきます。OSはWindowsを使用しており、Pythonのバージョン3.10以上がインストール済みであることを前提としています。
Pythonのインストールが済んでいない場合は、Pythonのダウンロードサイトから、適切なバージョンを選択しインストールをしましょう。
1. Claudeのデスクトップアプリをインストール
デスクトップアプリをインストールしていない場合は、以下の手順に従い、インストールを行いましょう。
まず、ダウンロードページからファイルをダウンロードします。
次に、ダウンロードが完了したらファイルを開き、アプリのインストールを行います。
最後に、アプリのインストールも完了したら、アプリを開きアカウントのサインインをします。Googleアカウントなどでサインインが可能です。
2. 環境の設定
- PowerShellを起動
- プロジェクトを作成
uv init weather
cd weather
以上を順に実行することで、weatherという名前のプロジェクトを作成し、weatherに移動することができます。uvがインストールされていない場合は
pip install uv
を実行しましょう。
- 仮想環境の作成
uv venv
.\.venv\Scripts\activate
以上により、仮想環境を作成し、それを起動することができます。
- MCPのCLI 機能付きパッケージをインストール
uv add mcp[cli] httpx
- サーバーファイルの作成
new-item weather.py
3. サーバーの構築
weather.pyに以下の内容を書き込みます。これにより、天気警報や天気予報の情報を取得することができるようになります。
from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP
# Initialize FastMCP server
mcp = FastMCP("weather")
# Constants
NWS_API_BASE = "https://api.weather.gov"
USER_AGENT = "weather-app/1.0"
async def make_nws_request(url: str) -> dict[str, Any] | None:
"""Make a request to the NWS API with proper error handling."""
headers = {
"User-Agent": USER_AGENT,
"Accept": "application/geo+json"
}
async with httpx.AsyncClient() as client:
try:
response = await client.get(url, headers=headers, timeout=30.0)
response.raise_for_status()
return response.json()
except Exception:
return None
def format_alert(feature: dict) -> str:
"""Format an alert feature into a readable string."""
props = feature["properties"]
return f"""
Event: {props.get('event', 'Unknown')}
Area: {props.get('areaDesc', 'Unknown')}
Severity: {props.get('severity', 'Unknown')}
Description: {props.get('description', 'No description available')}
Instructions: {props.get('instruction', 'No specific instructions provided')}
"""
@mcp.tool()
async def get_alerts(state: str) -> str:
"""Get weather alerts for a US state.
Args:
state: Two-letter US state code (e.g. CA, NY)
"""
url = f"{NWS_API_BASE}/alerts/active/area/{state}"
data = await make_nws_request(url)
if not data or "features" not in data:
return "Unable to fetch alerts or no alerts found."
if not data["features"]:
return "No active alerts for this state."
alerts = [format_alert(feature) for feature in data["features"]]
return "\n---\n".join(alerts)
@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:
"""Get weather forecast for a location.
Args:
latitude: Latitude of the location
longitude: Longitude of the location
"""
# First get the forecast grid endpoint
points_url = f"{NWS_API_BASE}/points/{latitude},{longitude}"
points_data = await make_nws_request(points_url)
if not points_data:
return "Unable to fetch forecast data for this location."
# Get the forecast URL from the points response
forecast_url = points_data["properties"]["forecast"]
forecast_data = await make_nws_request(forecast_url)
if not forecast_data:
return "Unable to fetch detailed forecast."
# Format the periods into a readable forecast
periods = forecast_data["properties"]["periods"]
forecasts = []
for period in periods[:5]: # Only show next 5 periods
forecast = f"""
{period['name']}:
Temperature: {period['temperature']}°{period['temperatureUnit']}
Wind: {period['windSpeed']} {period['windDirection']}
Forecast: {period['detailedForecast']}
"""
forecasts.append(forecast)
return "\n---\n".join(forecasts)
if __name__ == "__main__":
# Initialize and run the server
mcp.run(transport='stdio')
4. サーバーとClaudeの接続
claude_desktop_config.jsonというファイルを編集し、接続の設定をしていきます。
VS Codeがインストールされている場合は、
code $env:AppData\Claude\claude_desktop_config.json
でファイルを編集することができます。インストールされていない場合は、以下の手順でファイルを開きましょう。
- 設定を開く
- 開発者の設定を開き、構成を編集をクリック
- 開かれたエクスプローラーからclaude_desktop_config.jsonを開く
claude_desktop_config.jsonファイルには以下の内容を書き込みます。なお、
"C:/Users/username/example/weather"
の部分はあくまで例ですので、自身のweatherディレクトリのパスに書き換えてください。
パスがわからない場合は、
pwd
と入力することで、PowerShell上での現在のディレクトリのパスが表示されるので、weatherディレクト上であることを確認した上で実行しパスを確認してください。
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"C:/Users/username/example/weather",
"run",
"weather.py"
]
}
}
}
5. 天気予報サーバーの利用
ここまでの設定をClaudeに反映させるために、アプリの再起動を行います。以下の画像のように、アプリの左上のメニューバーから「終了」を選択することで再起動ができます。
Claudeのアプリを再起動し、上手く接続が完了している場合はテキストボックスにハンマーアイコンが表示されるようになります。数字は使えるツールの数を示しています。
例えば、「サンフランシスコの天気は?」と聞くと5日分の天気予報を答えてくれます。参照元にない情報を答えることはできないので、アメリカ国内の天気を聞き、動作を確認してみましょう。
詳しい解説は、MCP公式のドキュメントをご参照ください。
エラーが出て、接続設定ができない場合はMCPデバッグガイドを確認しながら解決を目指しましょう。
また、以下のエラーメッセージからMCP設定を開き、ログフォルダを確認するとエラーの原因が特定しやすくなります。
「MCP設定を開く」を押すと以下のように設定が開かれます。「ログフォルダを開く」からログフォルダの確認ができます。フォルダ内のファイルをChatGPTやClaudeに読み込ませることで、原因を特定してくれることもあります。
▼累計1,000件以上の相談実績!お客様満足度96.8%!▼
Claude MCPの活用事例
Claude MCPの具体的な活用事例を2つご紹介します。
ローカルファイルへの情報の自動保存
先ほど構築した天気予報サーバーのweather.pyに以下の関数を追加し、get_alertやget_forecast関数で呼び出すようにすることで、得られた情報をローカルのjsonファイルに保存できるようにしてみました。
def save_to_file(data: dict[str, Any]):
try:
with open(SAVE_PATH, "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
except Exception as e:
print(f"Error saving file: {e}")
これにより、画像のようにローカルのファイルに得られた天気の情報を自動保存してくれるようになりました。
GitHubとの連携
MCPを使用すれば、ClaudeをGitHubと連携することも可能です。
MCPに基づいて構築されたGitHubのAPI用のサーバーをインストールするために以下のコマンドを実行します。
npm install -g @modelcontextprotocol/server-github
"github": {
"command": "node",
"args": [
"C:/Users//AppData/Roaming/npm/node_modules/@modelcontextprotocol/server-github/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
実際に使ってみた様子は以下の動画のようになります。リポジトリの作成や編集を指示するだけで自動的にやってくれるので、非常に便利です。
その他活用事例
X上でも、Claude MCPを活用した事例が多く報告されています。下記でいくつか紹介します。
これ騒がれてないけどすごいな。Claude CodeのMCPをデスクトップ版のClaudeと連携すれば、なんと「定額20ドル」の範囲内で擬似Cursorエージェントを動かせるらしい。PC内部ファイルの読み込みや編集・ターミナルの操作も可能。本家には及ばないけど金欠対策のコスパ重視選択肢としてはアリかと…👇🧵 pic.twitter.com/bUIshlPVSD
— すぐる | ChatGPTガチ勢 𝕏 (@SuguruKun_ai) March 22, 2025
🎵💿Built an MCP that lets Claude talk directly to Ableton. Now you can create music with just prompts!
Here’s a demo of me creating a lush, 80s synthwave track in just two prompts. It picks the right instruments, creates melodies, and adds effects like reverb and distortion 🔊 pic.twitter.com/fsE7iqthIq
— siddharth ahuja (@sidahuj) March 20, 2025
Blender MCP is here, allowing Claude to talk directly to Blender. For example, provide a 2D reference image and ask Claude to create it in 3D for you. pic.twitter.com/vxbIN6FFJ1
— Bilawal Sidhu (@bilawalsidhu) March 13, 2025
Claude MCPについてよくある質問まとめ
- Claude MCPは無料で使えますか?
MCP自体はオープンソースなので無料で使用することができます。
MCPを使って外部のデータベースやサービスをAIアプリケーションと接続した場合、AIアプリケーションで課金が必要になる場合はあります。
Claudeの場合は、無料で使用することもできますが、高度なモデルの利用制限を引き上げたい場合は課金が必要になります。
- ClaudeのWeb版でもMCPは使えますか?
2025年3月時点では、ClaudeのWeb版ではMCPによる外部接続はできません。
ClaudeのデスクトップアプリはMCPに対応しているため、ClaudeでMCPを使いたい場合はデスクトップアプリを利用する必要があります。
- MCPを使うのにプログラミングスキルは必要ですか?
基本的なセットアップ(サーバー起動など)には、ある程度の技術的な知識が必要です。 ただし、公式が用意したDockerコンテナなどを活用すれば、比較的簡単に始めることができます。
まとめ
Model Context Protocol(MCP)は、AIと外部データソースやサービスを安全かつ柔軟に接続できる、標準化されたプロトコルです。
ClaudeなどのAIアプリにMCPを導入することで、比較的簡単に外部のデータソースから情報を参照したり、外部のサービスに働きかけることができます。
設定は少し大変な部分もありますが、一度サーバーさえ構築してしまえば大幅に作業を効率化できることが実際に使用してみてわかりました。
AI Marketでは

AI Marketの編集部です。AI Market編集部は、AI Marketへ寄せられた累計1,000件を超えるAI導入相談実績を活かし、AI(人工知能)、生成AIに関する技術や、製品・サービス、業界事例などの紹介記事を提供しています。AI開発、生成AI導入における会社選定にお困りの方は、ぜひご相談ください。ご相談はこちら
𝕏:@AIMarket_jp
Youtube:@aimarket_channel
TikTok:@aimarket_jp
運営会社:BizTech株式会社
弊社代表 森下𝕏:@ymorishita
掲載記事に関するご意見・ご相談はこちら:ai-market-contents@biz-t.jp
