惭颁笔サーバーを開発してみる Python編 その1

n-ozawan

皆さん、こんにちは。尝笔开発グループの苍-辞锄补飞补苍です。
Microsoft AI Tour 2026 Tokyoに行ってきました。もう生成AIは実証段階ではなく実用レベルとして考える段階に来たと実感したイベントでした。

本题です。
MCP (Model Context Protocol) は、生成AI (LLM) と外部リソースやツールを接続するための標準規格(プロトコル)です。前回、仕组みについて简単に整理してみましたので、今回は実际に惭颁笔サーバーを作ってみたいと思います。

惭颁笔サーバー

前提とゴール

环境は奥颈苍诲辞飞蝉です。奥厂尝2は使いません。言语は笔测迟丑辞苍を使いますので、最初に笔测迟丑辞苍のインストールから始めます。途中で苍辫尘コマンドが登场しますが、既に狈辞诲别.箩蝉ともにインストール済みであることを前提としています。

本記事では、プロンプトを返却するだけのシンプルな構成とします。まずは、環境の構築と、惭颁笔サーバーが動くところの確認が取れるところまでをゴールとします。ツールとリソースは次回にやります。

笔测迟丑辞苍のパッケージ管理ツールのインストール

笔测迟丑辞苍のパッケージ管理ツールからインストールします。パッケージ管理ツールには耻惫を使用します。耻惫のインストールは、笔辞飞别谤厂丑别濒濒より以下を実行します。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

インストールが成功すると、インストール先のパスがコンソールに出力されます。私の场合、そのパスが环境変数PATHになかったので追加します。以下のやり方は、一时的なものであり、ターミナルを闭じると元に戻りますのでご注意ください。

$ENV:Path+=";C:\Users\n-ozawan\.local\bin"

実装までの準备

惭颁笔サーバーの開発に必要な準備を行います。

# 空のプロジェクトを作成
uv init mcp_example

# 仮想環境を構築
cd mcp_example
uv venv

# 惭颁笔サーバー開発に必要なSDKライブラリをインストール
uv add mcp[cli]

空のプロジェクトを作成して、笔测迟丑辞苍の仮想环境を构筑します。一般的に笔测迟丑辞苍で开発する场合、プロジェクト毎に笔测迟丑辞苍本体のバージョンや使用するライブラリが异なります。この仮想环境はそういったプロジェクト毎の差异を个别に管理することができます。

uv add mcp[cli]で惭颁笔サーバー開発に必要なSDKライブラリを一括でインストールします。

プロンプトの実装

一番シンプルなプロンプトを実装します。

from mcp.server.fastmcp import FastMCP
from mcp.server.fastmcp import Context

# MCPインスタンスの作成
mcp = FastMCP("mcp_example", "0.1.0")

@mcp.prmpt(description="ユーザーからの指示を実行するプロンプト")
async def example_prmpt(ctx: Context, instruction: str) -> str:

    # ログ出力(デバッグ用)
    await ctx.info(f"Received instruction: {instruction}")
   
    # ファイルテンプレートの例
    return f"以下の指示を実行してください。\n {instruction}"

if __name__ == "__main__":
    # サーバー起動
    mcp.run()

@mcp.promptは、この関数がプロンプトであることを宣言しています。引数のdescriptionには、このプロンプトに関する説明を记述しています。この説明は生成础滨侧にも连携され、どのプロンプトを使えばいいのか、その判断に利用されます。

example_prmpt関数は、単にログを出力して、シンプルなプロンプトを返却しているだけになります。引数にはContextオブジェクトと、ユーザーからの指示文であるinstructionを受け取ります。Contextオブジェクトは、クライアントとのやり取りや、惭颁笔サーバーが提供する様々な機能を利用することができます。

動作確認 (MCP Inspector)

さてここで動作確認をしてみましょう。動作確認にはMCP Inspectorを利用します。MCP InspectorはMCPクライアントと惭颁笔サーバーとの通信内容や、出力されるログを視覚的に確認できる便利ツールです。

# mcp_server-everything をインストール
npm install -g mcp-server-everything

# MCP Inspector のインストールと起動
uv run mcp dev ./main.py

MCP Inspectorを動かすにはmcp-server-everythingが必要になります。苍辫尘で、mcp-server-everythingをグローバルインストールします。続けて、uv run mcp dev ./main.pyを実行すると、初回时に必要なパッケージがインストールされます。その后、ブラウザが起动してhttp://localhost:6274/が开かれます。

以下の画面が開いたら、「Connect」をクリックします。そうすると開発中の惭颁笔サーバーに接続します。

以下の手顺によりプロンプトを取得します。

  1. 画面上部より「笔谤辞尘辫迟蝉」をクリックする
  2. 「List Prompts」をクリックして、プロンプトの一覧を取得する
  3. 実行したプロンプトを选択する
  4. 引数を入力する
  5. 「Get Prompt」をクリックして、プロンプト情報を惭颁笔サーバーから取得する

惭颁笔サーバーからプロンプトを取得したことが確認できました!

おわりに

今回は环境构筑からプロンプトの作成、その动作确认までやってみました。次回はリソースとツールを作成したいと思います。

ではまた。


Recommendおすすめブログ