🔌 Socketlist

PythonでMCPサーバーを自作する方法(10分で完成)

公式のPython SDKとMCPServerを使って、最小構成のMCPサーバーを作成・テスト・接続する方法と設計のコツ。

SDKを選ぶ

公式SDKはTypeScript、Python、C#、Java、Kotlin、Goなど多くの言語で提供されています。このガイドでは公式Python SDK 2.x(Python 3.11以上が必要)を使います。以前の1.x系では、MCPServerの代わりにmcp.server.fastmcpのFastMCPを使っていました。

1. プロジェクトを準備する

uv init demo && cd demo
uv add "mcp[cli]"

2. サーバーを書く

ツールは型ヒントとdocstringを付けた普通の関数です。SDKがそれをツールのスキーマと説明に変換します。mcp.run()でstdioサーバーが起動します。

# server.py
from mcp.server import MCPServer

mcp = MCPServer("demo")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers."""
    return a + b

if __name__ == "__main__":
    mcp.run()

3. テストする

MCP Inspectorで開くと、Web画面からツールを呼び出して試せます。

uv run mcp dev server.py

4. クライアントにつなぐ

パスは絶対パスで指定します。Claude DesktopとCursorではこのエントリーを使います。Claude Codeではclaude mcp add demo -- uv run --with "mcp[cli]" mcp run /絶対パス/server.pyを実行します。

{
  "mcpServers": {
    "demo": {
      "command": "uv",
      "args": ["run", "--with", "mcp[cli]", "mcp", "run", "/absolute/path/to/server.py"]
    }
  }
}

設計のコツ

関連ガイド

Claude Desktop向けおすすめMCPサーバー(2026年) · Cursor向けおすすめMCPサーバー(2026年)

週刊MCPダイジェスト – 新着・話題のMCPサーバーをメールでお届けします。