MCPを、理解から安全な本番接続まで
APIとの違い、Tool設計、Python実装、リモート化、REST API・データベース連携を、動くコードと運用上の境界から学びます。
このガイドの目的
MCPを流行語として覚えるのではなく、どこに置き、何を任せ、どこで制御するかを判断できる状態を目指します。
- 公開記事
- 07
- 今後の追加テーマ
- 03
LEARNING TRACK
役割と設計を理解する
MCP、API、Function Callingの責務を分け、Tools・Resources・Promptsを選べるようにします。
- MCPMCPとは?API・Function Callingとの違いを初心者向けに図解MCP(Model Context Protocol)の役割を、REST APIやFunction Callingとの違いから初心者向けに解説します。Host・Client・Serverの関係、処理の流れ、MCPが向くケースと不要なケースを整理します。
- MCPMCPのTools・Resources・Promptsの違いと使い分け:タスク管理サービスで学ぶ設計判断MCPのTools・Resources・Promptsを、単なる「処理・データ・指示」ではなく、モデル・アプリケーション・ユーザーの誰が利用を開始するかで整理します。タスク管理サービスを例に、読み取り専用ToolとResourceの境界、Promptによるワークフロー、AIが選びやすいTool名・description・Schemaの設計まで解説します。
LEARNING TRACK
最小構成を作って接続する
公式Python SDKでToolを公開し、stdioのライフサイクルとクライアント設定を確認します。
- MCPPython公式SDKで最小のMCPサーバーを作る:create_task Toolをstdioで公開するPython公式MCP SDKのFastMCPを使い、入力検証・JSON保存・構造化出力・ToolErrorを備えたcreate_task Toolを実装します。MCP InspectorでSchemaを確認し、stdio経由でAIクライアントから呼び出すところまで解説します。
- MCPMCPサーバーをAIクライアントに接続する方法:stdioの仕組みから設定・Tool実行まで解説Filesystem MCP ServerをClaude Desktopへ接続するハンズオンを通して、command・args・envの意味、stdioによるプロセス間通信、initialize、tools/list、tools/callの流れを解説します。接続エラーをプロセス起動とMCP通信に分けて調査する方法も紹介します。
LEARNING TRACK
既存システムへ安全につなぐ
Streamable HTTP、REST API、データベースへ範囲を広げ、認可・監査・トランザクションまで扱います。
- MCPMCPサーバーをStreamable HTTPでリモート化する方法:Python・SSE・Docker対応stdio形式のMCPサーバーを、複数クライアントがURLで利用できるStreamable HTTPサービスへ移行します。Python SDKによる実装、セッション、JSONとSSE、Docker、Origin検証、CORS・TLS・認証の違いまで解説します。
- MCP【実装】既存REST APIをMCPサーバー化する:Pythonでタスク管理APIをAIから操作する公開GitHubサンプルを使い、既存のFastAPI製タスク管理APIをMCP Python SDKとhttpxでAIから操作できるようにします。cloneから起動、入力Schema、構造化出力、安全なエラー変換、stdio、Inspector、Codex、3層のpytestまで、実装と再現手順を日英で解説します。
- MCP【実装】データベースに接続するMCPサーバー:SQLiteとMySQLで安全なCRUD Toolを作る任意SQLをAIへ公開せず、目的別MCP Tool、入力検証、パラメータ化クエリ、最小権限、トランザクション、署名付き確認トークンを組み合わせて、安全なCRUDをSQLiteとMySQLで実装します。
ROADMAP / NEXT
今後の追加テーマ
- リモートMCPの認証・認可
- ログ・メトリクス・監査
- 接続エラーの診断