アントロピックが モデルコンテキストプロトコル (MCP) on 2024 年 11 月 25 日MCPは概念から実用的なエコシステムへと急速に移行しました。オープンな仕様と複数のリファレンスサーバーが利用可能で、コミュニティ実装(メモリサーバー、ファイルシステムアクセス、ウェブフェッチャー)はGitHubとNPM上にあり、MCPはすでに次のようなクライアントでサポートされています。 デスクトップ用クロード サードパーティ製ツールも利用可能です。プロトコルは進化しており(仕様とサーバー例は2025年まで更新されています)、ベンダーやエンジニアはより安全でトークン効率の高い統合のためのパターンを公開しています。
この記事では、MCPサーバーの構築と接続について説明します。 クロードデスクトップ、そして本番環境で必要となる実用的な/セキュリティ/メモリのヒント。
モデルコンテキストプロトコル (MCP) とは何ですか?
平易な英語の定義
モデルコンテキストプロトコル(MCP)は、 オープンで標準化されたプロトコル これにより、LLMホスト(モデルを実行するアプリ、例えばClaude Desktop)が外部サービスを呼び出すことが簡単になり、 リソース (ファイル、DB行)、 豊富なツール群 (モデルが呼び出せる関数)および プロンプト (モデルが使用できるテンプレート)。N×M 統合(すべてのモデルをすべてのツールに)を実装する代わりに、MCP は一貫したクライアントサーバースキーマとランタイムコントラクトを提供します。これにより、MCP 対応モデルホストは任意の MCP 準拠サーバーを使用できます。そのため、開発者は一度サービスを構築すれば、MCP 対応モデルまたは UI(例:Claude Desktop)でそれらを使用できるようになります。
MCPが今重要な理由
Anthropicが2024年後半にMCPをオープンソース化して以来、このプロトコルはツール統合(Claude、VS Code拡張機能、その他のエージェント環境)における事実上の相互運用性レイヤーとして急速に普及しました。MCPは重複作業を削減し、コネクタ(Google Drive、GitHub、Slackなど)の開発を加速させ、アシスタントへの永続メモリストアのアタッチを容易にします。
MCP アーキテクチャとは何ですか? また、どのように機能しますか?
大まかに言えば、MCP は 3 つのロール グループといくつかの相互作用パターンを定義します。
コアコンポーネント: クライアント、サーバー、レジストリ
- MCP クライアント (ホスト): コンテキストデータを必要とするLLMホストまたはアプリケーション(Claude Desktop、VS Codeエージェント、またはWebアプリ)。クライアントは1つ以上のMCPサーバーを検出し、接続します。
- MCP サーバー (リソース プロバイダー): MCPスキーマを介してリソース(ファイル、メモリ、データベース、アクション)を公開するネットワークサービス。サーバーは自身の機能を宣言し、クライアントが呼び出すことができるエンドポイントを提供します。
- レジストリ/ディスカバリー: クライアントが利用可能な MCP サーバーを検出し、機能を一覧表示し、アクセス許可またはインストールを管理するのに役立つオプションのコンポーネントまたは構成ファイル (デスクトップの「拡張機能」は、このための UX レイヤーの 1 つです)。
メッセージフローと機能ネゴシエーション
MCP のやり取りは通常、次のパターンに従います。
- 発見/登録: クライアントは、利用可能なサーバー (ローカル、ネットワーク、またはキュレートされたレジストリ) について学習します。
- 機能発表: サーバーは、リソース、メソッド、および承認要件を記述したマニフェストを共有します。
- リクエスト/レスポンス: クライアントは構造化されたリクエスト(「ファイル X を読み取る」、「メモリで Y を検索する」、「これらのファイルを使用して PR を作成する」など)を発行し、サーバーは入力されたコンテキスト データで応答します。
- アクション結果とストリーミング: サーバーは結果をストリーミングしたり、長時間実行される操作エンドポイントを提供したりできます。仕様では、型付きリソース記述子とレスポンスのスキーマが定義されています。
セキュリティモデルと信頼境界
MCPは意図的にコントロールサーフェスを標準化することで、LLMがユーザーデータに基づいてアクションを実行できるようにします。この強力な機能には、慎重なセキュリティ管理が必要です。
- 明示的なユーザー同意/プロンプト サーバーがプライベート データにアクセスしたり、特権アクション (リポジトリへの書き込みなど) を実行したりできる場合に推奨されます。
- 最小権限のマニフェスト: サーバーは最小限のスコープを宣言し、クライアントは必要な機能のみを要求する必要があります。
- トランスポートと認証: 機密性の高い統合には、TLS、トークン化された認証情報、ローカル専用のエンドポイントを使用してください。コミュニティとプラットフォームベンダー(WindowsのMicrosoftなど)は、リスク軽減のためにレジストリとUIアフォーダンスの実験を行っています。
Claude を MCP サーバーと統合する理由は何ですか?
Claude を MCP サーバーと統合すると、次の 3 つの実用的な機能クラスが利用できるようになります。
リアルタイムで実用的なコンテキスト
Claude は、古くなったスナップショットをコピーしてプロンプトに埋め込む代わりに、クエリ実行時に最新のコンテキスト(ファイル、会話履歴、DB 行)を要求できます。これにより、近似値の検索が減り、より最新の出力が得られます。Anthropic のデモでは、Claude が GitHub PR を作成したり、MCP 経由でローカルファイルを読み込んだりする様子が見られます。
巨大なアダプタではなく、小型で構成可能なツール
カレンダー用、ファイルシステム用、ベクターメモリストア用など、用途に特化したMCPサーバーを作成し、複数のClaudeインスタンスやクライアント(デスクトップ、IDE、Web)間で再利用できます。このモジュール性は、カスタム統合よりもスケーラビリティに優れています。
永続的かつ標準化されたメモリ
MCPはメモリサービスを実現します。これは、会話履歴、個人の嗜好、構造化されたユーザー状態をエンコードした永続的なストアです。MCPはリソースモデルを標準化するため、複数のクライアントが同じメモリサーバーを再利用し、アプリ間で一貫したユーザーコンテキストを維持できます。既にいくつかのコミュニティメモリサービスと拡張パターンが存在します。
より優れた UX とローカル制御 (Claude Desktop)
デスクトップクライアントでは、MCPによりローカルサーバーがユーザーのファイルシステムに直接アクセスできるようになります(ユーザーの同意が必要)。これにより、クラウドAPIを介さずにプライバシーに配慮した統合が可能になります。Anthropicのデスクトップ拡張機能は、ローカルマシンへのMCPサーバーのインストールと検出を簡素化する一例です。
MCPサーバーの作成方法
始める前に必要なもの
- クロードデスクトップ: お使いのOSに対応した最新のClaude Desktopリリースをインストールし、設定でMCP/拡張機能のサポートが有効になっていることを確認してください。一部の機能には有料プラン(Claude Proまたは同等のプラン)が必要となる場合があります。
- 開発者マシン: Node.js(16/18以上を推奨)、またはPython 3.10以上。テストのためにローカルサーバーをインターネットに公開する場合は、ngrokまたはローカルトンネリングソリューションも必要です。本番環境ではTLSを使用してください。
- MCP プロジェクトは、メイン ドキュメントと GitHub リポジトリで SDK とテンプレートを提供しています。docs/repo の公式手順に従って Python または Node SDK をインストールしてください。
オプションA - 既存の(例)MCPサーバーをインストールする
Anthropic は、メモリ、ファイルシステム、ツールを含むサンプル サーバーを提供します。
参照サーバーを複製します。
git clone https://github.com/modelcontextprotocol/servers.git
cd servers
中には次のようなフォルダがあります:
filesystem/
fetch/
memory/
weather/
サンプル サーバーをインストールするには:
cd memory
npm install
npm run dev
これにより、通常次の場所で MCP サーバーが起動します。
http://localhost:3000
マニフェスト エンドポイントが機能し、ツールを呼び出すと適切に入力された JSON が返されることを確認します。
オプション B - 独自の MCP サーバーを作成する (学習用に推奨)
1) プロジェクトフォルダを作成する
mkdir my-mcp-server
cd my-mcp-server
npm init -y
2) MCPサーバーSDKをインストールする
npm install @modelcontextprotocol/server
3) 基本的なサーバーファイルを作成する
創造する server.js:
touch server.js
最小限の MCP サーバー実装を貼り付けます。
import { createServer } from "@modelcontextprotocol/server";
const server = createServer({
name: "my-custom-server",
version: "0.1.0",
tools: [
{
name: "hello_world",
description: "Returns a simple greeting",
input_schema: {
type: "object",
properties: {
name: { type: "string" }
},
required:
},
output_schema: {
type: "object",
properties: {
message: { type: "string" }
}
},
handler: async ({ name }) => {
return { message: `Hello, ${name}!` };
}
}
]
});
server.listen(3000);
console.log("MCP server running on http://localhost:3000");
これは フルMCPサーバー 単一のツールを公開する: hello_world.
Claude Desktop を MCP サーバーに接続するにはどうすればよいですか?
以下は、シンプルなMCPサーバーを作成し、Claude Desktopに登録する実践的なチュートリアルです。このセクションは実践的な内容で、環境設定、サーバーマニフェストの作成、クライアントが期待するエンドポイントの公開、そしてサーバーを使用するためのClaude Desktopの設定について解説します。
1) Claude Desktop開発者接続エリアを開く
Claude Desktopの場合: 設定 → 開発者 (または 設定 → コネクタ (クライアントのビルドによって異なります)。リモート/ローカル MCP サーバーを追加するオプション、または「コネクタを追加」オプションがあります。正確な UI はリリース間で変更される場合があります。表示されない場合は、デスクトップの「開発者」メニューまたは最新のリリースノートを確認してください。

2) ローカルサーバーを構成する場合: 構成ファイルを作成するか、見つけます
Claudeデスクトップアプリケーションを起動すると、検出されたすべてのMCPサーバーの設定がClaudeDesktopConfig.jsonというファイルに自動的に保存されます。まず、このファイルを探して開くか、まだ存在しない場合は作成します。
Windows ユーザーの場合、ファイルは「%APPDATA%\Claude\claude_desktop_config.json」にあります。
Mac ユーザーの場合、ファイルは「~/Library/Application Support/Claude/claude_desktop_config.json」にあります。
3) Claude Desktopにサーバーを追加する
Claude Desktop に MCP サーバーを認識させる UX パターンは 2 つあります。
デスクトップ拡張機能 / ワンクリックインストーラーAnthropicは、マニフェストとインストーラーをパッケージ化した「デスクトップ拡張機能」を公開しています。これにより、ユーザーはワンクリックでサーバーを追加できます(より広範な配布に推奨)。マニフェストとサーバーのメタデータをパッケージ化することで、簡単にインストールできます。
ローカルサーバーの登録(開発者モード): ローカルテストの場合:
- マニフェストを既知のローカルパスに配置するか、
https://localhost:PORT/.well-known/mcp-manifest.json. - Claude Desktop の設定で、MCP/拡張機能パネルを開き、「ローカル サーバーの追加」または「URL によるサーバーの追加」を選択して、マニフェスト URL またはトークンを貼り付けます。
- クライアントからのプロンプトに応じて必要な権限を付与します。Claude はサーバーのリソースを列挙し、利用可能なツール/メモリとして提示します。
ここで、ローカル MCP のインストールを選択します。追加する mcpServers サーバー名と起動するための絶対パス/コマンドが記載されています。保存してClaude Desktopを再起動してください。
再起動後、ClaudeのUIにMCPツール(検索とツールアイコン)が表示され、公開されている操作(例:「サクラメントの天気は?」)をテストできます。ホストがサーバーを検出しない場合は、 mcp.log ファイルと mcp-server-<name>.log STDERR 出力用。
4)統合をテストする
Claude チャットで次のように入力します。
Call the hello_world tool with name="Alice"
Claude は MCP サーバーを呼び出して、ツールの出力を使用して応答します。
MCP 経由でメモリ サービスを実装するにはどうすればよいですか (高度なヒント)?
メモリサービスは、セッションをまたいでユーザーコンテキストを永続的に表示できるため、MCPサーバーの中でも最も強力なものの一つです。以下のベストプラクティスと実装のヒントは、仕様、Claudeドキュメント、そしてコミュニティパターンを反映しています。
メモリデータモデルと設計
- 構造化 vs. 非構造化: 構造化された事実(例:名前、好みのフラグ)と非構造化会話チャンクの両方を保存します。型付きメタデータを使用することで、高速フィルタリングが可能になります。
- チャンキングと埋め込み: 長い文書や会話を意味的にまとまりのあるチャンクに分割し、ベクトル埋め込みを保存することで類似検索をサポートします。これにより、再現率が向上し、検索時のトークン使用量が削減されます。
- 新しさと顕著性のシグナル: タイムスタンプと顕著性スコアを記録し、最近の記憶や顕著性が高い記憶を優先するクエリを許可します。
- プライバシータグ: クライアントが同意を求めることができるように、アイテムに機密ラベル (プライベート、共有、一時的) のタグを付けます。
メモリ操作のAPIパターン
少なくとも 3 つの操作を実装します。
write: メタデータを含むメモリ項目を受け入れ、確認応答とストレージ ID を返します。query: 自然言語クエリまたは構造化フィルターを受け入れ、上位 k 個の一致するメモリを返します (オプションで説明可能性メタデータ付き)。delete/update: ライフサイクル操作と明示的なユーザーによる忘れ去る要求をサポートします。
応答を設計して、来歴(メモリの出所)と信頼性/類似性スコアを含めることで、クライアントとモデルがメモリをどの程度積極的に使用するかを決定できるようにします。
クロードのための検索拡張戦略
- 短いコンテキスト ウィンドウ: 完全なドキュメントの代わりに簡潔なメモリ スニペットを返します。必要に応じて、Claude が完全なコンテキストを要求できるようにします。
- 要約レイヤー: 必要に応じて、各メモリの短いサマリーを保存してトークン数を削減します。書き込み時には増分サマリーを使用します。
- 制御された注入: モデルにすべてを詰め込むのではなく、クライアントがプロンプトに選択的に挿入できる接続可能な「コンテキスト バンドル」としてメモリを提供します。
メモリ MCP の安全性とガバナンス
- 同意と監査証跡: 記憶が作成された日時と、ユーザーがモデルとの共有に同意したかどうかを記録します。Claude Desktop では、記憶の確認と取り消しを容易にする明確な UI アフォーダンスを提供します。
- レート制限と検証: 型を検証し、サーバーからの予期しないコード実行要求を禁止することで、プロンプトインジェクションやデータの流出を防御します。
- 保存時および転送中の暗号化: 保存されたアイテムには強力な暗号化を使用し、すべてのMCPエンドポイントにはTLSを使用します。クラウドベースのストアの場合は、エンベロープ暗号化または顧客管理キー(利用可能な場合)を使用します。
結論:Claude DesktopでMCPサーバーを構築する方法
この記事は、ゼロから Claude + メモリ サーバーをラップトップで動作させるためのコンパクトで実用的なレシピです。
- ワークフローをテストします。 クロードに短い事実を「思い出す」ように指示し、サーバーに保存されていることを確認します。その後、クロードに、後でその事実を思い出すように指示します。ログを観察し、検索順位を調整します。
- インストールの前提条件: Node.js >= 18、Git、Claude Desktop (最新)。
- 参照サーバーのクローンを作成します。 フォークする
modelcontextprotocol/serversGitHub 上の例またはコミュニティ メモリ サーバー。 - インストールして実行:
npm install→npm run dev(またはリポジトリのREADMEに従ってください)。マニフェストのエンドポイントを確認してください(例:http://localhost:3000/manifest) はJSONを返します。() - Claude Desktop でコネクタを登録します。 設定 → 開発者 / コネクタ → コネクタを追加 → をポイント
http://localhost:3000スコープを承認します。
Claude (または任意のホスト) を MCP サーバーと統合すると、コネクタを一度構築するだけで、MCP クライアント (Claude Desktop、IDE、その他のエージェント フレームワーク) 全体で使用できるようになります。これにより、メンテナンスが大幅に軽減され、ツール間の機能の整合性が向上します。
開発者は、claude AIの最新のAPI(この記事の公開日時点)にアクセスすることができます。 クロード・ソネット 4.5 API および クロード・オプス 4.1 API CometAPIを通じて、 最新モデルバージョン 公式ウェブサイトで常に更新されています。まずは、モデルの機能について調べてみましょう。 プレイグラウンド そして相談する APIガイド 詳細な手順についてはこちらをご覧ください。アクセスする前に、CometAPIにログインし、APIキーを取得していることを確認してください。 コメットAPI 統合を支援するために、公式価格よりもはるかに低い価格を提供します。
準備はいいですか?→ 今すぐCometAPIに登録しましょう !
