LoginJoin GenScrap
公開ギャラリーに戻る
出典: k1ito-tech作成者: k1ito2 months ago

##MCPサーバーとは?かんたん説明

MCP(Model Context Protocol)サーバーは、AI(とくに大きな言葉を扱うモデル:LLM)が、人間の代わりに外部の情報やツールとやりとりできる「通り道」をつくる仕組みです。たとえるなら「AI用のUSB-Cケーブル」です。 これはAnthropic(アンソロピック)という会社が2024年11月に公開した、誰でも使える(オープンな)仕組みです。(saketnkzw.com)


##MCPの仕組み:関係者の役割

MCPは、以下3つの役割で成り立っています:

  1. ホスト (Host) → AIアシスタントそのもの(例:Claude Desktop、IDEのAI機能) → ユーザーの命令を受けて、どの情報が必要か判断します。(Qiita)

  2. クライアント (Client) → ホストとサーバーをつなぐ“橋渡し役”。 → ホスト側にあって、適切な指示をMCPサーバーに送ります。(Qiita, ウィキペディア)

  3. サーバー (Server) → 実際の情報やツールを持っていて、それをクライアント経由でAIに提供する“情報の倉庫”。 → 必要なデータや機能(たとえば天気情報やファイル読み込み)を返します。(Qiita, ウィキペディア, ウィキペディア)

つまり、ホスト → クライアント → サーバー → クライアント → ホストという流れで、データのやりとりをする構成です。


##なぜ注目されているの?メリットまとめ


## イメージで視覚化

まるで「AI用のUSB‑Cケーブル」のような仕組み。 USB‑Cで機器とつなげば、何でもデータがやりとりできるように、 MCPを使えばAIが遠くのツールや情報にアクセスできるようになります。(GitHub)


##簡単な使い方の流れ(例:天気情報を取得するMCPサーバー構築)

たとえばこんな使い方があります:

  1. 天気を知らせるための「get_forecast」や「get_alerts」などの機能を持つMCPサーバーを用意する。(Model Context Protocol)
  2. クライアント(例:Claude Desktopなど)にそのサーバーを登録。
  3. ユーザーが「今日の天気は?」と聞くと、AIがMCPを通じて情報を取得して答えてくれる。

##入門ポイントまとめ

用語説明(一言)
MCPAIと情報をつなぐ共通ルール
Hostユーザーの命令を扱うAI本体
ClientHostとServerをつなぐ橋渡し
Server情報や機能を持つ倉庫

いいね!じゃあ「手を動かせる・非エンジニア向け」の超やさしい実例つきガイドいきます。コードは“貼って動かす”最短ルートにして、必要なところだけ軽く説明します。


#MCPサーバーを作って動かす:いちばんカンタンな道筋

##0) MCPって何をする?

  • AI(Claudeなど)から安全に外部ツールやデータに触るための共通ルール
  • 仕組みの全体像と「Claude Desktopにサーバーをつなぐ手順」は公式クイックスタートが非常に分かりやすいです。 (Model Context Protocol)

##1) どのやり方を選ぶ?

初心者にやさしい順に3パターンあります。

  1. 既製サーバーを入れる(最短) 例:ファイル閲覧用の「Filesystemサーバー」をClaude Desktopに追加。数分で“体験”できます。 (Model Context Protocol)
  2. テンプレから自作(かんたん) TypeScript(Node.js)やPythonの雛形リポジトリを使うと、コピペ中心で自作できます。 (GitHub)
  3. クラウドに公開(応用) 作ったサーバーをVercelに配置すれば、URLでつないでどこからでも使えます。認証・スケールも面倒見てくれます。 (Vercel)

まずは①→②→③と段階を踏むのがおすすめです。


##2) まずは体験:既製サーバーをClaudeに入れてみる(数分)

Claude Desktop を開き、**Settings →(Developer または Extensions)からMCPサーバーを追加します。公式の「ローカルMCPサーバー接続ガイド」が画面つきで丁寧です。最近はワンクリックの“Desktop Extension(.dxt)”**にも対応してきています。 (Model Context Protocol, Anthropic Help Center, Reddit)


##3) 実例①:超最小の“お天気”サーバー(Node.js/TypeScript)

公式チュートリアルの流れを、初心者向けに最短コードに絞ったものです。 (Model Context Protocol)

###準備

bash
# 任意の空フォルダで npm init -y npm i @modelcontextprotocol/sdk fastmcp typescript ts-node npx tsc --init

###サーバーコード(server.ts

ts
import { Server } from "fastmcp"; // 1) サーバー作成(stdioで動かす) const app = new Server({ name: "weather-demo", version: "1.0.0" }); // 2) "get_weather" という道具(ツール)を1個だけ用意 app.tool("get_weather", { description: "都市名を入れるとダミーの天気を返すよ", inputSchema: { type: "object", properties: { city: { type: "string" } }, required: ["city"] }, execute: async ({ city }) => { // 本当はAPIを呼ぶが、まずは固定値で体験する return { summary: `${city} は 25℃ / 晴れ(デモ値)` }; }, }); // 3) 起動(stdio) app.startStdio();

###実行

bash
npx ts-node server.ts

##4) Claude Desktop とつなぐ(ローカル接続)

Claude Desktop の設定で**「カスタム(ローカル)MCPサーバー」として今のプロセス(stdio)を登録します。手順は公式の「ローカルMCPをつなぐ」ドキュメントが確実です。登録後にClaudeを再起動すると、チャット画面のツール一覧にget_weather**が出ます。 (Model Context Protocol)

もしURL経由のリモート接続をしたい場合は、Custom ConnectorからURLを追加する方式が用意されています。 (Model Context Protocol)


##5) 実例②:同じことをPythonで(お好みで)

Alex MercedさんのPythonによる基本MCPサーバー解説が読みやすいです。以下は「最低限の一個ツール」パターン。 (Medium)

###準備

bash
pip install fastmcp

###サーバーコード(server.py

python
from fastmcp import Server app = Server(name="weather-demo", version="1.0.0") @app.tool() def get_weather(city: str) -> dict: """都市名を受け取り、ダミーの天気を返す""" return {"summary": f"{city} は 25℃ / 晴れ(デモ値)"} if __name__ == "__main__": app.start_stdio()

###実行

bash
python server.py

あとは手順4と同様にClaude Desktopへ登録して使えます。 (Model Context Protocol)


##6) 便利なテンプレ&参考集

  • テンプレ(TypeScript / FastMCP入り)mcpdotdirect/template-mcp-server — stdio/HTTP両対応、ツールやリソース、プロンプトの雛形まで入っています。最短で“自分用サーバー”に化けます。 (GitHub)
  • 公式の参照実装とサーバーギャラリー: いろんな用途のサーバーがまとまっており、「こう作るのか」のカタログとして便利。 (GitHub)

##7) クラウド公開(応用):Vercelにデプロイ → URLで接続

ローカルで動かせたら、次はVercelに置いてURL接続してみましょう。Functionsでスケールし、OAuth/認可もガイドあり。Claude側は**Settings→Integrations(またはDeveloper)**からURLを登録するだけ。 (Vercel, weavely.ai)


##8) 困ったときのヒント

  • Claude Desktop の再起動で拾われることが多い(ツールが見えない時)。 (MESA)
  • Windowsでの再起動や設定場所のコツをまとめたコミュニティTipsも参考に。 (YouTube, Reddit)

##9) 何ができるようになる?

MCPは**「AIに手足を生やす」**ようなもの。ファイル操作、社内API、データベース、SaaSなど、一度“サーバー”として生やせば、Claudeなど複数のクライアントから共通ルールで使い回せるのが最大の効用です。背景や事例の概観はこちらが読みやすいです。 (The Verge)


#まとめ(今日やるアクション)

  1. まずは既製サーバーをClaudeに入れて体験(1日目) (Model Context Protocol)
  2. 次に最小サーバーを自作(TypeScriptかPythonのどちらかでOK) (Model Context Protocol, Medium)
  3. 気に入ったらテンプレで整理し、Vercelに公開してURL接続(2〜3日目) (GitHub, Vercel)

必要なら、あなたのユースケース(社内データ参照、RAG呼び出し、業務システム連携、など)に合わせて具体的なツール設計まで一気に作ります。やりたいことを教えてくれれば、上の最小サンプルをそのまま“本番の骨格”に育てます。

このスクラップブックについて
こちらもおすすめ

「k1ito-tech」の他のスクラップ

diskcache

いい選択です 👍 diskcache は ディスクにキャッシュを保存できるライブラリ で、メモリを圧迫せずに大量のデータをキャッシュできます。しかも API がシンプルで、Webアプリや機械学習の前処理結果キャッシュなどにもよく使われます。 --- インストール bash pip inst...

about 1 month ago
#python caching#diskcache+3

Best mcp server development sdk?

If by “MCP server” you mean a server implementing the Model Context Protocol (MCP) to allow LLMs / AI agents to interact with external tools/data sour...

about 1 month ago
#model context protocol#mcp sdk+3

# [2508.20722] rStar2-Agent: Agentic Reasoning Technical Report

[2508.20722] rStar2-Agent: Agentic Reasoning Technical Report URL: https://www.arxiv.org/abs/2508.20722 Captured: 2025/9/6 17:39:22 --- Computer ...

about 2 months ago
#agentic reinforcement learning#large language models+3

Daytona Sandbox:開発環境の新たな可能性

Daytona Sandbox:開発環境の新たな可能性 Daytona Sandboxとは Daytona Sandboxは、開発者がクラウド上で瞬時に開発環境を構築・共有できる革新的なプラットフォームです。従来のローカル開発環境の制約を取り払い、どこからでもアクセス可能な統一された開発体験...

about 2 months ago
#daytona#sandbox+3

E2B example in Python

step-by-step E2B example in Python that shows stateful execution, installing packages, uploading a file, and doing a quick SQLite query—all inside a s...

about 2 months ago
#e2b#python+3

# Agentic workflow patterns - AWS Prescriptive Guidance

Agentic workflow patterns integrate modular software agents with structured large language model (LLM) workflows, enabling autonomous reasoning and ac...

2 months ago
#aws#agentic ai+3

自分の投稿を作成してみませんか?

Get Started